@auto-engineer/server-generator-apollo-emmett 1.123.0 → 1.124.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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +4 -4
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +43 -0
- package/dist/src/codegen/templates/command/decide.specs.ts +14 -6
- package/dist/src/codegen/templates/command/decide.ts.ejs +5 -3
- package/dist/src/codegen/templates/command/state.specs.ts +1 -1
- package/dist/src/codegen/templates/command/state.ts.ejs +1 -1
- package/dist/src/codegen/templates/query/projection.specs.specs.ts +2 -0
- package/dist/src/codegen/templates/query/projection.specs.ts +6 -0
- package/dist/src/codegen/templates/query/projection.specs.ts.ejs +4 -1
- package/dist/src/codegen/templates/query/projection.ts.ejs +2 -0
- package/package.json +4 -4
- package/src/codegen/templates/command/decide.specs.ts +14 -6
- package/src/codegen/templates/command/decide.ts.ejs +5 -3
- package/src/codegen/templates/command/state.specs.ts +1 -1
- package/src/codegen/templates/command/state.ts.ejs +1 -1
- package/src/codegen/templates/query/projection.specs.specs.ts +2 -0
- package/src/codegen/templates/query/projection.specs.ts +6 -0
- package/src/codegen/templates/query/projection.specs.ts.ejs +4 -1
- package/src/codegen/templates/query/projection.ts.ejs +2 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-generator-apollo-emmett@1.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.124.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/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-generator-apollo-emmett@1.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.123.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
|
[1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/auto-engineer/auto-engineer/packages/server-generator-apollo-emmett[39m
|
|
7
7
|
|
|
8
|
-
[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[
|
|
8
|
+
[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[2m[90m-[39m[22m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m[33m[39m[32m·[39m
|
|
9
9
|
|
|
10
10
|
[2m Test Files [22m [1m[32m34 passed[39m[22m[2m | [22m[33m1 skipped[39m[90m (35)[39m
|
|
11
11
|
[2m Tests [22m [1m[32m253 passed[39m[22m[2m | [22m[33m1 skipped[39m[90m (254)[39m
|
|
12
|
-
[2m Start at [22m
|
|
13
|
-
[2m Duration [22m
|
|
12
|
+
[2m Start at [22m 13:15:09
|
|
13
|
+
[2m Duration [22m 33.88s[2m (transform 6.25s, setup 0ms, collect 67.65s, tests 16.57s, environment 8ms, prepare 6.25s)[22m
|
|
14
14
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-generator-apollo-emmett@1.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.123.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,48 @@
|
|
|
1
1
|
# @auto-engineer/server-generator-apollo-emmett
|
|
2
2
|
|
|
3
|
+
## 1.124.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`5598a2a`](https://github.com/BeOnAuto/auto-engineer/commit/5598a2a3fc9b0eb012418ad5fec36920a0015045) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: rewrite system prompt with emmett patterns and import rules
|
|
8
|
+
- **server-implementer**: extract shared buildContextSections utility
|
|
9
|
+
- **server-implementer**: extract shared loadContextFiles utility
|
|
10
|
+
- **server-implementer**: change loadSharedContext to return Record<string, string>
|
|
11
|
+
- **server-implementer**: add ketchup plan for generator/implementer hardening
|
|
12
|
+
|
|
13
|
+
- [`432a674`](https://github.com/BeOnAuto/auto-engineer/commit/432a67401bc2547938173f2a5581b761c7c24457) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: add shared findFilesToImplement with priority ordering
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`eadca44`](https://github.com/BeOnAuto/auto-engineer/commit/eadca44c44f5e9b75fc9fae66d116b964635845c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: use Date default instead of null in projection specs
|
|
18
|
+
|
|
19
|
+
- [`6e5085a`](https://github.com/BeOnAuto/auto-engineer/commit/6e5085a538ab40614149d6b2cbf376b51078f661) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: typed variable return pattern in decide template
|
|
20
|
+
|
|
21
|
+
- [`4c9dcd5`](https://github.com/BeOnAuto/auto-engineer/commit/4c9dcd5cfa2a5fbaba6e04414181dd89f2a7b76b) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: mark all structural fix bursts as done in ketchup plan
|
|
22
|
+
|
|
23
|
+
- [`91ff56c`](https://github.com/BeOnAuto/auto-engineer/commit/91ff56c6cc7d8b8ead31ea61c52fcaa996c6343e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: update missed projection spec snapshot
|
|
24
|
+
|
|
25
|
+
- [`0281ce0`](https://github.com/BeOnAuto/auto-engineer/commit/0281ce022c94149c093ded3d1f6c1a3cf7aba691) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: strengthen system prompt for scaffolded structure
|
|
26
|
+
|
|
27
|
+
- [`c081fe8`](https://github.com/BeOnAuto/auto-engineer/commit/c081fe8485b26c5339442c1a19d0e9161061d4cb) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **global**: replace claude with gemini
|
|
28
|
+
- **global**: version packages
|
|
29
|
+
|
|
30
|
+
- [`396d141`](https://github.com/BeOnAuto/auto-engineer/commit/396d14171aa378396308fd3d7003195ecfa65769) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: add structural guard to projection template
|
|
31
|
+
|
|
32
|
+
- [`e0fc22f`](https://github.com/BeOnAuto/auto-engineer/commit/e0fc22f173ec87502c6fd081653026a43c9b08d8) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: update ketchup plan for structural generator/implementer fixes
|
|
33
|
+
|
|
34
|
+
- [`1dc4f85`](https://github.com/BeOnAuto/auto-engineer/commit/1dc4f85391d843ba423d28332f684296c5bbd8e6) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: remove unused project references from tsconfig.json
|
|
35
|
+
|
|
36
|
+
- [`3ab3305`](https://github.com/BeOnAuto/auto-engineer/commit/3ab3305b51269affbb2aa678d05e0d410cb3f4fb) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: use shared findFilesToImplement in runSlice
|
|
37
|
+
|
|
38
|
+
- [`e2d3097`](https://github.com/BeOnAuto/auto-engineer/commit/e2d3097e5af288b3f1c69fe1e455a0d2d370e38c) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: use Record<string, never> in state template
|
|
39
|
+
|
|
40
|
+
- [`5617b86`](https://github.com/BeOnAuto/auto-engineer/commit/5617b86137edd5a880494d37a8645e4d16dba40f) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: use shared findFilesToImplement and extractCodeBlock
|
|
41
|
+
|
|
42
|
+
- Updated dependencies [[`eadca44`](https://github.com/BeOnAuto/auto-engineer/commit/eadca44c44f5e9b75fc9fae66d116b964635845c), [`6e5085a`](https://github.com/BeOnAuto/auto-engineer/commit/6e5085a538ab40614149d6b2cbf376b51078f661), [`5598a2a`](https://github.com/BeOnAuto/auto-engineer/commit/5598a2a3fc9b0eb012418ad5fec36920a0015045), [`4c9dcd5`](https://github.com/BeOnAuto/auto-engineer/commit/4c9dcd5cfa2a5fbaba6e04414181dd89f2a7b76b), [`432a674`](https://github.com/BeOnAuto/auto-engineer/commit/432a67401bc2547938173f2a5581b761c7c24457), [`91ff56c`](https://github.com/BeOnAuto/auto-engineer/commit/91ff56c6cc7d8b8ead31ea61c52fcaa996c6343e), [`0281ce0`](https://github.com/BeOnAuto/auto-engineer/commit/0281ce022c94149c093ded3d1f6c1a3cf7aba691), [`c081fe8`](https://github.com/BeOnAuto/auto-engineer/commit/c081fe8485b26c5339442c1a19d0e9161061d4cb), [`396d141`](https://github.com/BeOnAuto/auto-engineer/commit/396d14171aa378396308fd3d7003195ecfa65769), [`e0fc22f`](https://github.com/BeOnAuto/auto-engineer/commit/e0fc22f173ec87502c6fd081653026a43c9b08d8), [`1dc4f85`](https://github.com/BeOnAuto/auto-engineer/commit/1dc4f85391d843ba423d28332f684296c5bbd8e6), [`3ab3305`](https://github.com/BeOnAuto/auto-engineer/commit/3ab3305b51269affbb2aa678d05e0d410cb3f4fb), [`e2d3097`](https://github.com/BeOnAuto/auto-engineer/commit/e2d3097e5af288b3f1c69fe1e455a0d2d370e38c), [`5617b86`](https://github.com/BeOnAuto/auto-engineer/commit/5617b86137edd5a880494d37a8645e4d16dba40f)]:
|
|
43
|
+
- @auto-engineer/message-bus@1.124.0
|
|
44
|
+
- @auto-engineer/narrative@1.124.0
|
|
45
|
+
|
|
3
46
|
## 1.123.0
|
|
4
47
|
|
|
5
48
|
### Minor Changes
|
|
@@ -113,10 +113,12 @@ describe('decide.ts.ejs', () => {
|
|
|
113
113
|
|
|
114
114
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
115
115
|
|
|
116
|
-
//
|
|
116
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
117
|
+
// const result: ListingCreated = {
|
|
117
118
|
// type: 'ListingCreated',
|
|
118
119
|
// data: { ...command.data },
|
|
119
120
|
// };
|
|
121
|
+
// return result;
|
|
120
122
|
|
|
121
123
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
122
124
|
}
|
|
@@ -258,10 +260,12 @@ describe('decide.ts.ejs', () => {
|
|
|
258
260
|
// Fields NOT in command input → produce dynamically (never hardcode):
|
|
259
261
|
// removedAt: Date — derive from _state, generate at runtime (e.g., crypto.randomUUID()), or compute from command.data
|
|
260
262
|
|
|
261
|
-
//
|
|
263
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
264
|
+
// const result: ListingRemoved = {
|
|
262
265
|
// type: 'ListingRemoved',
|
|
263
|
-
// data: { ...command.data, /* +
|
|
266
|
+
// data: { ...command.data, /* + produce: removedAt */ },
|
|
264
267
|
// };
|
|
268
|
+
// return result;
|
|
265
269
|
|
|
266
270
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
267
271
|
}
|
|
@@ -421,10 +425,12 @@ describe('decide.ts.ejs', () => {
|
|
|
421
425
|
|
|
422
426
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
423
427
|
|
|
424
|
-
//
|
|
428
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
429
|
+
// const result: ListingCreated = {
|
|
425
430
|
// type: 'ListingCreated',
|
|
426
431
|
// data: { ...command.data },
|
|
427
432
|
// };
|
|
433
|
+
// return result;
|
|
428
434
|
|
|
429
435
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
430
436
|
}
|
|
@@ -635,10 +641,12 @@ describe('decide.ts.ejs', () => {
|
|
|
635
641
|
// Fields NOT in command input → produce dynamically (never hardcode):
|
|
636
642
|
// items: Array<object> — derive from _state, generate at runtime (e.g., crypto.randomUUID()), or compute from command.data
|
|
637
643
|
|
|
638
|
-
//
|
|
644
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
645
|
+
// const result: ItemsSuggested = {
|
|
639
646
|
// type: 'ItemsSuggested',
|
|
640
|
-
// data: { ...command.data, /* +
|
|
647
|
+
// data: { ...command.data, /* + produce: items */ },
|
|
641
648
|
// };
|
|
649
|
+
// return result;
|
|
642
650
|
|
|
643
651
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
644
652
|
}
|
|
@@ -127,10 +127,12 @@ for (const scenario of scenarios) {
|
|
|
127
127
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
128
128
|
<% } -%>
|
|
129
129
|
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
130
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
131
|
+
// const result: <%= pascalCase(fallbackEventTypes[0] ?? 'TODO_EVENT_TYPE') %> = {
|
|
132
|
+
// type: '<%= fallbackEventTypes[0] %>',
|
|
133
|
+
// data: { ...command.data<%= nonCommandFields.length > 0 ? `, /* + produce: ${nonCommandFields.map(f => f.name).join(', ')} */` : '' %> },
|
|
133
134
|
// };
|
|
135
|
+
// return result;
|
|
134
136
|
|
|
135
137
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
136
138
|
}
|
|
@@ -132,7 +132,7 @@ describe('state.ts.ejs', () => {
|
|
|
132
132
|
*/
|
|
133
133
|
|
|
134
134
|
// TODO: Replace with a discriminated union of domain states for the current slice
|
|
135
|
-
export type State =
|
|
135
|
+
export type State = Record<string, never>;
|
|
136
136
|
|
|
137
137
|
// TODO: Replace the Return with the initial domain state of the current slice
|
|
138
138
|
export const initialState = (): State => {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
45
|
// TODO: Replace with a discriminated union of domain states for the current slice
|
|
46
|
-
export type State =
|
|
46
|
+
export type State = Record<string, never>;
|
|
47
47
|
|
|
48
48
|
// TODO: Replace the Return with the initial domain state of the current slice
|
|
49
49
|
export const initialState = (): State => {
|
|
@@ -1772,6 +1772,8 @@ describe('projection.specs.ts.ejs', () => {
|
|
|
1772
1772
|
|
|
1773
1773
|
type AllEvents = WorkoutRecorded;
|
|
1774
1774
|
|
|
1775
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
1776
|
+
// Only implement the case bodies inside evolve.
|
|
1775
1777
|
export const projection = inMemorySingleStreamProjection<WorkoutHistory, AllEvents>({
|
|
1776
1778
|
collectionName: 'WorkoutHistoryProjection',
|
|
1777
1779
|
canHandle: ['WorkoutRecorded'],
|
|
@@ -227,6 +227,8 @@ describe('projection.ts.ejs', () => {
|
|
|
227
227
|
|
|
228
228
|
type AllEvents = ListingCreated | ListingRemoved;
|
|
229
229
|
|
|
230
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
231
|
+
// Only implement the case bodies inside evolve.
|
|
230
232
|
export const projection = inMemorySingleStreamProjection<AvailableListings, AllEvents>({
|
|
231
233
|
collectionName: 'AvailablePropertiesProjection',
|
|
232
234
|
canHandle: ['ListingCreated', 'ListingRemoved'],
|
|
@@ -582,6 +584,8 @@ describe('projection.ts.ejs', () => {
|
|
|
582
584
|
|
|
583
585
|
type AllEvents = TodoAdded;
|
|
584
586
|
|
|
587
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
588
|
+
// Only implement the case bodies inside evolve.
|
|
585
589
|
export const projection = inMemorySingleStreamProjection<TodoSummary, AllEvents>({
|
|
586
590
|
collectionName: 'TodoSummaryProjection',
|
|
587
591
|
canHandle: ['TodoAdded'],
|
|
@@ -809,6 +813,8 @@ describe('projection.ts.ejs', () => {
|
|
|
809
813
|
|
|
810
814
|
type AllEvents = UserJoinedProject;
|
|
811
815
|
|
|
816
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
817
|
+
// Only implement the case bodies inside evolve.
|
|
812
818
|
export const projection = inMemorySingleStreamProjection<UserProject, AllEvents>({
|
|
813
819
|
collectionName: 'UserProjectsProjection',
|
|
814
820
|
canHandle: ['UserJoinedProject'],
|
|
@@ -34,7 +34,10 @@ function isQueryAction(whenText, queryName) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
function formatSpecValue(value, tsType) {
|
|
37
|
-
if (value === null || value === undefined)
|
|
37
|
+
if (value === null || value === undefined) {
|
|
38
|
+
if (tsType === 'Date') return "new Date('2000-01-01T00:00:00.000Z')";
|
|
39
|
+
return 'null';
|
|
40
|
+
}
|
|
38
41
|
if ((tsType === 'string' || tsType === 'ID') && typeof value === 'string') return `'${value}'`;
|
|
39
42
|
if (tsType === 'number' || tsType === 'boolean') return String(value);
|
|
40
43
|
if (tsType === 'Date') return `new Date('${value}')`;
|
|
@@ -59,6 +59,8 @@ interface Internal<%= pascalCase(targetName || 'State') %> extends <%= pascalCas
|
|
|
59
59
|
<% } %>
|
|
60
60
|
type AllEvents = <%= allEventTypes %>;
|
|
61
61
|
|
|
62
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
63
|
+
// Only implement the case bodies inside evolve.
|
|
62
64
|
export const projection = inMemorySingleStreamProjection<
|
|
63
65
|
<%= pascalCase(slice.server?.data?.items?.[0]?.target?.name || 'UnknownState') %>,
|
|
64
66
|
AllEvents
|
package/package.json
CHANGED
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"uuid": "^13.0.0",
|
|
33
33
|
"web-streams-polyfill": "^4.1.0",
|
|
34
34
|
"zod": "^3.22.4",
|
|
35
|
-
"@auto-engineer/
|
|
36
|
-
"@auto-engineer/
|
|
35
|
+
"@auto-engineer/message-bus": "1.124.0",
|
|
36
|
+
"@auto-engineer/narrative": "1.124.0"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"typescript": "^5.8.3",
|
|
45
45
|
"vitest": "^3.2.4",
|
|
46
46
|
"tsx": "^4.19.2",
|
|
47
|
-
"@auto-engineer/cli": "1.
|
|
47
|
+
"@auto-engineer/cli": "1.124.0"
|
|
48
48
|
},
|
|
49
|
-
"version": "1.
|
|
49
|
+
"version": "1.124.0",
|
|
50
50
|
"scripts": {
|
|
51
51
|
"generate:server": "tsx src/cli/index.ts",
|
|
52
52
|
"build": "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",
|
|
@@ -113,10 +113,12 @@ describe('decide.ts.ejs', () => {
|
|
|
113
113
|
|
|
114
114
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
115
115
|
|
|
116
|
-
//
|
|
116
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
117
|
+
// const result: ListingCreated = {
|
|
117
118
|
// type: 'ListingCreated',
|
|
118
119
|
// data: { ...command.data },
|
|
119
120
|
// };
|
|
121
|
+
// return result;
|
|
120
122
|
|
|
121
123
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
122
124
|
}
|
|
@@ -258,10 +260,12 @@ describe('decide.ts.ejs', () => {
|
|
|
258
260
|
// Fields NOT in command input → produce dynamically (never hardcode):
|
|
259
261
|
// removedAt: Date — derive from _state, generate at runtime (e.g., crypto.randomUUID()), or compute from command.data
|
|
260
262
|
|
|
261
|
-
//
|
|
263
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
264
|
+
// const result: ListingRemoved = {
|
|
262
265
|
// type: 'ListingRemoved',
|
|
263
|
-
// data: { ...command.data, /* +
|
|
266
|
+
// data: { ...command.data, /* + produce: removedAt */ },
|
|
264
267
|
// };
|
|
268
|
+
// return result;
|
|
265
269
|
|
|
266
270
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
267
271
|
}
|
|
@@ -421,10 +425,12 @@ describe('decide.ts.ejs', () => {
|
|
|
421
425
|
|
|
422
426
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
423
427
|
|
|
424
|
-
//
|
|
428
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
429
|
+
// const result: ListingCreated = {
|
|
425
430
|
// type: 'ListingCreated',
|
|
426
431
|
// data: { ...command.data },
|
|
427
432
|
// };
|
|
433
|
+
// return result;
|
|
428
434
|
|
|
429
435
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
430
436
|
}
|
|
@@ -635,10 +641,12 @@ describe('decide.ts.ejs', () => {
|
|
|
635
641
|
// Fields NOT in command input → produce dynamically (never hardcode):
|
|
636
642
|
// items: Array<object> — derive from _state, generate at runtime (e.g., crypto.randomUUID()), or compute from command.data
|
|
637
643
|
|
|
638
|
-
//
|
|
644
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
645
|
+
// const result: ItemsSuggested = {
|
|
639
646
|
// type: 'ItemsSuggested',
|
|
640
|
-
// data: { ...command.data, /* +
|
|
647
|
+
// data: { ...command.data, /* + produce: items */ },
|
|
641
648
|
// };
|
|
649
|
+
// return result;
|
|
642
650
|
|
|
643
651
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
644
652
|
}
|
|
@@ -127,10 +127,12 @@ for (const scenario of scenarios) {
|
|
|
127
127
|
// All event fields come from command input — use ...command.data to pass them through.
|
|
128
128
|
<% } -%>
|
|
129
129
|
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
//
|
|
130
|
+
// IMPLEMENT: Use a typed variable to prevent type widening:
|
|
131
|
+
// const result: <%= pascalCase(fallbackEventTypes[0] ?? 'TODO_EVENT_TYPE') %> = {
|
|
132
|
+
// type: '<%= fallbackEventTypes[0] %>',
|
|
133
|
+
// data: { ...command.data<%= nonCommandFields.length > 0 ? `, /* + produce: ${nonCommandFields.map(f => f.name).join(', ')} */` : '' %> },
|
|
133
134
|
// };
|
|
135
|
+
// return result;
|
|
134
136
|
|
|
135
137
|
throw new IllegalStateError('Not yet implemented: ' + command.type);
|
|
136
138
|
}
|
|
@@ -132,7 +132,7 @@ describe('state.ts.ejs', () => {
|
|
|
132
132
|
*/
|
|
133
133
|
|
|
134
134
|
// TODO: Replace with a discriminated union of domain states for the current slice
|
|
135
|
-
export type State =
|
|
135
|
+
export type State = Record<string, never>;
|
|
136
136
|
|
|
137
137
|
// TODO: Replace the Return with the initial domain state of the current slice
|
|
138
138
|
export const initialState = (): State => {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
45
|
// TODO: Replace with a discriminated union of domain states for the current slice
|
|
46
|
-
export type State =
|
|
46
|
+
export type State = Record<string, never>;
|
|
47
47
|
|
|
48
48
|
// TODO: Replace the Return with the initial domain state of the current slice
|
|
49
49
|
export const initialState = (): State => {
|
|
@@ -1772,6 +1772,8 @@ describe('projection.specs.ts.ejs', () => {
|
|
|
1772
1772
|
|
|
1773
1773
|
type AllEvents = WorkoutRecorded;
|
|
1774
1774
|
|
|
1775
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
1776
|
+
// Only implement the case bodies inside evolve.
|
|
1775
1777
|
export const projection = inMemorySingleStreamProjection<WorkoutHistory, AllEvents>({
|
|
1776
1778
|
collectionName: 'WorkoutHistoryProjection',
|
|
1777
1779
|
canHandle: ['WorkoutRecorded'],
|
|
@@ -227,6 +227,8 @@ describe('projection.ts.ejs', () => {
|
|
|
227
227
|
|
|
228
228
|
type AllEvents = ListingCreated | ListingRemoved;
|
|
229
229
|
|
|
230
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
231
|
+
// Only implement the case bodies inside evolve.
|
|
230
232
|
export const projection = inMemorySingleStreamProjection<AvailableListings, AllEvents>({
|
|
231
233
|
collectionName: 'AvailablePropertiesProjection',
|
|
232
234
|
canHandle: ['ListingCreated', 'ListingRemoved'],
|
|
@@ -582,6 +584,8 @@ describe('projection.ts.ejs', () => {
|
|
|
582
584
|
|
|
583
585
|
type AllEvents = TodoAdded;
|
|
584
586
|
|
|
587
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
588
|
+
// Only implement the case bodies inside evolve.
|
|
585
589
|
export const projection = inMemorySingleStreamProjection<TodoSummary, AllEvents>({
|
|
586
590
|
collectionName: 'TodoSummaryProjection',
|
|
587
591
|
canHandle: ['TodoAdded'],
|
|
@@ -809,6 +813,8 @@ describe('projection.ts.ejs', () => {
|
|
|
809
813
|
|
|
810
814
|
type AllEvents = UserJoinedProject;
|
|
811
815
|
|
|
816
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
817
|
+
// Only implement the case bodies inside evolve.
|
|
812
818
|
export const projection = inMemorySingleStreamProjection<UserProject, AllEvents>({
|
|
813
819
|
collectionName: 'UserProjectsProjection',
|
|
814
820
|
canHandle: ['UserJoinedProject'],
|
|
@@ -34,7 +34,10 @@ function isQueryAction(whenText, queryName) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
function formatSpecValue(value, tsType) {
|
|
37
|
-
if (value === null || value === undefined)
|
|
37
|
+
if (value === null || value === undefined) {
|
|
38
|
+
if (tsType === 'Date') return "new Date('2000-01-01T00:00:00.000Z')";
|
|
39
|
+
return 'null';
|
|
40
|
+
}
|
|
38
41
|
if ((tsType === 'string' || tsType === 'ID') && typeof value === 'string') return `'${value}'`;
|
|
39
42
|
if (tsType === 'number' || tsType === 'boolean') return String(value);
|
|
40
43
|
if (tsType === 'Date') return `new Date('${value}')`;
|
|
@@ -59,6 +59,8 @@ interface Internal<%= pascalCase(targetName || 'State') %> extends <%= pascalCas
|
|
|
59
59
|
<% } %>
|
|
60
60
|
type AllEvents = <%= allEventTypes %>;
|
|
61
61
|
|
|
62
|
+
// Auto-generated — do not change this function, its imports, or type parameters.
|
|
63
|
+
// Only implement the case bodies inside evolve.
|
|
62
64
|
export const projection = inMemorySingleStreamProjection<
|
|
63
65
|
<%= pascalCase(slice.server?.data?.items?.[0]?.target?.name || 'UnknownState') %>,
|
|
64
66
|
AllEvents
|