@auto-engineer/component-implementor-react 1.97.2 → 1.98.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 +6 -6
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +25 -0
- package/dist/src/commands/implement-component.d.ts.map +1 -1
- package/dist/src/commands/implement-component.js +7 -4
- package/dist/src/commands/implement-component.js.map +1 -1
- package/dist/src/commands/implement-component.test.js +129 -0
- package/dist/src/commands/implement-component.test.js.map +1 -1
- package/dist/src/prompt.test.js +71 -0
- package/dist/src/prompt.test.js.map +1 -1
- package/dist/src/spec-contract.js +1 -1
- package/dist/src/spec-contract.js.map +1 -1
- package/dist/src/spec-contract.test.d.ts +2 -0
- package/dist/src/spec-contract.test.d.ts.map +1 -0
- package/dist/src/spec-contract.test.js +21 -0
- package/dist/src/spec-contract.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/commands/implement-component.test.ts +150 -0
- package/src/commands/implement-component.ts +8 -4
- package/src/prompt.test.ts +79 -0
- package/src/spec-contract.test.ts +23 -0
- package/src/spec-contract.ts +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/component-implementor-react@1.
|
|
2
|
+
> @auto-engineer/component-implementor-react@1.98.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/
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/component-implementor-react@1.97.
|
|
2
|
+
> @auto-engineer/component-implementor-react@1.97.2 test /home/runner/work/auto-engineer/auto-engineer/packages/component-implementor-react
|
|
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/component-implementor-react[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
|
|
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
|
|
9
9
|
|
|
10
|
-
[2m Test Files [22m [1m[
|
|
11
|
-
[2m Tests [22m [1m[
|
|
12
|
-
[2m Start at [22m
|
|
13
|
-
[2m Duration [22m
|
|
10
|
+
[2m Test Files [22m [1m[32m8 passed[39m[22m[90m (8)[39m
|
|
11
|
+
[2m Tests [22m [1m[32m57 passed[39m[22m[90m (57)[39m
|
|
12
|
+
[2m Start at [22m 06:39:56
|
|
13
|
+
[2m Duration [22m 4.63s[2m (transform 1.44s, setup 0ms, collect 2.91s, tests 282ms, environment 22ms, prepare 3.51s)[22m
|
|
14
14
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/component-implementor-react@1.97.
|
|
2
|
+
> @auto-engineer/component-implementor-react@1.97.2 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,30 @@
|
|
|
1
1
|
# @auto-engineer/component-implementor-react
|
|
2
2
|
|
|
3
|
+
## 1.98.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`b91b61a`](https://github.com/BeOnAuto/auto-engineer/commit/b91b61a1b486e20aac0f55bf4b7e462cc733d9c5) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Added pipeline reset function to allow clearing and reinitializing pipeline state
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [`a3eb50f`](https://github.com/BeOnAuto/auto-engineer/commit/a3eb50f1ce9394fa606eb86d1c1dcbb8d7ef3935) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **component-implementor-react**: derive component path when files.create is empty
|
|
12
|
+
|
|
13
|
+
- [`a032125`](https://github.com/BeOnAuto/auto-engineer/commit/a0321258b35adeacc67ede0ace593dd8a9913939) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Fixed lock files to ensure consistent dependency resolution
|
|
14
|
+
|
|
15
|
+
- [`070310d`](https://github.com/BeOnAuto/auto-engineer/commit/070310d44e41569aeea61501cbf18e44fa995d28) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: always update server package.json dependency versions
|
|
16
|
+
- **global**: version packages
|
|
17
|
+
|
|
18
|
+
- [`3c8f4d4`](https://github.com/BeOnAuto/auto-engineer/commit/3c8f4d4dfeb4a883bf45fb1876e0836f195e9af8) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: register component-implementor-react as plugin
|
|
19
|
+
|
|
20
|
+
- [`18ae6ee`](https://github.com/BeOnAuto/auto-engineer/commit/18ae6eeb5ee347ede38eaa9acdbf1ff34358b778) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **component-implementor-react**: guard buildSpecSection against undefined items
|
|
21
|
+
|
|
22
|
+
- [`12a0549`](https://github.com/BeOnAuto/auto-engineer/commit/12a0549079253778e043fdfd21b12bad2eb8469a) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **component-implementor-react**: default targetDir to cwd when not provided
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [[`a3eb50f`](https://github.com/BeOnAuto/auto-engineer/commit/a3eb50f1ce9394fa606eb86d1c1dcbb8d7ef3935), [`b91b61a`](https://github.com/BeOnAuto/auto-engineer/commit/b91b61a1b486e20aac0f55bf4b7e462cc733d9c5), [`a032125`](https://github.com/BeOnAuto/auto-engineer/commit/a0321258b35adeacc67ede0ace593dd8a9913939), [`070310d`](https://github.com/BeOnAuto/auto-engineer/commit/070310d44e41569aeea61501cbf18e44fa995d28), [`3c8f4d4`](https://github.com/BeOnAuto/auto-engineer/commit/3c8f4d4dfeb4a883bf45fb1876e0836f195e9af8), [`18ae6ee`](https://github.com/BeOnAuto/auto-engineer/commit/18ae6eeb5ee347ede38eaa9acdbf1ff34358b778), [`12a0549`](https://github.com/BeOnAuto/auto-engineer/commit/12a0549079253778e043fdfd21b12bad2eb8469a)]:
|
|
25
|
+
- @auto-engineer/message-bus@1.98.0
|
|
26
|
+
- @auto-engineer/model-factory@1.98.0
|
|
27
|
+
|
|
3
28
|
## 1.97.2
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
|
@@ -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;
|
|
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"}
|
|
@@ -16,15 +16,18 @@ function pascalCase(id) {
|
|
|
16
16
|
}
|
|
17
17
|
function deriveFilePaths(targetDir, payload) {
|
|
18
18
|
const rawPath = payload.files.modify?.[0] ?? payload.files.create?.[0] ?? '';
|
|
19
|
-
const componentPath = path.resolve(targetDir, rawPath);
|
|
20
|
-
const dir = path.dirname(componentPath);
|
|
21
19
|
const componentName = pascalCase(payload.componentId);
|
|
20
|
+
const effectivePath = rawPath || `src/components/${componentName}.tsx`;
|
|
21
|
+
const componentPath = path.resolve(targetDir, effectivePath);
|
|
22
|
+
const dir = path.dirname(componentPath);
|
|
22
23
|
const testPath = path.join(dir, `${componentName}.test.tsx`);
|
|
23
|
-
const storyPath =
|
|
24
|
+
const storyPath = payload.storybookPath && payload.storybookPath !== '.stories'
|
|
25
|
+
? path.resolve(targetDir, payload.storybookPath)
|
|
26
|
+
: path.join(dir, `${componentName}.stories.tsx`);
|
|
24
27
|
return { componentPath, testPath, storyPath, componentName };
|
|
25
28
|
}
|
|
26
29
|
export async function handleImplementComponent(command) {
|
|
27
|
-
const { targetDir, job } = command.data;
|
|
30
|
+
const { targetDir = './client', job } = command.data;
|
|
28
31
|
const { payload } = job;
|
|
29
32
|
const { componentPath, testPath, storyPath, componentName } = deriveFilePaths(targetDir, payload);
|
|
30
33
|
const isModify = (payload.files.modify?.length ?? 0) > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement-component.js","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAgB,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC5F,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,KAAK,GAAG,WAAW,CAAC,0CAA0C,CAAC,CAAC;AAgDtE,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CACtB,SAAiB,EACjB,OAA4B;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"implement-component.js","sourceRoot":"","sources":["../../../src/commands/implement-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,6 +128,135 @@ describe('implement-component', () => {
|
|
|
128
128
|
correlationId: 'cor-1',
|
|
129
129
|
});
|
|
130
130
|
});
|
|
131
|
+
it('handles payload with undefined spec delta fields without crashing', async () => {
|
|
132
|
+
const mockGenerateText = vi.mocked(generateText);
|
|
133
|
+
mockGenerateText
|
|
134
|
+
.mockResolvedValueOnce({ text: 'component file code' })
|
|
135
|
+
.mockResolvedValueOnce({ text: 'test file code' })
|
|
136
|
+
.mockResolvedValueOnce({ text: 'story file code' })
|
|
137
|
+
.mockResolvedValueOnce({
|
|
138
|
+
text: '```tsx\nreconciled component\n```\n\n```tsx\nreconciled story\n```',
|
|
139
|
+
});
|
|
140
|
+
vi.mocked(existsSync).mockReturnValue(false);
|
|
141
|
+
vi.mocked(writeFile).mockResolvedValue(undefined);
|
|
142
|
+
// Simulate production payload where the pipeline omits spec delta fields
|
|
143
|
+
// (e.g. "Resource-preview", "Plant-fields-page" components).
|
|
144
|
+
// At runtime JSON deserialization can produce undefined for these fields,
|
|
145
|
+
// bypassing TypeScript's compile-time guarantees.
|
|
146
|
+
const command = {
|
|
147
|
+
type: 'ImplementComponent',
|
|
148
|
+
data: {
|
|
149
|
+
targetDir: '/project/client',
|
|
150
|
+
job: {
|
|
151
|
+
id: 'job_3',
|
|
152
|
+
dependsOn: [],
|
|
153
|
+
target: 'ImplementComponent',
|
|
154
|
+
payload: {
|
|
155
|
+
componentId: 'resource-preview',
|
|
156
|
+
structure: ['renders a preview card'],
|
|
157
|
+
rendering: undefined,
|
|
158
|
+
interaction: undefined,
|
|
159
|
+
styling: undefined,
|
|
160
|
+
storybookPath: 'src/components/ui/ResourcePreview.stories.tsx',
|
|
161
|
+
files: { create: ['src/components/ui/ResourcePreview.tsx'] },
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
requestId: 'req-1',
|
|
166
|
+
correlationId: 'cor-1',
|
|
167
|
+
};
|
|
168
|
+
// Cast through unknown to bypass TypeScript — this is what happens at runtime
|
|
169
|
+
// when the pipeline sends a payload with missing fields
|
|
170
|
+
const result = await handleImplementComponent(command);
|
|
171
|
+
// Should succeed, not crash. Undefined spec delta fields should be treated as empty arrays.
|
|
172
|
+
// Currently fails: buildSpecSection() throws "Cannot read properties of undefined (reading 'map')"
|
|
173
|
+
// which gets caught by try/catch and returns ComponentImplementationFailed instead.
|
|
174
|
+
expect(result.type).toBe('ComponentImplemented');
|
|
175
|
+
});
|
|
176
|
+
it('defaults targetDir to ./client when not provided', async () => {
|
|
177
|
+
const mockGenerateText = vi.mocked(generateText);
|
|
178
|
+
mockGenerateText
|
|
179
|
+
.mockResolvedValueOnce({ text: 'component code' })
|
|
180
|
+
.mockResolvedValueOnce({ text: 'test code' })
|
|
181
|
+
.mockResolvedValueOnce({ text: 'story code' })
|
|
182
|
+
.mockResolvedValueOnce({
|
|
183
|
+
text: '```tsx\nrc\n```\n```tsx\nrs\n```',
|
|
184
|
+
});
|
|
185
|
+
vi.mocked(existsSync).mockReturnValue(false);
|
|
186
|
+
vi.mocked(writeFile).mockResolvedValue(undefined);
|
|
187
|
+
const command = {
|
|
188
|
+
type: 'ImplementComponent',
|
|
189
|
+
data: {
|
|
190
|
+
job: {
|
|
191
|
+
id: 'job_1',
|
|
192
|
+
dependsOn: [],
|
|
193
|
+
target: 'ImplementComponent',
|
|
194
|
+
payload: {
|
|
195
|
+
componentId: 'my-widget',
|
|
196
|
+
structure: ['renders a widget'],
|
|
197
|
+
rendering: ['shows content'],
|
|
198
|
+
interaction: ['handles click'],
|
|
199
|
+
styling: ['uses primary'],
|
|
200
|
+
storybookPath: 'src/MyWidget.stories.tsx',
|
|
201
|
+
files: { create: ['src/MyWidget.tsx'] },
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
requestId: 'req-1',
|
|
206
|
+
correlationId: 'cor-1',
|
|
207
|
+
};
|
|
208
|
+
const result = await handleImplementComponent(command);
|
|
209
|
+
expect(result).toEqual(expect.objectContaining({
|
|
210
|
+
type: 'ComponentImplemented',
|
|
211
|
+
data: expect.objectContaining({ name: 'MyWidget' }),
|
|
212
|
+
}));
|
|
213
|
+
});
|
|
214
|
+
it('derives component path from componentId when files.create is empty string', async () => {
|
|
215
|
+
const mockGenerateText = vi.mocked(generateText);
|
|
216
|
+
mockGenerateText
|
|
217
|
+
.mockResolvedValueOnce({ text: 'component code' })
|
|
218
|
+
.mockResolvedValueOnce({ text: 'test code' })
|
|
219
|
+
.mockResolvedValueOnce({ text: 'story code' })
|
|
220
|
+
.mockResolvedValueOnce({
|
|
221
|
+
text: '```tsx\nrc\n```\n```tsx\nrs\n```',
|
|
222
|
+
});
|
|
223
|
+
vi.mocked(existsSync).mockReturnValue(false);
|
|
224
|
+
vi.mocked(writeFile).mockResolvedValue(undefined);
|
|
225
|
+
const command = makeCommand({
|
|
226
|
+
job: {
|
|
227
|
+
id: 'job_1',
|
|
228
|
+
dependsOn: [],
|
|
229
|
+
target: 'ImplementComponent',
|
|
230
|
+
payload: {
|
|
231
|
+
componentId: 'task-form-input',
|
|
232
|
+
structure: ['renders input'],
|
|
233
|
+
rendering: [],
|
|
234
|
+
interaction: [],
|
|
235
|
+
styling: [],
|
|
236
|
+
storybookPath: '.stories',
|
|
237
|
+
files: { create: [''] },
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
const result = await handleImplementComponent(command);
|
|
242
|
+
expect(result).toEqual({
|
|
243
|
+
type: 'ComponentImplemented',
|
|
244
|
+
data: {
|
|
245
|
+
name: 'TaskFormInput',
|
|
246
|
+
componentPath: expect.stringContaining('src/components/TaskFormInput.tsx'),
|
|
247
|
+
testPath: expect.stringContaining('src/components/TaskFormInput.test.tsx'),
|
|
248
|
+
storyPath: expect.stringContaining('src/components/TaskFormInput.stories.tsx'),
|
|
249
|
+
filesCreated: expect.arrayContaining([
|
|
250
|
+
expect.stringContaining('TaskFormInput.tsx'),
|
|
251
|
+
expect.stringContaining('TaskFormInput.test.tsx'),
|
|
252
|
+
expect.stringContaining('TaskFormInput.stories.tsx'),
|
|
253
|
+
]),
|
|
254
|
+
},
|
|
255
|
+
timestamp: expect.any(Date),
|
|
256
|
+
requestId: 'req-1',
|
|
257
|
+
correlationId: 'cor-1',
|
|
258
|
+
});
|
|
259
|
+
});
|
|
131
260
|
});
|
|
132
261
|
describe('commandHandler', () => {
|
|
133
262
|
it('has correct metadata', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement-component.test.js","sourceRoot":"","sources":["../../../src/commands/implement-component.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"implement-component.test.js","sourceRoot":"","sources":["../../../src/commands/implement-component.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/prompt.test.js
CHANGED
|
@@ -106,6 +106,77 @@ describe('prompt builders', () => {
|
|
|
106
106
|
expect(prompt).toContain('old code');
|
|
107
107
|
});
|
|
108
108
|
});
|
|
109
|
+
describe('buildComponentPrompt handles undefined specDelta fields', () => {
|
|
110
|
+
const specDeltasWithUndefined = {
|
|
111
|
+
structure: ['renders a Card element'],
|
|
112
|
+
rendering: undefined,
|
|
113
|
+
interaction: undefined,
|
|
114
|
+
styling: ['applies elevated style when raised=true'],
|
|
115
|
+
};
|
|
116
|
+
it('returns valid result when rendering and interaction are undefined', () => {
|
|
117
|
+
const result = buildComponentPrompt({
|
|
118
|
+
componentName: 'Card',
|
|
119
|
+
specDeltas: specDeltasWithUndefined,
|
|
120
|
+
});
|
|
121
|
+
expect(result.system).toBeTruthy();
|
|
122
|
+
expect(result.prompt).toBeTruthy();
|
|
123
|
+
expect(result.prompt).toContain('renders a Card element');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
describe('buildTestPrompt handles undefined specDelta fields', () => {
|
|
127
|
+
const specDeltasWithUndefined = {
|
|
128
|
+
structure: undefined,
|
|
129
|
+
rendering: ['shows skeleton when loading'],
|
|
130
|
+
interaction: undefined,
|
|
131
|
+
styling: ['applies elevated style when raised=true'],
|
|
132
|
+
};
|
|
133
|
+
it('returns valid result when structure and interaction are undefined', () => {
|
|
134
|
+
const result = buildTestPrompt({
|
|
135
|
+
componentName: 'Card',
|
|
136
|
+
specDeltas: specDeltasWithUndefined,
|
|
137
|
+
});
|
|
138
|
+
expect(result.system).toBeTruthy();
|
|
139
|
+
expect(result.prompt).toBeTruthy();
|
|
140
|
+
expect(result.prompt).toContain('shows skeleton when loading');
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
describe('buildStoryPrompt handles undefined specDelta fields', () => {
|
|
144
|
+
const specDeltasWithUndefined = {
|
|
145
|
+
structure: ['renders a Card element'],
|
|
146
|
+
rendering: undefined,
|
|
147
|
+
interaction: ['calls onSelect when clicked'],
|
|
148
|
+
styling: undefined,
|
|
149
|
+
};
|
|
150
|
+
it('returns valid result when rendering and styling are undefined', () => {
|
|
151
|
+
const result = buildStoryPrompt({
|
|
152
|
+
componentName: 'Card',
|
|
153
|
+
specDeltas: specDeltasWithUndefined,
|
|
154
|
+
});
|
|
155
|
+
expect(result.system).toBeTruthy();
|
|
156
|
+
expect(result.prompt).toBeTruthy();
|
|
157
|
+
expect(result.prompt).toContain('renders a Card element');
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
describe('buildReconcilerPrompt handles undefined specDelta fields', () => {
|
|
161
|
+
const specDeltasWithUndefined = {
|
|
162
|
+
structure: ['renders a Card element'],
|
|
163
|
+
rendering: ['shows skeleton when loading'],
|
|
164
|
+
interaction: undefined,
|
|
165
|
+
styling: undefined,
|
|
166
|
+
};
|
|
167
|
+
it('returns valid result when interaction and styling are undefined', () => {
|
|
168
|
+
const result = buildReconcilerPrompt({
|
|
169
|
+
componentName: 'Card',
|
|
170
|
+
specDeltas: specDeltasWithUndefined,
|
|
171
|
+
componentCode: 'component source',
|
|
172
|
+
testCode: 'test source',
|
|
173
|
+
storyCode: 'story source',
|
|
174
|
+
});
|
|
175
|
+
expect(result.system).toBeTruthy();
|
|
176
|
+
expect(result.prompt).toBeTruthy();
|
|
177
|
+
expect(result.prompt).toContain('renders a Card element');
|
|
178
|
+
});
|
|
179
|
+
});
|
|
109
180
|
describe('exported prompt sections', () => {
|
|
110
181
|
it('component sections are all non-empty strings', () => {
|
|
111
182
|
for (const value of Object.values(componentPromptSections)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.test.js","sourceRoot":"","sources":["../../src/prompt.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.test.js","sourceRoot":"","sources":["../../src/prompt.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-contract.js","sourceRoot":"","sources":["../../src/spec-contract.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,KAAe;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-contract.js","sourceRoot":"","sources":["../../src/spec-contract.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,KAAe;IAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,MAAM,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAsB;IAClD,OAAO;QACL,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC;QACnD,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC;QACnD,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC;QACvD,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;KAChD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-contract.test.d.ts","sourceRoot":"","sources":["../../src/spec-contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { buildSpecSection, buildSpecText } from './spec-contract.js';
|
|
3
|
+
describe('buildSpecSection', () => {
|
|
4
|
+
it('returns empty string when items is undefined', () => {
|
|
5
|
+
const result = buildSpecSection('Structure', undefined);
|
|
6
|
+
expect(result).toBe('');
|
|
7
|
+
});
|
|
8
|
+
});
|
|
9
|
+
describe('buildSpecText', () => {
|
|
10
|
+
it('returns empty string when specDeltas fields are undefined', () => {
|
|
11
|
+
const specDeltas = {
|
|
12
|
+
structure: undefined,
|
|
13
|
+
rendering: ['renders heading'],
|
|
14
|
+
interaction: undefined,
|
|
15
|
+
styling: ['uses red background'],
|
|
16
|
+
};
|
|
17
|
+
const result = buildSpecText(specDeltas);
|
|
18
|
+
expect(result).toContain('Rendering');
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=spec-contract.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-contract.test.js","sourceRoot":"","sources":["../../src/spec-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAEnF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,SAAgC,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,CAAC,iBAAiB,CAAC;YAC9B,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACR,CAAC;QAE3B,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|