@auto-engineer/server-generator-apollo-emmett 1.110.1 → 1.110.3
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 +5 -5
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +42 -0
- package/dist/src/codegen/extract/messages.d.ts.map +1 -1
- package/dist/src/codegen/extract/messages.js +3 -1
- package/dist/src/codegen/extract/messages.js.map +1 -1
- package/dist/src/codegen/templates/command/handle.specs.ts +102 -0
- package/dist/src/codegen/templates/command/handle.ts.ejs +20 -9
- package/dist/src/codegen/templates/query/query.resolver.specs.ts +4 -4
- package/dist/src/codegen/templates/query/query.resolver.ts.ejs +8 -2
- package/dist/src/codegen/templates/react/react.specs.ts.ejs +22 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/codegen/extract/messages.specs.ts +96 -0
- package/src/codegen/extract/messages.ts +15 -13
- package/src/codegen/templates/command/handle.specs.ts +102 -0
- package/src/codegen/templates/command/handle.ts.ejs +20 -9
- package/src/codegen/templates/query/query.resolver.specs.ts +4 -4
- package/src/codegen/templates/query/query.resolver.ts.ejs +8 -2
- package/src/codegen/templates/react/react.specs.ts.ejs +22 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-generator-apollo-emmett@1.110.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.110.3 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.110.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.110.2 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[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
|
|
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[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
|
|
9
9
|
|
|
10
10
|
[2m Test Files [22m [1m[32m34 passed[39m[22m[2m | [22m[33m1 skipped[39m[90m (35)[39m
|
|
11
|
-
[2m Tests [22m [1m[
|
|
12
|
-
[2m Start at [22m
|
|
13
|
-
[2m Duration [22m
|
|
11
|
+
[2m Tests [22m [1m[32m247 passed[39m[22m[2m | [22m[33m1 skipped[39m[90m (248)[39m
|
|
12
|
+
[2m Start at [22m 19:04:50
|
|
13
|
+
[2m Duration [22m 38.93s[2m (transform 6.25s, setup 0ms, collect 76.42s, tests 20.89s, environment 8ms, prepare 6.90s)[22m
|
|
14
14
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/server-generator-apollo-emmett@1.110.
|
|
2
|
+
> @auto-engineer/server-generator-apollo-emmett@1.110.2 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,47 @@
|
|
|
1
1
|
# @auto-engineer/server-generator-apollo-emmett
|
|
2
2
|
|
|
3
|
+
## 1.110.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`74bb7a6`](https://github.com/BeOnAuto/auto-engineer/commit/74bb7a6f4ad0860437189072c053801d5e4b8293) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Simplified how components are handled in the pipeline
|
|
8
|
+
- Enhanced the client implementation for improved reliability
|
|
9
|
+
|
|
10
|
+
- [`751d711`](https://github.com/BeOnAuto/auto-engineer/commit/751d711d16bc5c0148cd929a2576dfc59871fec4) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-implementer**: exclude spec files from AI context in implement-slice
|
|
11
|
+
- **server-generator-apollo-emmett**: enrich missing event data in react specs template
|
|
12
|
+
- **server-generator-apollo-emmett**: validate query args against state fields in resolver
|
|
13
|
+
- **server-generator-apollo-emmett**: per-variable stream ID classification in handle.ts
|
|
14
|
+
- **server-generator-apollo-emmett**: filter non-events from query when-events
|
|
15
|
+
|
|
16
|
+
- [`8ff54ee`](https://github.com/BeOnAuto/auto-engineer/commit/8ff54ee75f4bb1d419285c5a1a6a9359176e56b8) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Restored lint, type-checking, test, and story fix loops in the pipeline
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [[`74bb7a6`](https://github.com/BeOnAuto/auto-engineer/commit/74bb7a6f4ad0860437189072c053801d5e4b8293), [`751d711`](https://github.com/BeOnAuto/auto-engineer/commit/751d711d16bc5c0148cd929a2576dfc59871fec4), [`8ff54ee`](https://github.com/BeOnAuto/auto-engineer/commit/8ff54ee75f4bb1d419285c5a1a6a9359176e56b8)]:
|
|
19
|
+
- @auto-engineer/message-bus@1.110.3
|
|
20
|
+
- @auto-engineer/narrative@1.110.3
|
|
21
|
+
|
|
22
|
+
## 1.110.2
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- [`28e4df1`](https://github.com/BeOnAuto/auto-engineer/commit/28e4df126f9f013cd5935d1ff5b0c951a5330944) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: validate query args against state fields in resolver
|
|
27
|
+
|
|
28
|
+
- [`00663f6`](https://github.com/BeOnAuto/auto-engineer/commit/00663f675720f1dc0e65aff1f869a6fc548ebd77) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **global**: ketchup plan for scaffold & implementer fixes
|
|
29
|
+
|
|
30
|
+
- [`1059e28`](https://github.com/BeOnAuto/auto-engineer/commit/1059e2844a21c7e12727baddac9afec50c0171f9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: per-variable stream ID classification in handle.ts
|
|
31
|
+
|
|
32
|
+
- [`1291a9a`](https://github.com/BeOnAuto/auto-engineer/commit/1291a9a13bd0273096e7abaa8d8d3457037a5278) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: filter non-events from query when-events
|
|
33
|
+
|
|
34
|
+
- [`66db309`](https://github.com/BeOnAuto/auto-engineer/commit/66db309ac4a86ecae807fe636867e862d5390bc1) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **component-implementor-react**: issue with missing imports in starter + improve story generation
|
|
35
|
+
- **global**: version packages
|
|
36
|
+
|
|
37
|
+
- [`aa43d9b`](https://github.com/BeOnAuto/auto-engineer/commit/aa43d9b0c1e6d00d5129a848e316d1447734b80f) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-implementer**: exclude spec files from AI context in implement-slice
|
|
38
|
+
|
|
39
|
+
- [`8f2c4fd`](https://github.com/BeOnAuto/auto-engineer/commit/8f2c4fd19c09b27efac4fd4735778f25d3554473) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - **server-generator-apollo-emmett**: enrich missing event data in react specs template
|
|
40
|
+
|
|
41
|
+
- Updated dependencies [[`28e4df1`](https://github.com/BeOnAuto/auto-engineer/commit/28e4df126f9f013cd5935d1ff5b0c951a5330944), [`00663f6`](https://github.com/BeOnAuto/auto-engineer/commit/00663f675720f1dc0e65aff1f869a6fc548ebd77), [`1059e28`](https://github.com/BeOnAuto/auto-engineer/commit/1059e2844a21c7e12727baddac9afec50c0171f9), [`1291a9a`](https://github.com/BeOnAuto/auto-engineer/commit/1291a9a13bd0273096e7abaa8d8d3457037a5278), [`66db309`](https://github.com/BeOnAuto/auto-engineer/commit/66db309ac4a86ecae807fe636867e862d5390bc1), [`aa43d9b`](https://github.com/BeOnAuto/auto-engineer/commit/aa43d9b0c1e6d00d5129a848e316d1447734b80f), [`8f2c4fd`](https://github.com/BeOnAuto/auto-engineer/commit/8f2c4fd19c09b27efac4fd4735778f25d3554473)]:
|
|
42
|
+
- @auto-engineer/message-bus@1.110.2
|
|
43
|
+
- @auto-engineer/narrative@1.110.2
|
|
44
|
+
|
|
3
45
|
## 1.110.1
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAejF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAejF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AA2ND,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CA+B1G"}
|
|
@@ -95,7 +95,9 @@ function extractMessagesForQuery(slice, allMessages) {
|
|
|
95
95
|
const events = gwtSpecs.flatMap((gwt) => {
|
|
96
96
|
const eventsFromWhen = Array.isArray(gwt.when) ? gwt.when : [];
|
|
97
97
|
const givenEvents = extractEventsFromGiven(gwt.given, allMessages);
|
|
98
|
-
const whenEvents = eventsFromWhen
|
|
98
|
+
const whenEvents = eventsFromWhen
|
|
99
|
+
.filter((eventExample) => allMessages.some((m) => m.type === 'event' && m.name === eventExample.eventRef))
|
|
100
|
+
.map((eventExample) => {
|
|
99
101
|
const fields = extractFieldsFromMessage(eventExample.eventRef, 'event', allMessages);
|
|
100
102
|
const messageDef = allMessages.find((m) => m.type === 'event' && m.name === eventExample.eventRef);
|
|
101
103
|
const metadata = messageDef?.metadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/codegen/extract/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -477,4 +477,106 @@ describe('generateScaffoldFilePlans', () => {
|
|
|
477
477
|
"
|
|
478
478
|
`);
|
|
479
479
|
});
|
|
480
|
+
it('should generate randomUUID for stream vars not in any command', async () => {
|
|
481
|
+
const spec: SpecsSchema = {
|
|
482
|
+
variant: 'specs',
|
|
483
|
+
narratives: [
|
|
484
|
+
{
|
|
485
|
+
name: 'Fitness tracker',
|
|
486
|
+
slices: [
|
|
487
|
+
{
|
|
488
|
+
type: 'command',
|
|
489
|
+
name: 'Log workout',
|
|
490
|
+
stream: 'workouts-${workoutId}',
|
|
491
|
+
client: { specs: [] },
|
|
492
|
+
server: {
|
|
493
|
+
description: 'test',
|
|
494
|
+
specs: [
|
|
495
|
+
{
|
|
496
|
+
type: 'gherkin',
|
|
497
|
+
feature: 'Log workout',
|
|
498
|
+
rules: [
|
|
499
|
+
{
|
|
500
|
+
name: 'Should log workout',
|
|
501
|
+
examples: [
|
|
502
|
+
{
|
|
503
|
+
name: 'Workout logged',
|
|
504
|
+
steps: [
|
|
505
|
+
{
|
|
506
|
+
keyword: 'When',
|
|
507
|
+
text: 'LogWorkout',
|
|
508
|
+
docString: { exercise: 'squat', reps: 10 },
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
keyword: 'Then',
|
|
512
|
+
text: 'WorkoutLogged',
|
|
513
|
+
docString: { exercise: 'squat', reps: 10 },
|
|
514
|
+
},
|
|
515
|
+
],
|
|
516
|
+
},
|
|
517
|
+
],
|
|
518
|
+
},
|
|
519
|
+
],
|
|
520
|
+
},
|
|
521
|
+
],
|
|
522
|
+
data: {
|
|
523
|
+
items: [
|
|
524
|
+
{
|
|
525
|
+
target: { type: 'Event', name: 'WorkoutLogged' },
|
|
526
|
+
destination: { type: 'stream', pattern: 'workouts-${workoutId}' },
|
|
527
|
+
},
|
|
528
|
+
],
|
|
529
|
+
},
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
],
|
|
533
|
+
},
|
|
534
|
+
],
|
|
535
|
+
messages: [
|
|
536
|
+
{
|
|
537
|
+
type: 'command',
|
|
538
|
+
name: 'LogWorkout',
|
|
539
|
+
fields: [
|
|
540
|
+
{ name: 'exercise', type: 'string', required: true },
|
|
541
|
+
{ name: 'reps', type: 'number', required: true },
|
|
542
|
+
],
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
type: 'event',
|
|
546
|
+
name: 'WorkoutLogged',
|
|
547
|
+
source: 'internal',
|
|
548
|
+
fields: [
|
|
549
|
+
{ name: 'exercise', type: 'string', required: true },
|
|
550
|
+
{ name: 'reps', type: 'number', required: true },
|
|
551
|
+
],
|
|
552
|
+
},
|
|
553
|
+
],
|
|
554
|
+
};
|
|
555
|
+
|
|
556
|
+
const { plans } = await generateScaffoldFilePlans(spec.narratives, spec.messages, undefined, 'src/domain/flows');
|
|
557
|
+
const handleFile = plans.find((p) => p.outputPath.endsWith('handle.ts'));
|
|
558
|
+
|
|
559
|
+
expect(handleFile?.contents).toMatchInlineSnapshot(`
|
|
560
|
+
"import { randomUUID } from 'crypto';
|
|
561
|
+
|
|
562
|
+
import { CommandHandler, type EventStore, type MessageHandlerResult } from '@event-driven-io/emmett';
|
|
563
|
+
import { evolve } from './evolve';
|
|
564
|
+
import { initialState } from './state';
|
|
565
|
+
import { decide } from './decide';
|
|
566
|
+
import type { LogWorkout } from './commands';
|
|
567
|
+
|
|
568
|
+
const handler = CommandHandler({
|
|
569
|
+
evolve,
|
|
570
|
+
initialState,
|
|
571
|
+
});
|
|
572
|
+
|
|
573
|
+
export const handle = async (eventStore: EventStore, command: LogWorkout): Promise<MessageHandlerResult> => {
|
|
574
|
+
const streamId = \`workouts-\${randomUUID()}\`;
|
|
575
|
+
|
|
576
|
+
await handler(eventStore, streamId, (state) => decide(command, state));
|
|
577
|
+
return undefined;
|
|
578
|
+
};
|
|
579
|
+
"
|
|
580
|
+
`);
|
|
581
|
+
});
|
|
480
582
|
});
|
|
@@ -63,8 +63,14 @@ while ((svMatch = svRegex.exec(streamPatternStr)) !== null) {
|
|
|
63
63
|
}
|
|
64
64
|
const allCmdFieldSets = commands.map(c => new Set((c.fields ?? []).map(f => f.name)));
|
|
65
65
|
const needsStreamGuard = streamVars.length > 0 && !allCmdFieldSets.every(fs => streamVars.every(v => fs.has(v)));
|
|
66
|
+
const varInAnyCommand = (v) => allCmdFieldSets.some(fs => fs.has(v));
|
|
67
|
+
const guardVars = needsStreamGuard ? streamVars.filter(v => varInAnyCommand(v)) : [];
|
|
68
|
+
const uuidVars = needsStreamGuard ? streamVars.filter(v => !varInAnyCommand(v)) : [];
|
|
66
69
|
%>
|
|
67
70
|
|
|
71
|
+
<% if (uuidVars.length > 0) { -%>
|
|
72
|
+
import { randomUUID } from 'crypto';
|
|
73
|
+
<% } -%>
|
|
68
74
|
<% integrationSideEffectImports.forEach((importSource) => { %>
|
|
69
75
|
import '<%= importSource %>';
|
|
70
76
|
<% }); %>
|
|
@@ -96,16 +102,21 @@ eventStore: EventStore,
|
|
|
96
102
|
command: <%= commands.map(c => pascalCase(c.type)).join(' | ') %>
|
|
97
103
|
): Promise<MessageHandlerResult> => {
|
|
98
104
|
<% if (stream?.pattern?.includes('${')) { -%>
|
|
99
|
-
<% if (needsStreamGuard) { -%>
|
|
100
|
-
const commandData = command.data;
|
|
101
|
-
<% for (const v of streamVars) { -%>
|
|
102
|
-
if (!('<%= v %>' in commandData)) {
|
|
103
|
-
throw new Error('Cannot determine stream: "<%= v %>" not in command data');
|
|
104
|
-
}
|
|
105
|
-
<% } -%>
|
|
106
|
-
const streamId = `<%= stream.pattern.replace(/\$\{([^}]+)\}/g, (_, key) => `\${commandData.${key}}`) %>`;
|
|
107
|
-
<% } else { -%>
|
|
105
|
+
<% if (!needsStreamGuard) { -%>
|
|
108
106
|
const streamId = `<%= stream.pattern.replace(/\$\{([^}]+)\}/g, (_, key) => `\${command.data.${key}}`) %>`;
|
|
107
|
+
<% } else { -%>
|
|
108
|
+
<% if (guardVars.length > 0) { -%>
|
|
109
|
+
const commandData = command.data;
|
|
110
|
+
<% for (const v of guardVars) { -%>
|
|
111
|
+
if (!('<%= v %>' in commandData)) {
|
|
112
|
+
throw new Error('Cannot determine stream: "<%= v %>" not in command data');
|
|
113
|
+
}
|
|
114
|
+
<% } -%>
|
|
115
|
+
<% } -%>
|
|
116
|
+
const streamId = `<%= stream.pattern.replace(/\$\{([^}]+)\}/g, (_, key) => {
|
|
117
|
+
if (varInAnyCommand(key)) return '${commandData.' + key + '}';
|
|
118
|
+
return '${randomUUID()}';
|
|
119
|
+
}) %>`;
|
|
109
120
|
<% } -%>
|
|
110
121
|
<% } else { -%>
|
|
111
122
|
const streamId = '<%= stream?.pattern ?? 'unknown-stream' %>';
|
|
@@ -114,9 +114,9 @@ describe('query.resolver.ts.ejs', () => {
|
|
|
114
114
|
return model.find((item) => {
|
|
115
115
|
if (location !== undefined && item.location !== location) return false;
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
// TODO: 'maxPrice' has no matching field on the state type — implement custom filter logic.
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
// TODO: 'minGuests' has no matching field on the state type — implement custom filter logic.
|
|
120
120
|
|
|
121
121
|
return true;
|
|
122
122
|
});
|
|
@@ -935,7 +935,7 @@ describe('query.resolver.ts.ejs', () => {
|
|
|
935
935
|
// If this query should return a single item, switch to findOne().
|
|
936
936
|
|
|
937
937
|
return model.find((item) => {
|
|
938
|
-
|
|
938
|
+
// TODO: 'pantryId' has no matching field on the state type — implement custom filter logic.
|
|
939
939
|
|
|
940
940
|
return true;
|
|
941
941
|
});
|
|
@@ -1177,7 +1177,7 @@ describe('query.resolver.ts.ejs', () => {
|
|
|
1177
1177
|
// If this query should return a single item, switch to findOne().
|
|
1178
1178
|
|
|
1179
1179
|
return model.find((item) => {
|
|
1180
|
-
|
|
1180
|
+
// TODO: 'pantryId' has no matching field on the state type — implement custom filter logic.
|
|
1181
1181
|
|
|
1182
1182
|
return true;
|
|
1183
1183
|
});
|
|
@@ -165,9 +165,15 @@ const model = new ReadModel<<%= viewType %>>(ctx.database, '<%= collectionName %
|
|
|
165
165
|
|
|
166
166
|
return model.find((<%= hasArgs ? 'item' : '_item' %>) => {
|
|
167
167
|
<% if (parsedRequest?.args?.length) {
|
|
168
|
-
|
|
168
|
+
const stateFieldNames = new Set(messageFields.map(f => f.name));
|
|
169
|
+
for (const arg of parsedRequest.args) {
|
|
170
|
+
if (stateFieldNames.has(arg.name)) { %>
|
|
169
171
|
if (<%= arg.name %> !== undefined && item.<%= arg.name %> !== <%= arg.name %>) return false;
|
|
170
|
-
<%
|
|
172
|
+
<% } else { %>
|
|
173
|
+
// TODO: '<%= arg.name %>' has no matching field on the state type — implement custom filter logic.
|
|
174
|
+
<% }
|
|
175
|
+
}
|
|
176
|
+
} %>
|
|
171
177
|
return true;
|
|
172
178
|
});
|
|
173
179
|
}
|
|
@@ -132,11 +132,32 @@ describe('<%= ruleDescription %>', () => {
|
|
|
132
132
|
}]);
|
|
133
133
|
<% }
|
|
134
134
|
}
|
|
135
|
+
-%>
|
|
136
|
+
<%
|
|
137
|
+
const eventSchema = events.find(e => e.type === exampleEvent.eventRef);
|
|
138
|
+
const mergedEventData = { ...(exampleEvent.exampleData || {}) };
|
|
139
|
+
const eventFieldNames = new Set((eventSchema?.fields || []).map(f => f.name));
|
|
140
|
+
for (const cmd of thenCommands) {
|
|
141
|
+
for (const [key, value] of Object.entries(cmd.exampleData || {})) {
|
|
142
|
+
if (!(key in mergedEventData) && eventFieldNames.has(key)) {
|
|
143
|
+
mergedEventData[key] = value;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
for (const field of (eventSchema?.fields || [])) {
|
|
148
|
+
if (!(field.name in mergedEventData)) {
|
|
149
|
+
const tsType = field.tsType || field.type || 'string';
|
|
150
|
+
if (tsType === 'number') mergedEventData[field.name] = 0;
|
|
151
|
+
else if (tsType === 'boolean') mergedEventData[field.name] = false;
|
|
152
|
+
else if (!tsType.includes('{') && !tsType.includes('[]') && !tsType.includes('Array'))
|
|
153
|
+
mergedEventData[field.name] = `test-${field.name}`;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
135
156
|
-%>
|
|
136
157
|
await given([])
|
|
137
158
|
.when({
|
|
138
159
|
type: '<%= exampleEvent.eventRef %>',
|
|
139
|
-
data: <%- formatDataObject(
|
|
160
|
+
data: <%- formatDataObject(mergedEventData, eventSchema) %>
|
|
140
161
|
})
|
|
141
162
|
<% if (thenCommands.length === 1) {
|
|
142
163
|
const commandSchema = thenCommands[0];
|