@auto-engineer/server-implementer 1.129.0 → 1.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/server-implementer@1.129.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.131.0 build /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,14 +1,14 @@
1
1
 
2
- > @auto-engineer/server-implementer@1.128.2 test /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.130.0 test /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
7
7
 
8
- ····································
8
+ ··············································
9
9
 
10
-  Test Files  6 passed (6)
11
-  Tests  36 passed (36)
12
-  Start at  16:10:23
13
-  Duration  11.78s (transform 1.17s, setup 0ms, collect 18.70s, tests 996ms, environment 5ms, prepare 4.14s)
10
+  Test Files  7 passed (7)
11
+  Tests  46 passed (46)
12
+  Start at  16:43:55
13
+  Duration  14.90s (transform 1.34s, setup 0ms, collect 26.35s, tests 1.20s, environment 19ms, prepare 5.42s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/server-implementer@1.128.2 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
2
+ > @auto-engineer/server-implementer@1.130.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/server-implementer
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # @auto-engineer/server-implementer
2
2
 
3
+ ## 1.131.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`8791296`](https://github.com/BeOnAuto/auto-engineer/commit/8791296a126f213d171c6dd7d2d4738c0fc2a19e) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: add escapeJsString utility for EJS template safety
8
+ - **server-generator-apollo-emmett**: escape apostrophes in react.specs.ts.ejs string literals
9
+ - **server-generator-apollo-emmett**: escape apostrophes in decide template string literals
10
+ - **server-generator-apollo-emmett**: escape apostrophes in projection.specs.ts.ejs string literals
11
+ - **global**: version packages
12
+
13
+ - [`a2c7ada`](https://github.com/BeOnAuto/auto-engineer/commit/a2c7ada17acecc6e175dd0caea7f7d3b4bf0b67e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added adapter to convert Message objects to TypeInfo format, enabling message-based type inference in the narrative pipeline
14
+
15
+ - [`b3515b8`](https://github.com/BeOnAuto/auto-engineer/commit/b3515b8c09a70063c1ffe361b2d6f68af299fa05) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added utility to convert message arrays into TypeInfo maps for narrative processing
16
+
17
+ - [`2546535`](https://github.com/BeOnAuto/auto-engineer/commit/2546535ea50987fb58c9caee4803d871861acee2) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added automatic detection of forbidden type assertions (e.g., `as` casts) in AI-generated code to enforce type safety
18
+ - Type assertion violations now trigger a retry loop with guidance for the AI to use properly typed variables instead
19
+ - Detection runs in parallel with existing shadow checks during test and typecheck phase
20
+
21
+ ### Patch Changes
22
+
23
+ - [`7a3967e`](https://github.com/BeOnAuto/auto-engineer/commit/7a3967e1c12d418786cf754fff019e509cc06e07) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added implementation plan for query events support and type assertion detection
24
+
25
+ - [`f485b24`](https://github.com/BeOnAuto/auto-engineer/commit/f485b24c738dabb21d2d25765f70239eb423a666) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Finalized implementation plan for InferredType messages fallback resolution
26
+
27
+ - [`aa38eaa`](https://github.com/BeOnAuto/auto-engineer/commit/aa38eaace31f050cbeb04e8fb698fbd380678aaa) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed type resolution failing for JSON-loaded models where placeholder types leaked into the output instead of resolving to their actual definitions
28
+
29
+ - [`0485e54`](https://github.com/BeOnAuto/auto-engineer/commit/0485e544e8581f8d849444a66dded98adba82184) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed broken imports in query projections that reference events not produced by any command slice
30
+ - Added events.ts file generation for query slice templates so orphan event imports resolve correctly
31
+
32
+ - [`cb750ce`](https://github.com/BeOnAuto/auto-engineer/commit/cb750ce35c027eb1d883544c58085e2e6d3270ad) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added implementation plan for fixing InferredType messages fallback behavior
33
+
34
+ - [`7f3ed00`](https://github.com/BeOnAuto/auto-engineer/commit/7f3ed00072378615124aed1d3d98f4a0fab8c58e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Finalized implementation plan for query event generation and type assertion detection
35
+
36
+ - Updated dependencies [[`7a3967e`](https://github.com/BeOnAuto/auto-engineer/commit/7a3967e1c12d418786cf754fff019e509cc06e07), [`f485b24`](https://github.com/BeOnAuto/auto-engineer/commit/f485b24c738dabb21d2d25765f70239eb423a666), [`aa38eaa`](https://github.com/BeOnAuto/auto-engineer/commit/aa38eaace31f050cbeb04e8fb698fbd380678aaa), [`8791296`](https://github.com/BeOnAuto/auto-engineer/commit/8791296a126f213d171c6dd7d2d4738c0fc2a19e), [`a2c7ada`](https://github.com/BeOnAuto/auto-engineer/commit/a2c7ada17acecc6e175dd0caea7f7d3b4bf0b67e), [`0485e54`](https://github.com/BeOnAuto/auto-engineer/commit/0485e544e8581f8d849444a66dded98adba82184), [`b3515b8`](https://github.com/BeOnAuto/auto-engineer/commit/b3515b8c09a70063c1ffe361b2d6f68af299fa05), [`2546535`](https://github.com/BeOnAuto/auto-engineer/commit/2546535ea50987fb58c9caee4803d871861acee2), [`cb750ce`](https://github.com/BeOnAuto/auto-engineer/commit/cb750ce35c027eb1d883544c58085e2e6d3270ad), [`7f3ed00`](https://github.com/BeOnAuto/auto-engineer/commit/7f3ed00072378615124aed1d3d98f4a0fab8c58e)]:
37
+ - @auto-engineer/message-bus@1.131.0
38
+ - @auto-engineer/model-factory@1.131.0
39
+
40
+ ## 1.130.0
41
+
42
+ ### Minor Changes
43
+
44
+ - [`7a5544a`](https://github.com/BeOnAuto/auto-engineer/commit/7a5544a66ec42f25cc83fdc7717e9cce87e7e98e) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added escapeJsString utility to safely handle special characters in EJS template string interpolation
45
+ - Prevents template rendering errors caused by single quotes, backslashes, newlines, and carriage returns in user-provided strings
46
+
47
+ - [`f4e7c16`](https://github.com/BeOnAuto/auto-engineer/commit/f4e7c167d4150bba383cf9bc162167eb0924275b) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **pipeline**: auto-derive item key extractors from handler fields
48
+ - **react-component-implementer**: improvements
49
+ - **global**: improvements
50
+ - **changesets**: update remaining generate-theme refs to set-theme
51
+ - **changesets**: update generate-theme to set-theme in changeset
52
+
53
+ ### Patch Changes
54
+
55
+ - [`d108c53`](https://github.com/BeOnAuto/auto-engineer/commit/d108c530cabf9eed61a280d01000010d3ac7eacf) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed code generation errors when rule names contain apostrophes (e.g. "List of user's workouts") by escaping special characters in generated test files
56
+
57
+ - [`f9b46ad`](https://github.com/BeOnAuto/auto-engineer/commit/f9b46ada5eb692f3de0d9f16f5240a3463099447) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed template generation errors caused by apostrophes in rule descriptions, test descriptions, and error messages
58
+ - Added string escaping utility to safely handle special characters in generated code templates
59
+
60
+ - [`5134e46`](https://github.com/BeOnAuto/auto-engineer/commit/5134e4671549241f127c1a5fc40815047fdbcdb9) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed generated test files failing to parse when rule names or descriptions contain apostrophes
61
+
62
+ - [`3303685`](https://github.com/BeOnAuto/auto-engineer/commit/330368567679f3023815bec3234a777c3f7220fc) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Added implementation plan for fixing JavaScript string escaping in the Apollo Emmett server generator
63
+
64
+ - Updated dependencies [[`d108c53`](https://github.com/BeOnAuto/auto-engineer/commit/d108c530cabf9eed61a280d01000010d3ac7eacf), [`7a5544a`](https://github.com/BeOnAuto/auto-engineer/commit/7a5544a66ec42f25cc83fdc7717e9cce87e7e98e), [`f9b46ad`](https://github.com/BeOnAuto/auto-engineer/commit/f9b46ada5eb692f3de0d9f16f5240a3463099447), [`5134e46`](https://github.com/BeOnAuto/auto-engineer/commit/5134e4671549241f127c1a5fc40815047fdbcdb9), [`f4e7c16`](https://github.com/BeOnAuto/auto-engineer/commit/f4e7c167d4150bba383cf9bc162167eb0924275b), [`3303685`](https://github.com/BeOnAuto/auto-engineer/commit/330368567679f3023815bec3234a777c3f7220fc)]:
65
+ - @auto-engineer/message-bus@1.130.0
66
+ - @auto-engineer/model-factory@1.130.0
67
+
3
68
  ## 1.129.0
4
69
 
5
70
  ### Minor Changes
@@ -22,5 +22,9 @@ export declare function detectShadowsInSlice(sliceDir: string): Promise<{
22
22
  errors: string;
23
23
  failedFiles: string[];
24
24
  }>;
25
+ export declare function detectAssertionsInSlice(sliceDir: string): Promise<{
26
+ errors: string;
27
+ failedFiles: string[];
28
+ }>;
25
29
  export {};
26
30
  //# sourceMappingURL=runSlice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runSlice.d.ts","sourceRoot":"","sources":["../../../src/agent/runSlice.ts"],"names":[],"mappings":"AAcA,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;CAC3C,CAAC;AAEF,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;AAiHD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAe5F;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAa/G"}
1
+ {"version":3,"file":"runSlice.d.ts","sourceRoot":"","sources":["../../../src/agent/runSlice.ts"],"names":[],"mappings":"AAeA,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;CAC3C,CAAC;AAEF,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;AAiHD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0B5F;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAa/G;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAalH"}
@@ -7,6 +7,7 @@ import fg from 'fast-glob';
7
7
  import { SYSTEM_PROMPT } from '../prompts/systemPrompt.js';
8
8
  import { buildContextSections } from '../utils/buildContextSections.js';
9
9
  import { buildShadowWarning } from '../utils/detectImportedTypeShadowing.js';
10
+ import { buildTypeAssertionWarning } from '../utils/detectTypeAssertions.js';
10
11
  import { extractCodeBlock } from '../utils/extractCodeBlock.js';
11
12
  import { findFilesToImplement } from '../utils/findFilesToImplement.js';
12
13
  import { loadContextFiles } from '../utils/loadContextFiles.js';
@@ -130,9 +131,19 @@ export async function runTestsAndTypecheck(sliceDir) {
130
131
  const testResult = await runTests(sliceDir, rootDir);
131
132
  const typecheckResult = await runTypecheck(sliceDir, rootDir);
132
133
  const shadowResult = await detectShadowsInSlice(sliceDir);
133
- const failedTypecheckFiles = [...typecheckResult.failedTypecheckFiles, ...shadowResult.failedFiles];
134
- const typecheckErrors = [typecheckResult.typecheckErrors, shadowResult.errors].filter(Boolean).join('\n');
135
- const hasErrors = !testResult.success || !typecheckResult.success || shadowResult.errors.length > 0;
134
+ const assertionResult = await detectAssertionsInSlice(sliceDir);
135
+ const failedTypecheckFiles = [
136
+ ...typecheckResult.failedTypecheckFiles,
137
+ ...shadowResult.failedFiles,
138
+ ...assertionResult.failedFiles,
139
+ ];
140
+ const typecheckErrors = [typecheckResult.typecheckErrors, shadowResult.errors, assertionResult.errors]
141
+ .filter(Boolean)
142
+ .join('\n');
143
+ const hasErrors = !testResult.success ||
144
+ !typecheckResult.success ||
145
+ shadowResult.errors.length > 0 ||
146
+ assertionResult.errors.length > 0;
136
147
  return {
137
148
  success: !hasErrors,
138
149
  failedTestFiles: testResult.failedTestFiles,
@@ -155,6 +166,20 @@ export async function detectShadowsInSlice(sliceDir) {
155
166
  }
156
167
  return { errors: errors.join('\n'), failedFiles };
157
168
  }
169
+ export async function detectAssertionsInSlice(sliceDir) {
170
+ const files = await fg(['*.ts'], { cwd: sliceDir, ignore: ['*.spec.ts', '*.specs.ts', '*.test.ts'] });
171
+ const errors = [];
172
+ const failedFiles = [];
173
+ for (const file of files) {
174
+ const content = await readFile(path.join(sliceDir, file), 'utf-8');
175
+ const warning = buildTypeAssertionWarning(content, file);
176
+ if (warning.length > 0) {
177
+ errors.push(warning);
178
+ failedFiles.push(path.join(sliceDir, file));
179
+ }
180
+ }
181
+ return { errors: errors.join('\n'), failedFiles };
182
+ }
158
183
  async function retryFailedTests(sliceDir, flow, result) {
159
184
  let contextFiles = await loadContextFiles(sliceDir);
160
185
  for (let attempt = 1; attempt <= 5; attempt++) {
@@ -1 +1 @@
1
- {"version":3,"file":"runSlice.js","sourceRoot":"","sources":["../../../src/agent/runSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuBtC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,SAAS,cAAc,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,IAAY,EACZ,aAAqC,EACrC,KAAK,GAAG,CAAC;IAET,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAC9B,IAAI,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,MAAM,GAAG,aAAa,CAAC;IAC3B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,6CAA6C,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,QAAQ,MAAM,CAAC,oBAAoB,CAAC,MAAM,WAAW,CAAC,CAAC;QACxG,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YACxG,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,YAAY,IAAI,KAAK,CAAC,CAAC;YAC7E,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACpG,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,0BAA0B,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9C,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,oCAAoC,mBAAmB,qCAAqC,CAAC,CAAC;YAC5G,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,MAAM,mBAAmB,GAAG;YAC1B,GAAG,MAAM;YACT,UAAU,EAAE,EAAE,EAAE,sDAAsD;YACtE,eAAe,EAAE,EAAE,EAAE,0BAA0B;SAChD,CAAC;QACF,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnG,iEAAiE;QACjE,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACzD,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,GAAG,WAAW,CAAC;QACrB,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,OAA+B;IAC7E,OAAO;EACP,aAAa;;;+BAGgB,UAAU;;EAEvC,OAAO,CAAC,UAAU,CAAC;;EAEnB,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;;;wCAGH,UAAU;CACjD,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAkB,EAClB,OAA+B,EAC/B,UAAkB,EAClB,UAAkB;IAElB,OAAO;EACP,aAAa;;;iCAGkB,UAAU;;kBAEzB,UAAU;;EAE1B,OAAO,CAAC,UAAU,CAAC;;EAEnB,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC;;;EAGzC,UAAU,IAAI,MAAM;;;EAGpB,UAAU,IAAI,MAAM;;;6CAGuB,UAAU;CACtD,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,UAAkB,EAAE,YAAoC;IAC3G,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,CAAC,GAAG,eAAe,CAAC,oBAAoB,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACpG,MAAM,eAAe,GAAG,CAAC,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACpG,OAAO;QACL,OAAO,EAAE,CAAC,SAAS;QACnB,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,oBAAoB;QACpB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACtG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAY,EAAE,MAA8B;IAC5F,IAAI,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0CAA0C,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,QAAQ,MAAM,CAAC,eAAe,CAAC,MAAM,WAAW,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAG;EACtB,aAAa;;;;;EAKb,MAAM,CAAC,UAAU,IAAI,MAAM;;;EAG3B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC;aACxD,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;CAYd,CAAC,IAAI,EAAE,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,MAAM;QACR,CAAC;QAED,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC1D,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9C,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,uEAAuE;QACvE,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;YACpF,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;QACH,CAAC;QACD,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,OAAe;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;YACrD,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,GAA2C,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAClF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;QACL,kCAAkC;QAClC,mCAAmC;QACnC,oCAAoC;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAe,EAAE,QAAiB;IAChG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEjE,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAExE,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;gBAC9B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAe;IACrF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5E,OAAO,QAAQ,IAAI,cAAc,IAAI,YAAY,CAAC;IACpD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/E,OAAO;QACL,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,QAAQ;QACzB,oBAAoB,EAAE,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAAc,EAAE,OAAe,EAAE,QAAgB;IACtF,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB,EAAE,IAAY,EAAE,MAA8B;IACnG,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,YAAY,IAAI,+BAA+B,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runSlice.js","sourceRoot":"","sources":["../../../src/agent/runSlice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function detectTypeAssertions(code: string): string[];
2
+ export declare function buildTypeAssertionWarning(code: string, filePath?: string): string;
3
+ //# sourceMappingURL=detectTypeAssertions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectTypeAssertions.d.ts","sourceRoot":"","sources":["../../../src/utils/detectTypeAssertions.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB3D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjF"}
@@ -0,0 +1,25 @@
1
+ import ts from 'typescript';
2
+ export function detectTypeAssertions(code) {
3
+ const sourceFile = ts.createSourceFile('check.ts', code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
4
+ const violations = [];
5
+ function visit(node) {
6
+ if (ts.isAsExpression(node)) {
7
+ const typeText = node.type.getText(sourceFile).trim();
8
+ if (typeText !== 'const') {
9
+ const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
10
+ violations.push(`as ${typeText} (line ${line + 1})`);
11
+ }
12
+ }
13
+ ts.forEachChild(node, visit);
14
+ }
15
+ visit(sourceFile);
16
+ return violations;
17
+ }
18
+ export function buildTypeAssertionWarning(code, filePath) {
19
+ const violations = detectTypeAssertions(code);
20
+ if (violations.length === 0)
21
+ return '';
22
+ const location = filePath !== undefined ? ` in ${filePath}` : '';
23
+ return `CONTRACT VIOLATION${location}: Forbidden type assertions found: [${violations.join(', ')}]. Use properly typed variables instead of 'as' casts.`;
24
+ }
25
+ //# sourceMappingURL=detectTypeAssertions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectTypeAssertions.js","sourceRoot":"","sources":["../../../src/utils/detectTypeAssertions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzG,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,SAAS,KAAK,CAAC,IAAa;QAC1B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrF,UAAU,CAAC,IAAI,CAAC,MAAM,QAAQ,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,QAAiB;IACvE,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,qBAAqB,QAAQ,uCAAuC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC;AAC3J,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=detectTypeAssertions.specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectTypeAssertions.specs.d.ts","sourceRoot":"","sources":["../../../src/utils/detectTypeAssertions.specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { buildTypeAssertionWarning, detectTypeAssertions } from './detectTypeAssertions.js';
3
+ describe('detectTypeAssertions', () => {
4
+ it('returns empty array for clean code', () => {
5
+ const code = `
6
+ const state: State = { name: 'Alice' };
7
+ const x = 1;
8
+ `;
9
+ expect(detectTypeAssertions(code)).toEqual([]);
10
+ });
11
+ it('detects {} as State', () => {
12
+ const code = `const state = {} as State;`;
13
+ expect(detectTypeAssertions(code)).toEqual(['as State (line 1)']);
14
+ });
15
+ it('detects x as any', () => {
16
+ const code = `const x = value as any;`;
17
+ expect(detectTypeAssertions(code)).toEqual(['as any (line 1)']);
18
+ });
19
+ it('detects value as unknown as Type', () => {
20
+ const code = `const x = value as unknown as MyType;`;
21
+ expect(detectTypeAssertions(code)).toEqual(['as MyType (line 1)', 'as unknown (line 1)']);
22
+ });
23
+ it('skips as const', () => {
24
+ const code = `const arr = [1, 2, 3] as const;`;
25
+ expect(detectTypeAssertions(code)).toEqual([]);
26
+ });
27
+ it('handles assertions inside functions', () => {
28
+ const code = `
29
+ function process() {
30
+ const x = {} as State;
31
+ return x;
32
+ }
33
+ `;
34
+ expect(detectTypeAssertions(code)).toEqual(['as State (line 3)']);
35
+ });
36
+ it('detects multiple assertions across lines', () => {
37
+ const code = `
38
+ const a = {} as State;
39
+ const b = value as any;
40
+ `;
41
+ expect(detectTypeAssertions(code)).toEqual(['as State (line 2)', 'as any (line 3)']);
42
+ });
43
+ });
44
+ describe('buildTypeAssertionWarning', () => {
45
+ it('returns empty string for clean code', () => {
46
+ const code = `const x: State = { name: 'Alice' };`;
47
+ expect(buildTypeAssertionWarning(code)).toBe('');
48
+ });
49
+ it('returns CONTRACT VIOLATION string for violations', () => {
50
+ const code = `const state = {} as State;`;
51
+ const result = buildTypeAssertionWarning(code, 'state.ts');
52
+ expect(result).toBe("CONTRACT VIOLATION in state.ts: Forbidden type assertions found: [as State (line 1)]. Use properly typed variables instead of 'as' casts.");
53
+ });
54
+ it('returns CONTRACT VIOLATION without file path when not provided', () => {
55
+ const code = `const state = {} as State;`;
56
+ const result = buildTypeAssertionWarning(code);
57
+ expect(result).toBe("CONTRACT VIOLATION: Forbidden type assertions found: [as State (line 1)]. Use properly typed variables instead of 'as' casts.");
58
+ });
59
+ });
60
+ //# sourceMappingURL=detectTypeAssertions.specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectTypeAssertions.specs.js","sourceRoot":"","sources":["../../../src/utils/detectTypeAssertions.specs.ts"],"names":[],"mappings":"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"}