@auto-engineer/component-implementor-react 1.98.0 → 1.99.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 (233) 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 +74 -0
  5. package/dist/src/commands/implement-component.d.ts +19 -0
  6. package/dist/src/commands/implement-component.d.ts.map +1 -1
  7. package/dist/src/commands/implement-component.js +109 -30
  8. package/dist/src/commands/implement-component.js.map +1 -1
  9. package/dist/src/commands/implement-component.test.js +259 -69
  10. package/dist/src/commands/implement-component.test.js.map +1 -1
  11. package/dist/src/extract-exports.d.ts +6 -0
  12. package/dist/src/extract-exports.d.ts.map +1 -0
  13. package/dist/src/extract-exports.js +46 -0
  14. package/dist/src/extract-exports.js.map +1 -0
  15. package/dist/src/generate-story-deterministic.d.ts +30 -0
  16. package/dist/src/generate-story-deterministic.d.ts.map +1 -0
  17. package/dist/src/generate-story-deterministic.js +229 -0
  18. package/dist/src/generate-story-deterministic.js.map +1 -0
  19. package/dist/src/index.d.ts +4 -0
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/index.js +3 -0
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/pipeline/run-pipeline.d.ts +69 -0
  24. package/dist/src/pipeline/run-pipeline.d.ts.map +1 -0
  25. package/dist/src/pipeline/run-pipeline.js +78 -0
  26. package/dist/src/pipeline/run-pipeline.js.map +1 -0
  27. package/dist/src/pipeline/run-pipeline.test.d.ts +2 -0
  28. package/dist/src/pipeline/run-pipeline.test.d.ts.map +1 -0
  29. package/dist/src/pipeline/run-pipeline.test.js +247 -0
  30. package/dist/src/pipeline/run-pipeline.test.js.map +1 -0
  31. package/dist/src/pipeline/steps/generate-component.d.ts +4 -0
  32. package/dist/src/pipeline/steps/generate-component.d.ts.map +1 -0
  33. package/dist/src/pipeline/steps/generate-component.js +50 -0
  34. package/dist/src/pipeline/steps/generate-component.js.map +1 -0
  35. package/dist/src/pipeline/steps/generate-component.test.d.ts.map +1 -0
  36. package/dist/src/pipeline/steps/generate-component.test.js +106 -0
  37. package/dist/src/pipeline/steps/generate-component.test.js.map +1 -0
  38. package/dist/src/pipeline/steps/generate-story.d.ts +3 -0
  39. package/dist/src/pipeline/steps/generate-story.d.ts.map +1 -0
  40. package/dist/src/pipeline/steps/generate-story.js +14 -0
  41. package/dist/src/pipeline/steps/generate-story.js.map +1 -0
  42. package/dist/src/pipeline/steps/generate-story.test.d.ts.map +1 -0
  43. package/dist/src/pipeline/steps/generate-story.test.js +41 -0
  44. package/dist/src/pipeline/steps/generate-story.test.js.map +1 -0
  45. package/dist/src/pipeline/steps/generate-test.d.ts +4 -0
  46. package/dist/src/pipeline/steps/generate-test.d.ts.map +1 -0
  47. package/dist/src/pipeline/steps/generate-test.js +19 -0
  48. package/dist/src/pipeline/steps/generate-test.js.map +1 -0
  49. package/dist/src/pipeline/steps/generate-test.test.d.ts.map +1 -0
  50. package/dist/src/pipeline/steps/generate-test.test.js +60 -0
  51. package/dist/src/pipeline/steps/generate-test.test.js.map +1 -0
  52. package/dist/src/pipeline/steps/lint-fix-loop.d.ts +4 -0
  53. package/dist/src/pipeline/steps/lint-fix-loop.d.ts.map +1 -0
  54. package/dist/src/pipeline/steps/lint-fix-loop.js +45 -0
  55. package/dist/src/pipeline/steps/lint-fix-loop.js.map +1 -0
  56. package/dist/src/pipeline/steps/lint-fix-loop.test.d.ts +2 -0
  57. package/dist/src/pipeline/steps/lint-fix-loop.test.d.ts.map +1 -0
  58. package/dist/src/pipeline/steps/lint-fix-loop.test.js +119 -0
  59. package/dist/src/pipeline/steps/lint-fix-loop.test.js.map +1 -0
  60. package/dist/src/pipeline/steps/story-fix-loop.d.ts +4 -0
  61. package/dist/src/pipeline/steps/story-fix-loop.d.ts.map +1 -0
  62. package/dist/src/pipeline/steps/story-fix-loop.js +34 -0
  63. package/dist/src/pipeline/steps/story-fix-loop.js.map +1 -0
  64. package/dist/src/pipeline/steps/story-fix-loop.test.d.ts +2 -0
  65. package/dist/src/pipeline/steps/story-fix-loop.test.d.ts.map +1 -0
  66. package/dist/src/pipeline/steps/story-fix-loop.test.js +94 -0
  67. package/dist/src/pipeline/steps/story-fix-loop.test.js.map +1 -0
  68. package/dist/src/pipeline/steps/storybook-test.d.ts +3 -0
  69. package/dist/src/pipeline/steps/storybook-test.d.ts.map +1 -0
  70. package/dist/src/pipeline/steps/storybook-test.js +22 -0
  71. package/dist/src/pipeline/steps/storybook-test.js.map +1 -0
  72. package/dist/src/pipeline/steps/storybook-test.test.d.ts +2 -0
  73. package/dist/src/pipeline/steps/storybook-test.test.d.ts.map +1 -0
  74. package/dist/src/pipeline/steps/storybook-test.test.js +66 -0
  75. package/dist/src/pipeline/steps/storybook-test.test.js.map +1 -0
  76. package/dist/src/pipeline/steps/test-fix-loop.d.ts +4 -0
  77. package/dist/src/pipeline/steps/test-fix-loop.d.ts.map +1 -0
  78. package/dist/src/pipeline/steps/test-fix-loop.js +44 -0
  79. package/dist/src/pipeline/steps/test-fix-loop.js.map +1 -0
  80. package/dist/src/pipeline/steps/test-fix-loop.test.d.ts +2 -0
  81. package/dist/src/pipeline/steps/test-fix-loop.test.d.ts.map +1 -0
  82. package/dist/src/pipeline/steps/test-fix-loop.test.js +168 -0
  83. package/dist/src/pipeline/steps/test-fix-loop.test.js.map +1 -0
  84. package/dist/src/pipeline/steps/type-fix-loop.d.ts +4 -0
  85. package/dist/src/pipeline/steps/type-fix-loop.d.ts.map +1 -0
  86. package/dist/src/pipeline/steps/type-fix-loop.js +43 -0
  87. package/dist/src/pipeline/steps/type-fix-loop.js.map +1 -0
  88. package/dist/src/pipeline/steps/type-fix-loop.test.d.ts +2 -0
  89. package/dist/src/pipeline/steps/type-fix-loop.test.d.ts.map +1 -0
  90. package/dist/src/pipeline/steps/type-fix-loop.test.js +112 -0
  91. package/dist/src/pipeline/steps/type-fix-loop.test.js.map +1 -0
  92. package/dist/src/pipeline/steps/visual-test.d.ts +3 -0
  93. package/dist/src/pipeline/steps/visual-test.d.ts.map +1 -0
  94. package/dist/src/pipeline/steps/visual-test.js +4 -0
  95. package/dist/src/pipeline/steps/visual-test.js.map +1 -0
  96. package/dist/src/pipeline/steps/visual-test.test.d.ts +2 -0
  97. package/dist/src/pipeline/steps/visual-test.test.d.ts.map +1 -0
  98. package/dist/src/pipeline/steps/visual-test.test.js +9 -0
  99. package/dist/src/pipeline/steps/visual-test.test.js.map +1 -0
  100. package/dist/src/project-context.d.ts +10 -0
  101. package/dist/src/project-context.d.ts.map +1 -0
  102. package/dist/src/project-context.js +178 -0
  103. package/dist/src/project-context.js.map +1 -0
  104. package/dist/src/prompt.d.ts +39 -7
  105. package/dist/src/prompt.d.ts.map +1 -1
  106. package/dist/src/prompt.js +233 -23
  107. package/dist/src/prompt.js.map +1 -1
  108. package/dist/src/prompt.test.js +154 -9
  109. package/dist/src/prompt.test.js.map +1 -1
  110. package/dist/src/scaffold.d.ts +49 -0
  111. package/dist/src/scaffold.d.ts.map +1 -0
  112. package/dist/src/scaffold.js +208 -0
  113. package/dist/src/scaffold.js.map +1 -0
  114. package/dist/src/tools/lint-runner.d.ts +7 -0
  115. package/dist/src/tools/lint-runner.d.ts.map +1 -0
  116. package/dist/src/tools/lint-runner.js +48 -0
  117. package/dist/src/tools/lint-runner.js.map +1 -0
  118. package/dist/src/tools/lint-runner.test.d.ts +2 -0
  119. package/dist/src/tools/lint-runner.test.d.ts.map +1 -0
  120. package/dist/src/tools/lint-runner.test.js +90 -0
  121. package/dist/src/tools/lint-runner.test.js.map +1 -0
  122. package/dist/src/tools/storybook-runner.d.ts +6 -0
  123. package/dist/src/tools/storybook-runner.d.ts.map +1 -0
  124. package/dist/src/tools/storybook-runner.js +25 -0
  125. package/dist/src/tools/storybook-runner.js.map +1 -0
  126. package/dist/src/tools/storybook-runner.test.d.ts +2 -0
  127. package/dist/src/tools/storybook-runner.test.d.ts.map +1 -0
  128. package/dist/src/tools/storybook-runner.test.js +43 -0
  129. package/dist/src/tools/storybook-runner.test.js.map +1 -0
  130. package/dist/src/tools/test-runner.d.ts +9 -0
  131. package/dist/src/tools/test-runner.d.ts.map +1 -0
  132. package/dist/src/tools/test-runner.js +74 -0
  133. package/dist/src/tools/test-runner.js.map +1 -0
  134. package/dist/src/tools/test-runner.test.d.ts +2 -0
  135. package/dist/src/tools/test-runner.test.d.ts.map +1 -0
  136. package/dist/src/tools/test-runner.test.js +177 -0
  137. package/dist/src/tools/test-runner.test.js.map +1 -0
  138. package/dist/src/tools/type-checker.d.ts +6 -0
  139. package/dist/src/tools/type-checker.d.ts.map +1 -0
  140. package/dist/src/tools/type-checker.js +36 -0
  141. package/dist/src/tools/type-checker.js.map +1 -0
  142. package/dist/src/tools/type-checker.test.d.ts +2 -0
  143. package/dist/src/tools/type-checker.test.d.ts.map +1 -0
  144. package/dist/src/tools/type-checker.test.js +96 -0
  145. package/dist/src/tools/type-checker.test.js.map +1 -0
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/inputs/model-a/spec-deltas.json +1460 -0
  148. package/inputs/model-b/spec-deltas.json +1424 -0
  149. package/inputs/model-c/spec-deltas.json +1432 -0
  150. package/inputs/model-d/spec-deltas.json +967 -0
  151. package/inputs/model-e/spec-deltas.json +2292 -0
  152. package/ketchup-plan.md +43 -8
  153. package/package.json +3 -3
  154. package/scoring-heuristic.md +138 -0
  155. package/scripts/improve.ts +23 -18
  156. package/src/commands/implement-component.test.ts +309 -76
  157. package/src/commands/implement-component.ts +155 -31
  158. package/src/extract-exports.ts +53 -0
  159. package/src/generate-story-deterministic.ts +267 -0
  160. package/src/index.ts +12 -0
  161. package/src/pipeline/run-pipeline.test.ts +292 -0
  162. package/src/pipeline/run-pipeline.ts +160 -0
  163. package/src/pipeline/steps/generate-component.test.ts +130 -0
  164. package/src/pipeline/steps/generate-component.ts +60 -0
  165. package/src/pipeline/steps/generate-story.test.ts +54 -0
  166. package/src/pipeline/steps/generate-story.ts +17 -0
  167. package/src/pipeline/steps/generate-test.test.ts +75 -0
  168. package/src/pipeline/steps/generate-test.ts +25 -0
  169. package/src/pipeline/steps/lint-fix-loop.test.ts +155 -0
  170. package/src/pipeline/steps/lint-fix-loop.ts +59 -0
  171. package/src/pipeline/steps/story-fix-loop.test.ts +123 -0
  172. package/src/pipeline/steps/story-fix-loop.ts +47 -0
  173. package/src/pipeline/steps/storybook-test.test.ts +82 -0
  174. package/src/pipeline/steps/storybook-test.ts +27 -0
  175. package/src/pipeline/steps/test-fix-loop.test.ts +201 -0
  176. package/src/pipeline/steps/test-fix-loop.ts +56 -0
  177. package/src/pipeline/steps/type-fix-loop.test.ts +145 -0
  178. package/src/pipeline/steps/type-fix-loop.ts +55 -0
  179. package/src/pipeline/steps/visual-test.test.ts +10 -0
  180. package/src/pipeline/steps/visual-test.ts +5 -0
  181. package/src/project-context.ts +205 -0
  182. package/src/prompt.test.ts +174 -8
  183. package/src/prompt.ts +301 -23
  184. package/src/scaffold.ts +281 -0
  185. package/src/tools/lint-runner.test.ts +112 -0
  186. package/src/tools/lint-runner.ts +52 -0
  187. package/src/tools/storybook-runner.test.ts +53 -0
  188. package/src/tools/storybook-runner.ts +29 -0
  189. package/src/tools/test-runner.test.ts +213 -0
  190. package/src/tools/test-runner.ts +84 -0
  191. package/src/tools/type-checker.test.ts +120 -0
  192. package/src/tools/type-checker.ts +42 -0
  193. package/vitest.config.ts +9 -1
  194. package/dist/src/generate-component.d.ts +0 -4
  195. package/dist/src/generate-component.d.ts.map +0 -1
  196. package/dist/src/generate-component.js +0 -14
  197. package/dist/src/generate-component.js.map +0 -1
  198. package/dist/src/generate-component.test.d.ts.map +0 -1
  199. package/dist/src/generate-component.test.js +0 -73
  200. package/dist/src/generate-component.test.js.map +0 -1
  201. package/dist/src/generate-story.d.ts +0 -4
  202. package/dist/src/generate-story.d.ts.map +0 -1
  203. package/dist/src/generate-story.js +0 -14
  204. package/dist/src/generate-story.js.map +0 -1
  205. package/dist/src/generate-story.test.d.ts.map +0 -1
  206. package/dist/src/generate-story.test.js +0 -58
  207. package/dist/src/generate-story.test.js.map +0 -1
  208. package/dist/src/generate-test.d.ts +0 -4
  209. package/dist/src/generate-test.d.ts.map +0 -1
  210. package/dist/src/generate-test.js +0 -14
  211. package/dist/src/generate-test.js.map +0 -1
  212. package/dist/src/generate-test.test.d.ts.map +0 -1
  213. package/dist/src/generate-test.test.js +0 -77
  214. package/dist/src/generate-test.test.js.map +0 -1
  215. package/dist/src/reconcile.d.ts +0 -8
  216. package/dist/src/reconcile.d.ts.map +0 -1
  217. package/dist/src/reconcile.js +0 -18
  218. package/dist/src/reconcile.js.map +0 -1
  219. package/dist/src/reconcile.test.d.ts +0 -2
  220. package/dist/src/reconcile.test.d.ts.map +0 -1
  221. package/dist/src/reconcile.test.js +0 -108
  222. package/dist/src/reconcile.test.js.map +0 -1
  223. package/src/generate-component.test.ts +0 -89
  224. package/src/generate-component.ts +0 -16
  225. package/src/generate-story.test.ts +0 -71
  226. package/src/generate-story.ts +0 -16
  227. package/src/generate-test.test.ts +0 -93
  228. package/src/generate-test.ts +0 -16
  229. package/src/reconcile.test.ts +0 -127
  230. package/src/reconcile.ts +0 -27
  231. /package/dist/src/{generate-component.test.d.ts → pipeline/steps/generate-component.test.d.ts} +0 -0
  232. /package/dist/src/{generate-story.test.d.ts → pipeline/steps/generate-story.test.d.ts} +0 -0
  233. /package/dist/src/{generate-test.test.d.ts → pipeline/steps/generate-test.test.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/component-implementor-react@1.98.0 build /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
2
+ > @auto-engineer/component-implementor-react@1.99.0 build /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,14 +1,14 @@
1
1
 
2
- > @auto-engineer/component-implementor-react@1.97.2 test /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
2
+ > @auto-engineer/component-implementor-react@1.98.0 test /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
7
7
 
8
- ·························································
8
+ ·········································································································································
9
9
 
10
-  Test Files  8 passed (8)
11
-  Tests  57 passed (57)
12
-  Start at  06:39:56
13
-  Duration  4.63s (transform 1.44s, setup 0ms, collect 2.91s, tests 282ms, environment 22ms, prepare 3.51s)
10
+  Test Files  18 passed (18)
11
+  Tests  137 passed (137)
12
+  Start at  15:51:56
13
+  Duration  14.76s (transform 3.08s, setup 0ms, collect 13.04s, tests 1.05s, environment 4ms, prepare 10.91s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/component-implementor-react@1.97.2 type-check /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
2
+ > @auto-engineer/component-implementor-react@1.98.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,79 @@
1
1
  # @auto-engineer/component-implementor-react
2
2
 
3
+ ## 1.99.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`dbd0fa9`](https://github.com/BeOnAuto/auto-engineer/commit/dbd0fa96c77a1d43494d4f4c89975bcfd0a9a191) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: wire implement-component to TDD pipeline
8
+
9
+ - [`88a2432`](https://github.com/BeOnAuto/auto-engineer/commit/88a24329bef929901b924aed0c570e5eca2ff8b6) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add lint-runner tool
10
+
11
+ - [`0c278fb`](https://github.com/BeOnAuto/auto-engineer/commit/0c278fb13ed39cd130b48bbfd0706c8810e57cb3) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add generate-test pipeline step
12
+
13
+ - [`66184b2`](https://github.com/BeOnAuto/auto-engineer/commit/66184b25e5f56c856a06dd1bb23bbe7d71df7dde) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add visual-test pipeline step
14
+
15
+ - [`3ac9683`](https://github.com/BeOnAuto/auto-engineer/commit/3ac968344263b8c8de7d993d08f11c54ace5806f) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add test-fix-loop pipeline step
16
+
17
+ - [`218c8f6`](https://github.com/BeOnAuto/auto-engineer/commit/218c8f6c18b69c981c629577298b1a088d19e736) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add test-runner tool
18
+
19
+ - [`2e7a605`](https://github.com/BeOnAuto/auto-engineer/commit/2e7a6058d8f07dff6882e96c3739b2a1a721885b) Thanks [@osamanar](https://github.com/osamanar)! - Now I have a clear picture of the changes. Here's the changelog:
20
+ - Switched to sequential test-first generation so components are guided by their tests, producing more consistent and correct code
21
+ - Added project context awareness so generated components use correct import paths, installed dependencies, and existing UI library components
22
+ - Improved Storybook story generation with correct CSF3 format, proper import paths, and better defaults
23
+ - Enhanced test generation with Tailwind CSS and semantic element guidance to avoid common JSDOM pitfalls
24
+
25
+ - [`f86a0a3`](https://github.com/BeOnAuto/auto-engineer/commit/f86a0a34a06049b11d80ad7028ad1f890c75a670) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **pipeline**: reset function
26
+ - **root**: lock files
27
+ - **component-implementor-react**: derive component path when files.create is empty
28
+ - **component-implementor-react**: default targetDir to cwd when not provided
29
+ - **pipeline**: remove deprecated react-component-implementer package
30
+
31
+ - [`4157be1`](https://github.com/BeOnAuto/auto-engineer/commit/4157be1274d746e6f1d64c5e0d88ec7207d59a7f) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add storybook-test pipeline step
32
+
33
+ - [`bcdc919`](https://github.com/BeOnAuto/auto-engineer/commit/bcdc91953e40f73e6e58efdad96a96067942d9cd) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add story-fix-loop pipeline step
34
+
35
+ - [`0e56745`](https://github.com/BeOnAuto/auto-engineer/commit/0e567455252e951c09fe9f2dce864ff7e0f366bb) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: wire implement-component to TDD pipeline
36
+ - **component-implementor-react**: add pipeline runner
37
+ - **component-implementor-react**: add visual-test pipeline step
38
+ - **component-implementor-react**: add storybook-test pipeline step
39
+ - **component-implementor-react**: add story-fix-loop pipeline step
40
+
41
+ - [`bbe1a2d`](https://github.com/BeOnAuto/auto-engineer/commit/bbe1a2d7dca3d85e4fd32434aa3eebfe4c3727cf) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add fixer agent prompts
42
+
43
+ - [`5c6e679`](https://github.com/BeOnAuto/auto-engineer/commit/5c6e6798747ef3a991985320fe57c7d9ac5d92d6) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add type-fix-loop pipeline step
44
+
45
+ - [`6a3b9b6`](https://github.com/BeOnAuto/auto-engineer/commit/6a3b9b68e43510af1279e86c7fd77406f9337c8d) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add type-checker tool
46
+
47
+ - [`2fcd6bf`](https://github.com/BeOnAuto/auto-engineer/commit/2fcd6bff85a71be29cc761d296655b47a86a7f1e) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add generate-story pipeline step
48
+
49
+ - [`e7826b4`](https://github.com/BeOnAuto/auto-engineer/commit/e7826b453694b5313e6e5adc2c708fa8d1cb189c) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add storybook-runner tool
50
+
51
+ - [`a2c443d`](https://github.com/BeOnAuto/auto-engineer/commit/a2c443d6fba92e4cb642771a361286bf83399070) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add lint-fix-loop pipeline step
52
+
53
+ - [`78aed6e`](https://github.com/BeOnAuto/auto-engineer/commit/78aed6ee75c5e704018f250a63069e9bba0ff722) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add generate-component pipeline step
54
+
55
+ - [`1183af5`](https://github.com/BeOnAuto/auto-engineer/commit/1183af5740aa74975b9b6e7ed665b3deeedac520) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: add pipeline runner
56
+
57
+ ### Patch Changes
58
+
59
+ - [`72fcc02`](https://github.com/BeOnAuto/auto-engineer/commit/72fcc022df4630900dad4d7e76b0cb588f220c5f) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: format source files to pass biome check
60
+
61
+ - [`49da584`](https://github.com/BeOnAuto/auto-engineer/commit/49da5840118ec25922a47dbe3fc4e824ad6d08f5) Thanks [@osamanar](https://github.com/osamanar)! - - **pipeline**: use res.on('close') for SSE disconnect and http.get in test
62
+
63
+ - [`e777b1b`](https://github.com/BeOnAuto/auto-engineer/commit/e777b1b0ee53c2ac8881e498c9fce80b2637db23) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: remove old generators, update exports
64
+
65
+ - [`2c04b77`](https://github.com/BeOnAuto/auto-engineer/commit/2c04b7752b2f63c7f0b4a86877d61f56305e639f) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: remove all explicit any from improve script
66
+
67
+ - [`ece67b6`](https://github.com/BeOnAuto/auto-engineer/commit/ece67b629546a717cae3f1fd50f14d3c3ccdb549) Thanks [@osamanar](https://github.com/osamanar)! - - **examples/typical**: use workspace protocol instead of link for internal deps
68
+
69
+ - [`c0fe3a4`](https://github.com/BeOnAuto/auto-engineer/commit/c0fe3a4185b1438e2d741ee27ed43522099a4681) Thanks [@osamanar](https://github.com/osamanar)! - - **file-upload**: narrow Uint8Array to Uint8Array<ArrayBuffer> for BodyInit compatibility
70
+
71
+ - [`ad1fb3b`](https://github.com/BeOnAuto/auto-engineer/commit/ad1fb3b9601773a98b4f33cffc08899468e46560) Thanks [@osamanar](https://github.com/osamanar)! - - **component-implementor-react**: update ketchup plan
72
+
73
+ - Updated dependencies [[`dbd0fa9`](https://github.com/BeOnAuto/auto-engineer/commit/dbd0fa96c77a1d43494d4f4c89975bcfd0a9a191), [`72fcc02`](https://github.com/BeOnAuto/auto-engineer/commit/72fcc022df4630900dad4d7e76b0cb588f220c5f), [`88a2432`](https://github.com/BeOnAuto/auto-engineer/commit/88a24329bef929901b924aed0c570e5eca2ff8b6), [`0c278fb`](https://github.com/BeOnAuto/auto-engineer/commit/0c278fb13ed39cd130b48bbfd0706c8810e57cb3), [`49da584`](https://github.com/BeOnAuto/auto-engineer/commit/49da5840118ec25922a47dbe3fc4e824ad6d08f5), [`66184b2`](https://github.com/BeOnAuto/auto-engineer/commit/66184b25e5f56c856a06dd1bb23bbe7d71df7dde), [`3ac9683`](https://github.com/BeOnAuto/auto-engineer/commit/3ac968344263b8c8de7d993d08f11c54ace5806f), [`218c8f6`](https://github.com/BeOnAuto/auto-engineer/commit/218c8f6c18b69c981c629577298b1a088d19e736), [`2e7a605`](https://github.com/BeOnAuto/auto-engineer/commit/2e7a6058d8f07dff6882e96c3739b2a1a721885b), [`e777b1b`](https://github.com/BeOnAuto/auto-engineer/commit/e777b1b0ee53c2ac8881e498c9fce80b2637db23), [`f86a0a3`](https://github.com/BeOnAuto/auto-engineer/commit/f86a0a34a06049b11d80ad7028ad1f890c75a670), [`4157be1`](https://github.com/BeOnAuto/auto-engineer/commit/4157be1274d746e6f1d64c5e0d88ec7207d59a7f), [`bcdc919`](https://github.com/BeOnAuto/auto-engineer/commit/bcdc91953e40f73e6e58efdad96a96067942d9cd), [`0e56745`](https://github.com/BeOnAuto/auto-engineer/commit/0e567455252e951c09fe9f2dce864ff7e0f366bb), [`2c04b77`](https://github.com/BeOnAuto/auto-engineer/commit/2c04b7752b2f63c7f0b4a86877d61f56305e639f), [`bbe1a2d`](https://github.com/BeOnAuto/auto-engineer/commit/bbe1a2d7dca3d85e4fd32434aa3eebfe4c3727cf), [`5c6e679`](https://github.com/BeOnAuto/auto-engineer/commit/5c6e6798747ef3a991985320fe57c7d9ac5d92d6), [`ece67b6`](https://github.com/BeOnAuto/auto-engineer/commit/ece67b629546a717cae3f1fd50f14d3c3ccdb549), [`6a3b9b6`](https://github.com/BeOnAuto/auto-engineer/commit/6a3b9b68e43510af1279e86c7fd77406f9337c8d), [`2fcd6bf`](https://github.com/BeOnAuto/auto-engineer/commit/2fcd6bff85a71be29cc761d296655b47a86a7f1e), [`e7826b4`](https://github.com/BeOnAuto/auto-engineer/commit/e7826b453694b5313e6e5adc2c708fa8d1cb189c), [`c0fe3a4`](https://github.com/BeOnAuto/auto-engineer/commit/c0fe3a4185b1438e2d741ee27ed43522099a4681), [`a2c443d`](https://github.com/BeOnAuto/auto-engineer/commit/a2c443d6fba92e4cb642771a361286bf83399070), [`ad1fb3b`](https://github.com/BeOnAuto/auto-engineer/commit/ad1fb3b9601773a98b4f33cffc08899468e46560), [`78aed6e`](https://github.com/BeOnAuto/auto-engineer/commit/78aed6ee75c5e704018f250a63069e9bba0ff722), [`1183af5`](https://github.com/BeOnAuto/auto-engineer/commit/1183af5740aa74975b9b6e7ed665b3deeedac520)]:
74
+ - @auto-engineer/message-bus@1.99.0
75
+ - @auto-engineer/model-factory@1.99.0
76
+
3
77
  ## 1.98.0
4
78
 
5
79
  ### Minor Changes
@@ -10,6 +10,25 @@ type ComponentJobPayload = {
10
10
  create?: string[];
11
11
  modify?: string[];
12
12
  };
13
+ composes: {
14
+ id: string;
15
+ path: string;
16
+ }[];
17
+ props?: Array<{
18
+ name: string;
19
+ type: string;
20
+ required: boolean;
21
+ default?: string;
22
+ description: string;
23
+ category: 'data' | 'callback' | 'slot' | 'visual' | 'state' | 'config';
24
+ }>;
25
+ storyVariants?: Array<{
26
+ name: string;
27
+ description: string;
28
+ args: Record<string, unknown>;
29
+ needsPlayFunction?: boolean;
30
+ playDescription?: string;
31
+ }>;
13
32
  };
14
33
  type ComponentJob = {
15
34
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"implement-component.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAS5F,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACjD,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,oBAAoB,EACpB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,sBAAsB,EACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CACF,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,KAAK,CACpD,+BAA+B,EAC/B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,yBAAyB,GAAG,kCAAkC,CAAC;AA2BtG,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,yBAAyB,GAAG,kCAAkC,CAAC,CAyEzE;AAED,eAAO,MAAM,cAAc;;;;;;GA2BzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"implement-component.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAc5F,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChD,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;KACxE,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,oBAAoB,EACpB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,sBAAsB,EACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CACF,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,KAAK,CACpD,+BAA+B,EAC/B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,yBAAyB,GAAG,kCAAkC,CAAC;AAkGtG,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,yBAAyB,GAAG,kCAAkC,CAAC,CAyGzE;AAED,eAAO,MAAM,cAAc;;;;;;GA2BzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { mkdir, readFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import { defineCommandHandler } from '@auto-engineer/message-bus';
5
+ import { createModelFromEnv } from '@auto-engineer/model-factory';
5
6
  import createDebug from 'debug';
6
- import { generateComponentFile } from '../generate-component.js';
7
- import { generateStoryFile } from '../generate-story.js';
8
- import { generateTestFile } from '../generate-test.js';
9
- import { reconcile } from '../reconcile.js';
7
+ import { buildPipelineSteps, runPipeline, } from '../pipeline/run-pipeline.js';
8
+ import { buildFullProjectSection } from '../project-context.js';
10
9
  const debug = createDebug('auto:component-implementor-react:command');
11
10
  function pascalCase(id) {
12
11
  return id
@@ -14,6 +13,17 @@ function pascalCase(id) {
14
13
  .map((s) => s.charAt(0).toUpperCase() + s.slice(1))
15
14
  .join('');
16
15
  }
16
+ function filePathToImportAlias(filePath) {
17
+ let rel = filePath;
18
+ if (rel.startsWith('./')) {
19
+ rel = rel.slice(2);
20
+ }
21
+ if (rel.startsWith('src/')) {
22
+ rel = rel.slice(4);
23
+ }
24
+ rel = rel.replace(/\.tsx?$/, '');
25
+ return `@/${rel}`;
26
+ }
17
27
  function deriveFilePaths(targetDir, payload) {
18
28
  const rawPath = payload.files.modify?.[0] ?? payload.files.create?.[0] ?? '';
19
29
  const componentName = pascalCase(payload.componentId);
@@ -26,46 +36,115 @@ function deriveFilePaths(targetDir, payload) {
26
36
  : path.join(dir, `${componentName}.stories.tsx`);
27
37
  return { componentPath, testPath, storyPath, componentName };
28
38
  }
39
+ function buildPipelineConfig() {
40
+ return {
41
+ models: {
42
+ generateTest: process.env.STEP_GENERATE_TEST_MODEL ??
43
+ process.env.IMPL_MODEL ??
44
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
45
+ '',
46
+ generateComponent: process.env.STEP_GENERATE_COMPONENT_MODEL ??
47
+ process.env.IMPL_MODEL ??
48
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
49
+ '',
50
+ typeFixer: process.env.STEP_TYPE_FIXER_MODEL ??
51
+ process.env.IMPL_FIXER_MODEL ??
52
+ process.env.IMPL_MODEL ??
53
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
54
+ '',
55
+ testFixer: process.env.STEP_TEST_FIXER_MODEL ??
56
+ process.env.IMPL_FIXER_MODEL ??
57
+ process.env.IMPL_MODEL ??
58
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
59
+ '',
60
+ lintFixer: process.env.STEP_LINT_FIXER_MODEL ??
61
+ process.env.IMPL_FIXER_MODEL ??
62
+ process.env.IMPL_MODEL ??
63
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
64
+ '',
65
+ storyFixer: process.env.STEP_STORY_FIXER_MODEL ??
66
+ process.env.IMPL_FIXER_MODEL ??
67
+ process.env.IMPL_MODEL ??
68
+ process.env.CUSTOM_PROVIDER_DEFAULT_MODEL ??
69
+ '',
70
+ },
71
+ maxTypeFixIterations: 3,
72
+ maxTestFixIterations: 3,
73
+ maxLintFixIterations: 2,
74
+ maxStoryFixIterations: 2,
75
+ enableStorybookTest: process.env.ENABLE_STORYBOOK_TEST === 'true',
76
+ enableVisualTest: process.env.ENABLE_VISUAL_TEST === 'true',
77
+ };
78
+ }
79
+ function createPipelineModels() {
80
+ const model = createModelFromEnv();
81
+ return {
82
+ generateTest: model,
83
+ generateComponent: model,
84
+ typeFixer: model,
85
+ testFixer: model,
86
+ lintFixer: model,
87
+ storyFixer: model,
88
+ };
89
+ }
29
90
  export async function handleImplementComponent(command) {
30
91
  const { targetDir = './client', job } = command.data;
31
92
  const { payload } = job;
32
93
  const { componentPath, testPath, storyPath, componentName } = deriveFilePaths(targetDir, payload);
33
94
  const isModify = (payload.files.modify?.length ?? 0) > 0;
34
- debug('Implementing component: %s', componentName);
95
+ const rawPath = payload.files.modify?.[0] ?? payload.files.create?.[0] ?? '';
96
+ const componentImportPath = filePathToImportAlias(rawPath);
97
+ debug('Implementing component: %s (mode: %s)', componentName, isModify ? 'modify' : 'create');
35
98
  try {
36
- let existingComponent;
37
- if (isModify && existsSync(componentPath)) {
38
- existingComponent = await readFile(componentPath, 'utf-8');
39
- debug('Read existing component: %d chars', existingComponent.length);
40
- }
41
99
  const specDeltas = {
42
100
  structure: payload.structure,
43
101
  rendering: payload.rendering,
44
102
  interaction: payload.interaction,
45
103
  styling: payload.styling,
46
104
  };
47
- debug('Running Frontend, Tester, and Story agents in parallel...');
48
- const [componentCode, testCode, storyCode] = await Promise.all([
49
- generateComponentFile({ componentName, specDeltas, existingComponent }),
50
- generateTestFile({ componentName, specDeltas, existingComponent }),
51
- generateStoryFile({ componentName, specDeltas }),
52
- ]);
53
- debug('Reconciling component and story against tests...');
54
- const reconciled = await reconcile({
105
+ debug('Building project context...');
106
+ const projectSection = await buildFullProjectSection(targetDir, payload.composes);
107
+ let existingComponent;
108
+ let existingTest;
109
+ if (isModify && existsSync(componentPath)) {
110
+ existingComponent = await readFile(componentPath, 'utf-8');
111
+ existingTest = existsSync(testPath) ? await readFile(testPath, 'utf-8') : undefined;
112
+ }
113
+ await mkdir(path.dirname(testPath), { recursive: true });
114
+ const ctx = {
55
115
  componentName,
116
+ componentPath,
117
+ testPath,
118
+ storyPath,
119
+ componentImportPath,
120
+ targetDir,
56
121
  specDeltas,
57
- componentCode,
58
- testCode,
59
- storyCode,
122
+ projectSection,
123
+ props: payload.props,
124
+ composes: payload.composes,
60
125
  existingComponent,
61
- });
62
- await mkdir(path.dirname(testPath), { recursive: true });
63
- await Promise.all([
64
- writeFile(testPath, testCode, 'utf-8'),
65
- writeFile(componentPath, reconciled.componentCode, 'utf-8'),
66
- writeFile(storyPath, reconciled.storyCode, 'utf-8'),
67
- ]);
68
- debug('Wrote 3 files for %s', componentName);
126
+ existingTest,
127
+ isModify,
128
+ storyVariants: payload.storyVariants,
129
+ llmCalls: 0,
130
+ fixIterations: 0,
131
+ };
132
+ const config = buildPipelineConfig();
133
+ const models = createPipelineModels();
134
+ debug('Running TDD pipeline...');
135
+ const steps = buildPipelineSteps(models, config, ctx);
136
+ const result = await runPipeline(steps, ctx);
137
+ if (!result.success) {
138
+ debug('Pipeline failed: %s (LLM calls: %d, fix iterations: %d)', result.error, result.llmCalls, result.fixIterations);
139
+ return {
140
+ type: 'ComponentImplementationFailed',
141
+ data: { error: result.error ?? 'Pipeline failed', name: componentName },
142
+ timestamp: new Date(),
143
+ requestId: command.requestId,
144
+ correlationId: command.correlationId,
145
+ };
146
+ }
147
+ debug('Pipeline succeeded for %s (LLM calls: %d, fix iterations: %d)', componentName, result.llmCalls, result.fixIterations);
69
148
  return {
70
149
  type: 'ComponentImplemented',
71
150
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"implement-component.js","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implement-component.js","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"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"}