codesift-mcp 0.4.0 → 0.5.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 (194) hide show
  1. package/README.md +94 -25
  2. package/dist/cli/help.d.ts.map +1 -1
  3. package/dist/cli/help.js +8 -6
  4. package/dist/cli/help.js.map +1 -1
  5. package/dist/cli/platform.d.ts.map +1 -1
  6. package/dist/cli/platform.js +12 -14
  7. package/dist/cli/platform.js.map +1 -1
  8. package/dist/cli/setup.d.ts +1 -1
  9. package/dist/cli/setup.d.ts.map +1 -1
  10. package/dist/cli/setup.js +10 -1
  11. package/dist/cli/setup.js.map +1 -1
  12. package/dist/formatters.d.ts +2 -2
  13. package/dist/formatters.d.ts.map +1 -1
  14. package/dist/formatters.js +23 -0
  15. package/dist/formatters.js.map +1 -1
  16. package/dist/instructions.d.ts +1 -1
  17. package/dist/instructions.d.ts.map +1 -1
  18. package/dist/instructions.js +21 -21
  19. package/dist/parser/extractors/php.d.ts.map +1 -1
  20. package/dist/parser/extractors/php.js +37 -29
  21. package/dist/parser/extractors/php.js.map +1 -1
  22. package/dist/parser/extractors/typescript.d.ts.map +1 -1
  23. package/dist/parser/extractors/typescript.js +43 -0
  24. package/dist/parser/extractors/typescript.js.map +1 -1
  25. package/dist/parser/parse-cache.d.ts +39 -0
  26. package/dist/parser/parse-cache.d.ts.map +1 -0
  27. package/dist/parser/parse-cache.js +87 -0
  28. package/dist/parser/parse-cache.js.map +1 -0
  29. package/dist/parser/parser-manager.d.ts.map +1 -1
  30. package/dist/parser/parser-manager.js +12 -1
  31. package/dist/parser/parser-manager.js.map +1 -1
  32. package/dist/register-tools.d.ts +2 -2
  33. package/dist/register-tools.d.ts.map +1 -1
  34. package/dist/register-tools.js +353 -570
  35. package/dist/register-tools.js.map +1 -1
  36. package/dist/search/tool-ranker.d.ts +90 -0
  37. package/dist/search/tool-ranker.d.ts.map +1 -0
  38. package/dist/search/tool-ranker.js +420 -0
  39. package/dist/search/tool-ranker.js.map +1 -0
  40. package/dist/server.js +19 -13
  41. package/dist/server.js.map +1 -1
  42. package/dist/storage/usage-tracker.d.ts.map +1 -1
  43. package/dist/storage/usage-tracker.js +4 -1
  44. package/dist/storage/usage-tracker.js.map +1 -1
  45. package/dist/tools/astro-actions.d.ts +54 -0
  46. package/dist/tools/astro-actions.d.ts.map +1 -0
  47. package/dist/tools/astro-actions.js +561 -0
  48. package/dist/tools/astro-actions.js.map +1 -0
  49. package/dist/tools/astro-audit.d.ts +87 -0
  50. package/dist/tools/astro-audit.d.ts.map +1 -0
  51. package/dist/tools/astro-audit.js +345 -0
  52. package/dist/tools/astro-audit.js.map +1 -0
  53. package/dist/tools/astro-content-collections.d.ts +44 -0
  54. package/dist/tools/astro-content-collections.d.ts.map +1 -0
  55. package/dist/tools/astro-content-collections.js +630 -0
  56. package/dist/tools/astro-content-collections.js.map +1 -0
  57. package/dist/tools/astro-islands.d.ts +3 -1
  58. package/dist/tools/astro-islands.d.ts.map +1 -1
  59. package/dist/tools/astro-islands.js +19 -4
  60. package/dist/tools/astro-islands.js.map +1 -1
  61. package/dist/tools/astro-migration.d.ts +31 -0
  62. package/dist/tools/astro-migration.d.ts.map +1 -0
  63. package/dist/tools/astro-migration.js +378 -0
  64. package/dist/tools/astro-migration.js.map +1 -0
  65. package/dist/tools/async-correctness.d.ts +26 -0
  66. package/dist/tools/async-correctness.d.ts.map +1 -0
  67. package/dist/tools/async-correctness.js +166 -0
  68. package/dist/tools/async-correctness.js.map +1 -0
  69. package/dist/tools/django-view-security-tools.d.ts +32 -0
  70. package/dist/tools/django-view-security-tools.d.ts.map +1 -0
  71. package/dist/tools/django-view-security-tools.js +184 -0
  72. package/dist/tools/django-view-security-tools.js.map +1 -0
  73. package/dist/tools/fastapi-depends.d.ts +63 -0
  74. package/dist/tools/fastapi-depends.d.ts.map +1 -0
  75. package/dist/tools/fastapi-depends.js +191 -0
  76. package/dist/tools/fastapi-depends.js.map +1 -0
  77. package/dist/tools/hono-analyze-app.js +1 -9
  78. package/dist/tools/hono-analyze-app.js.map +1 -1
  79. package/dist/tools/hono-api-contract.d.ts.map +1 -1
  80. package/dist/tools/hono-api-contract.js +41 -9
  81. package/dist/tools/hono-api-contract.js.map +1 -1
  82. package/dist/tools/hono-context-flow.js +1 -9
  83. package/dist/tools/hono-context-flow.js.map +1 -1
  84. package/dist/tools/hono-dead-routes.d.ts.map +1 -1
  85. package/dist/tools/hono-dead-routes.js +2 -9
  86. package/dist/tools/hono-dead-routes.js.map +1 -1
  87. package/dist/tools/hono-entry-resolver.d.ts +27 -0
  88. package/dist/tools/hono-entry-resolver.d.ts.map +1 -0
  89. package/dist/tools/hono-entry-resolver.js +31 -0
  90. package/dist/tools/hono-entry-resolver.js.map +1 -0
  91. package/dist/tools/hono-inline-analyze.js +1 -9
  92. package/dist/tools/hono-inline-analyze.js.map +1 -1
  93. package/dist/tools/hono-middleware-chain.d.ts +24 -6
  94. package/dist/tools/hono-middleware-chain.d.ts.map +1 -1
  95. package/dist/tools/hono-middleware-chain.js +77 -40
  96. package/dist/tools/hono-middleware-chain.js.map +1 -1
  97. package/dist/tools/hono-modules.js +1 -9
  98. package/dist/tools/hono-modules.js.map +1 -1
  99. package/dist/tools/hono-response-types.js +1 -9
  100. package/dist/tools/hono-response-types.js.map +1 -1
  101. package/dist/tools/hono-rpc-types.js +1 -9
  102. package/dist/tools/hono-rpc-types.js.map +1 -1
  103. package/dist/tools/hono-security.d.ts +14 -4
  104. package/dist/tools/hono-security.d.ts.map +1 -1
  105. package/dist/tools/hono-security.js +185 -14
  106. package/dist/tools/hono-security.js.map +1 -1
  107. package/dist/tools/hono-visualize.js +1 -9
  108. package/dist/tools/hono-visualize.js.map +1 -1
  109. package/dist/tools/nest-ext-tools.d.ts +115 -0
  110. package/dist/tools/nest-ext-tools.d.ts.map +1 -1
  111. package/dist/tools/nest-ext-tools.js +393 -0
  112. package/dist/tools/nest-ext-tools.js.map +1 -1
  113. package/dist/tools/nest-tools.d.ts +27 -0
  114. package/dist/tools/nest-tools.d.ts.map +1 -1
  115. package/dist/tools/nest-tools.js +137 -37
  116. package/dist/tools/nest-tools.js.map +1 -1
  117. package/dist/tools/nextjs-component-readers.d.ts +101 -0
  118. package/dist/tools/nextjs-component-readers.d.ts.map +1 -0
  119. package/dist/tools/nextjs-component-readers.js +287 -0
  120. package/dist/tools/nextjs-component-readers.js.map +1 -0
  121. package/dist/tools/nextjs-component-tools.d.ts +8 -78
  122. package/dist/tools/nextjs-component-tools.d.ts.map +1 -1
  123. package/dist/tools/nextjs-component-tools.js +9 -257
  124. package/dist/tools/nextjs-component-tools.js.map +1 -1
  125. package/dist/tools/nextjs-framework-audit-tools.d.ts +24 -1
  126. package/dist/tools/nextjs-framework-audit-tools.d.ts.map +1 -1
  127. package/dist/tools/nextjs-framework-audit-tools.js +184 -1
  128. package/dist/tools/nextjs-framework-audit-tools.js.map +1 -1
  129. package/dist/tools/nextjs-route-readers.d.ts +81 -0
  130. package/dist/tools/nextjs-route-readers.d.ts.map +1 -0
  131. package/dist/tools/nextjs-route-readers.js +340 -0
  132. package/dist/tools/nextjs-route-readers.js.map +1 -0
  133. package/dist/tools/nextjs-route-tools.d.ts +7 -71
  134. package/dist/tools/nextjs-route-tools.d.ts.map +1 -1
  135. package/dist/tools/nextjs-route-tools.js +9 -327
  136. package/dist/tools/nextjs-route-tools.js.map +1 -1
  137. package/dist/tools/pattern-tools.d.ts.map +1 -1
  138. package/dist/tools/pattern-tools.js +92 -2
  139. package/dist/tools/pattern-tools.js.map +1 -1
  140. package/dist/tools/php-tools.d.ts +14 -5
  141. package/dist/tools/php-tools.d.ts.map +1 -1
  142. package/dist/tools/php-tools.js +166 -64
  143. package/dist/tools/php-tools.js.map +1 -1
  144. package/dist/tools/plan-turn-tools.d.ts +89 -0
  145. package/dist/tools/plan-turn-tools.d.ts.map +1 -0
  146. package/dist/tools/plan-turn-tools.js +508 -0
  147. package/dist/tools/plan-turn-tools.js.map +1 -0
  148. package/dist/tools/project-tools.d.ts +1 -1
  149. package/dist/tools/project-tools.js +1 -1
  150. package/dist/tools/project-tools.js.map +1 -1
  151. package/dist/tools/pydantic-models.d.ts +46 -0
  152. package/dist/tools/pydantic-models.d.ts.map +1 -0
  153. package/dist/tools/pydantic-models.js +249 -0
  154. package/dist/tools/pydantic-models.js.map +1 -0
  155. package/dist/tools/python-audit.d.ts +40 -0
  156. package/dist/tools/python-audit.d.ts.map +1 -0
  157. package/dist/tools/python-audit.js +244 -0
  158. package/dist/tools/python-audit.js.map +1 -0
  159. package/dist/tools/python-constants-tools.d.ts +44 -0
  160. package/dist/tools/python-constants-tools.d.ts.map +1 -0
  161. package/dist/tools/python-constants-tools.js +525 -0
  162. package/dist/tools/python-constants-tools.js.map +1 -0
  163. package/dist/tools/react-tools.d.ts +46 -1
  164. package/dist/tools/react-tools.d.ts.map +1 -1
  165. package/dist/tools/react-tools.js +126 -1
  166. package/dist/tools/react-tools.js.map +1 -1
  167. package/dist/tools/review-diff-tools.d.ts +5 -0
  168. package/dist/tools/review-diff-tools.d.ts.map +1 -1
  169. package/dist/tools/review-diff-tools.js +109 -3
  170. package/dist/tools/review-diff-tools.js.map +1 -1
  171. package/dist/tools/search-tools.d.ts +3 -2
  172. package/dist/tools/search-tools.d.ts.map +1 -1
  173. package/dist/tools/search-tools.js +16 -3
  174. package/dist/tools/search-tools.js.map +1 -1
  175. package/dist/tools/sql-tools.d.ts +40 -0
  176. package/dist/tools/sql-tools.d.ts.map +1 -1
  177. package/dist/tools/sql-tools.js +123 -0
  178. package/dist/tools/sql-tools.js.map +1 -1
  179. package/dist/tools/symbol-tools.d.ts.map +1 -1
  180. package/dist/tools/symbol-tools.js +7 -10
  181. package/dist/tools/symbol-tools.js.map +1 -1
  182. package/dist/tools/taint-tools.d.ts +43 -0
  183. package/dist/tools/taint-tools.d.ts.map +1 -0
  184. package/dist/tools/taint-tools.js +922 -0
  185. package/dist/tools/taint-tools.js.map +1 -0
  186. package/dist/utils/import-graph.d.ts +6 -0
  187. package/dist/utils/import-graph.d.ts.map +1 -1
  188. package/dist/utils/import-graph.js +43 -7
  189. package/dist/utils/import-graph.js.map +1 -1
  190. package/package.json +2 -2
  191. package/rules/codesift.md +51 -13
  192. package/rules/codesift.mdc +51 -13
  193. package/rules/codex.md +51 -13
  194. package/rules/gemini.md +51 -13
@@ -51,11 +51,13 @@ export interface HydrationAuditResult {
51
51
  issues: AuditIssue[];
52
52
  anti_patterns_checked: string[];
53
53
  score: "A" | "B" | "C" | "D";
54
+ exit_code: 0 | 1 | 2;
54
55
  }
55
56
  export declare function astroHydrationAudit(args: {
56
57
  repo?: string;
57
58
  severity?: "all" | "warnings" | "errors";
58
59
  path_prefix?: string;
60
+ fail_on?: "error" | "warning" | "info";
59
61
  }): Promise<HydrationAuditResult>;
60
- export declare function hydrationAuditFromIndex(index: CodeIndex, severity?: "all" | "warnings" | "errors", pathPrefix?: string): HydrationAuditResult;
62
+ export declare function hydrationAuditFromIndex(index: CodeIndex, severity?: "all" | "warnings" | "errors", pathPrefix?: string, failOn?: "error" | "warning" | "info"): HydrationAuditResult;
61
63
  //# sourceMappingURL=astro-islands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"astro-islands.d.ts","sourceRoot":"","sources":["../../src/tools/astro-islands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,KAAK,MAAM,EAA2B,MAAM,6BAA6B,CAAC;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoD7C,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAYD,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;CAAE;AACvG,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAAG,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AACvG,MAAM,WAAW,aAAa;IAAG,kBAAkB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;CAAE;AAC5I,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IACvK,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIzJ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAmCnG;AAID,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAAE;AACjN,MAAM,WAAW,oBAAoB;IAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CAAE;AA8F9H,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIhK;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAW7I"}
1
+ {"version":3,"file":"astro-islands.d.ts","sourceRoot":"","sources":["../../src/tools/astro-islands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,KAAK,MAAM,EAA2B,MAAM,6BAA6B,CAAC;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoD7C,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAYD,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;CAAE;AACvG,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAAG,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AACvG,MAAM,WAAW,aAAa;IAAG,kBAAkB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;CAAE;AAC5I,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;KAAE,CAAC;IACvK,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIzJ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAmCnG;AAID,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAAE;AACjN,MAAM,WAAW,oBAAoB;IAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAAE;AA8FpJ,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIxM;AAaD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,oBAAoB,CAYpL"}
@@ -215,10 +215,24 @@ function computeScore(issues) {
215
215
  export async function astroHydrationAudit(args) {
216
216
  const index = await getCodeIndex(args.repo ?? "");
217
217
  if (!index)
218
- return { issues: [], anti_patterns_checked: ALL_CODES, score: "A" };
219
- return hydrationAuditFromIndex(index, args.severity, args.path_prefix);
218
+ return { issues: [], anti_patterns_checked: ALL_CODES, score: "A", exit_code: 0 };
219
+ return hydrationAuditFromIndex(index, args.severity, args.path_prefix, args.fail_on);
220
220
  }
221
- export function hydrationAuditFromIndex(index, severity, pathPrefix) {
221
+ function computeExitCode(issues, failOn) {
222
+ if (!failOn)
223
+ return 0;
224
+ const hasErrors = issues.some((i) => i.severity === "error");
225
+ const hasWarnings = issues.some((i) => i.severity === "warning");
226
+ const hasInfo = issues.some((i) => i.severity === "info");
227
+ if (hasErrors)
228
+ return 1;
229
+ if (failOn === "warning" && hasWarnings)
230
+ return 2;
231
+ if (failOn === "info" && (hasWarnings || hasInfo))
232
+ return 2;
233
+ return 0;
234
+ }
235
+ export function hydrationAuditFromIndex(index, severity, pathPrefix, failOn) {
222
236
  let issues = [];
223
237
  for (const file of walkAstroFiles(index, pathPrefix)) {
224
238
  let source;
@@ -235,6 +249,7 @@ export function hydrationAuditFromIndex(index, severity, pathPrefix) {
235
249
  issues = issues.filter((i) => i.severity === "error");
236
250
  else if (severity === "warnings")
237
251
  issues = issues.filter((i) => i.severity !== "info");
238
- return { issues, anti_patterns_checked: ALL_CODES, score: computeScore(issues) };
252
+ const exit_code = computeExitCode(issues, failOn);
253
+ return { issues, anti_patterns_checked: ALL_CODES, score: computeScore(issues), exit_code };
239
254
  }
240
255
  //# sourceMappingURL=astro-islands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astro-islands.js","sourceRoot":"","sources":["../../src/tools/astro-islands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astro-islands.js","sourceRoot":"","sources":["../../src/tools/astro-islands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * astro_migration_check — Astro v5 → v6 breaking change detector.
3
+ *
4
+ * Scans a project for 10 known breaking changes (AM01–AM10) and emits a
5
+ * structured migration report with per-issue effort estimates.
6
+ */
7
+ export interface MigrationIssue {
8
+ code: string;
9
+ category: string;
10
+ severity: "error" | "warning" | "info";
11
+ message: string;
12
+ files: string[];
13
+ count: number;
14
+ effort: "trivial" | "low" | "medium" | "high";
15
+ migration_guide?: string;
16
+ }
17
+ export interface MigrationCheckResult {
18
+ current_version: string | null;
19
+ target_version: string;
20
+ breaking_changes: MigrationIssue[];
21
+ summary: {
22
+ total_issues: number;
23
+ by_effort: Record<string, number>;
24
+ estimated_migration_hours: string;
25
+ };
26
+ }
27
+ export declare function astroMigrationCheck(args: {
28
+ repo?: string;
29
+ target_version?: "6";
30
+ }): Promise<MigrationCheckResult>;
31
+ //# sourceMappingURL=astro-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astro-migration.d.ts","sourceRoot":"","sources":["../../src/tools/astro-migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;CACH;AAmTD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,GAAG,CAAC;CACtB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+EhC"}
@@ -0,0 +1,378 @@
1
+ /**
2
+ * astro_migration_check — Astro v5 → v6 breaking change detector.
3
+ *
4
+ * Scans a project for 10 known breaking changes (AM01–AM10) and emits a
5
+ * structured migration report with per-issue effort estimates.
6
+ */
7
+ import { readFile } from "node:fs/promises";
8
+ import { join } from "node:path";
9
+ import { existsSync } from "node:fs";
10
+ // ---------------------------------------------------------------------------
11
+ // Effort → hours map
12
+ // ---------------------------------------------------------------------------
13
+ const EFFORT_HOURS = {
14
+ trivial: 0.1,
15
+ low: 0.5,
16
+ medium: 2,
17
+ high: 4,
18
+ };
19
+ // ---------------------------------------------------------------------------
20
+ // Helpers
21
+ // ---------------------------------------------------------------------------
22
+ /** Read a file, returning null on any error. */
23
+ async function safeReadFile(path) {
24
+ try {
25
+ return await readFile(path, "utf-8");
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ /** Parse package.json and return it, or null. */
32
+ async function readPackageJson(root) {
33
+ const content = await safeReadFile(join(root, "package.json"));
34
+ if (!content)
35
+ return null;
36
+ try {
37
+ return JSON.parse(content);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ /** Extract semver string from a version range like "^4.0.0" → "4.0.0". */
44
+ function parseVersion(raw) {
45
+ return raw.replace(/^[^0-9]*/, "").split("-")[0] ?? raw;
46
+ }
47
+ /**
48
+ * Simple grep over a list of source files.
49
+ * Returns { files: string[], count: number } for matches.
50
+ */
51
+ function grepFiles(files, pattern) {
52
+ const hitFiles = [];
53
+ let count = 0;
54
+ for (const { path, content } of files) {
55
+ const matches = content.match(new RegExp(pattern.source, `${pattern.flags.includes("g") ? "" : "g"}${pattern.flags.replace("g", "")}`));
56
+ if (matches && matches.length > 0) {
57
+ hitFiles.push(path);
58
+ count += matches.length;
59
+ }
60
+ }
61
+ return { files: hitFiles, count };
62
+ }
63
+ // ---------------------------------------------------------------------------
64
+ // File discovery
65
+ // ---------------------------------------------------------------------------
66
+ /** Extensions to scan for source-level checks. */
67
+ const SOURCE_EXTENSIONS = new Set([
68
+ ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs",
69
+ ".astro", ".md", ".mdx",
70
+ ]);
71
+ /** Walk the project collecting relevant source files (capped for performance). */
72
+ async function collectSourceFiles(root, maxFiles = 5000) {
73
+ const { walkDirectory } = await import("../utils/walk.js");
74
+ let paths;
75
+ try {
76
+ paths = await walkDirectory(root, {
77
+ fileFilter: (ext) => SOURCE_EXTENSIONS.has(ext),
78
+ maxFiles,
79
+ relative: true,
80
+ });
81
+ }
82
+ catch {
83
+ return [];
84
+ }
85
+ const results = [];
86
+ for (const relPath of paths) {
87
+ const content = await safeReadFile(join(root, relPath));
88
+ if (content !== null)
89
+ results.push({ path: relPath, content });
90
+ }
91
+ return results;
92
+ }
93
+ // ---------------------------------------------------------------------------
94
+ // Individual detectors
95
+ // ---------------------------------------------------------------------------
96
+ /**
97
+ * AM01 — Astro.glob() usage
98
+ * Replace with getCollection() or import.meta.glob()
99
+ */
100
+ function detectAM01(files) {
101
+ const { files: hitFiles, count } = grepFiles(files, /Astro\.glob\s*\(/);
102
+ if (count === 0)
103
+ return null;
104
+ return {
105
+ code: "AM01",
106
+ category: "API removal",
107
+ severity: "error",
108
+ message: "Astro.glob() has been removed. Replace with getCollection() for content collections or import.meta.glob() for file imports.",
109
+ files: hitFiles,
110
+ count,
111
+ effort: "low",
112
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#removed-astroglob",
113
+ };
114
+ }
115
+ /**
116
+ * AM02 — emitESMImage() usage
117
+ */
118
+ function detectAM02(files) {
119
+ const { files: hitFiles, count } = grepFiles(files, /emitESMImage\s*\(/);
120
+ if (count === 0)
121
+ return null;
122
+ return {
123
+ code: "AM02",
124
+ category: "API removal",
125
+ severity: "error",
126
+ message: "emitESMImage() has been removed. Use the new image optimization API instead.",
127
+ files: hitFiles,
128
+ count,
129
+ effort: "low",
130
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#removed-emitesmimage",
131
+ };
132
+ }
133
+ /**
134
+ * AM03 — <ViewTransitions /> component rename → <ClientRouter />
135
+ */
136
+ function detectAM03(files) {
137
+ const { files: hitFiles, count } = grepFiles(files, /<ViewTransitions\s*\/?>/);
138
+ if (count === 0)
139
+ return null;
140
+ return {
141
+ code: "AM03",
142
+ category: "component rename",
143
+ severity: "error",
144
+ message: "<ViewTransitions /> has been renamed to <ClientRouter />. Update all usages and imports.",
145
+ files: hitFiles,
146
+ count,
147
+ effort: "trivial",
148
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#renamed-viewtransitions-to-clientrouter",
149
+ };
150
+ }
151
+ /**
152
+ * AM04 — Legacy content config path: src/content/config.ts
153
+ * Should be moved to src/content.config.ts
154
+ */
155
+ function detectAM04(root) {
156
+ const legacyPath = join(root, "src", "content", "config.ts");
157
+ if (!existsSync(legacyPath))
158
+ return null;
159
+ return {
160
+ code: "AM04",
161
+ category: "content collections",
162
+ severity: "warning",
163
+ message: "Legacy content config found at src/content/config.ts. Move to src/content.config.ts (project root) for Astro v6.",
164
+ files: ["src/content/config.ts"],
165
+ count: 1,
166
+ effort: "medium",
167
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#new-content-collections-config-location",
168
+ };
169
+ }
170
+ /**
171
+ * AM05 — type: "content" or type: "data" in defineCollection (v5 syntax)
172
+ * Astro v6 uses a different collection type declaration.
173
+ */
174
+ function detectAM05(files) {
175
+ const configFiles = files.filter((f) => f.path.includes("content.config") || f.path.includes("content/config"));
176
+ if (configFiles.length === 0)
177
+ return null;
178
+ const { files: hitFiles, count } = grepFiles(configFiles, /type\s*:\s*["'](content|data)["']/);
179
+ if (count === 0)
180
+ return null;
181
+ return {
182
+ code: "AM05",
183
+ category: "content collections",
184
+ severity: "warning",
185
+ message: "defineCollection with type: 'content' or type: 'data' uses v5 syntax. Update to v6 collection type API.",
186
+ files: hitFiles,
187
+ count,
188
+ effort: "medium",
189
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#content-collections-api-changes",
190
+ };
191
+ }
192
+ /**
193
+ * AM06 — engines.node < 22 in package.json
194
+ */
195
+ function detectAM06(pkg) {
196
+ if (!pkg)
197
+ return null;
198
+ const engines = pkg["engines"];
199
+ if (!engines?.node)
200
+ return null;
201
+ // Extract minimum version number from range like ">=18", "^18", "18", ">=18.0.0"
202
+ const nodeRange = engines.node;
203
+ const match = nodeRange.match(/(\d+)/);
204
+ if (!match)
205
+ return null;
206
+ const minVersion = parseInt(match[1] ?? "0", 10);
207
+ if (minVersion >= 22)
208
+ return null;
209
+ return {
210
+ code: "AM06",
211
+ category: "node version",
212
+ severity: "error",
213
+ message: `engines.node is "${nodeRange}" but Astro v6 requires Node.js >= 22. Update your package.json and CI configuration.`,
214
+ files: ["package.json"],
215
+ count: 1,
216
+ effort: "low",
217
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#nodejs-22-minimum",
218
+ };
219
+ }
220
+ /**
221
+ * AM07 — .refine() usage (may need updates for Zod 4 compatibility)
222
+ */
223
+ function detectAM07(files) {
224
+ const { files: hitFiles, count } = grepFiles(files, /\.refine\s*\(/);
225
+ if (count === 0)
226
+ return null;
227
+ return {
228
+ code: "AM07",
229
+ category: "Zod 3",
230
+ severity: "warning",
231
+ message: ".refine() usage detected. Review for Zod 4 compatibility — the API may have changed for complex refinements.",
232
+ files: hitFiles,
233
+ count,
234
+ effort: "medium",
235
+ migration_guide: "https://zod.dev/v4",
236
+ };
237
+ }
238
+ /**
239
+ * AM08 — .nonempty() deprecated → .min(1)
240
+ */
241
+ function detectAM08(files) {
242
+ const { files: hitFiles, count } = grepFiles(files, /\.nonempty\s*\(/);
243
+ if (count === 0)
244
+ return null;
245
+ return {
246
+ code: "AM08",
247
+ category: "Zod 3",
248
+ severity: "warning",
249
+ message: ".nonempty() is deprecated in Zod 4. Replace with .min(1).",
250
+ files: hitFiles,
251
+ count,
252
+ effort: "low",
253
+ migration_guide: "https://zod.dev/v4#nonempty-deprecated",
254
+ };
255
+ }
256
+ /**
257
+ * AM09 — output: "hybrid" in astro.config.* (now the default, no longer needed)
258
+ */
259
+ function detectAM09(files) {
260
+ const configFiles = files.filter((f) => /astro\.config\.(mjs|ts|cjs|js)$/.test(f.path));
261
+ const { files: hitFiles, count } = grepFiles(configFiles, /output\s*:\s*["']hybrid["']/);
262
+ if (count === 0)
263
+ return null;
264
+ return {
265
+ code: "AM09",
266
+ category: "output mode",
267
+ severity: "info",
268
+ message: "output: 'hybrid' is now the default in Astro v6. You can remove this explicit setting.",
269
+ files: hitFiles,
270
+ count,
271
+ effort: "low",
272
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#hybrid-output-is-now-default",
273
+ };
274
+ }
275
+ /**
276
+ * AM10 — @astrojs/lit imported (integration removed in v6)
277
+ */
278
+ function detectAM10(pkg) {
279
+ if (!pkg)
280
+ return null;
281
+ const deps = {
282
+ ...(pkg["dependencies"] ?? {}),
283
+ ...(pkg["devDependencies"] ?? {}),
284
+ ...(pkg["peerDependencies"] ?? {}),
285
+ };
286
+ if (!deps["@astrojs/lit"])
287
+ return null;
288
+ return {
289
+ code: "AM10",
290
+ category: "integration",
291
+ severity: "error",
292
+ message: "@astrojs/lit has been removed in Astro v6. Use Lit directly without the integration, or migrate to another component framework.",
293
+ files: ["package.json"],
294
+ count: 1,
295
+ effort: "medium",
296
+ migration_guide: "https://docs.astro.build/en/guides/upgrade-to/v6/#removed-astrjslit",
297
+ };
298
+ }
299
+ // ---------------------------------------------------------------------------
300
+ // Main entry point
301
+ // ---------------------------------------------------------------------------
302
+ export async function astroMigrationCheck(args) {
303
+ // Resolve project root from repo identifier or from CWD via index.
304
+ let root;
305
+ if (args.repo) {
306
+ // Try to resolve via CodeIndex
307
+ const { getCodeIndex } = await import("./index-tools.js");
308
+ const index = await getCodeIndex(args.repo);
309
+ if (!index)
310
+ throw new Error(`Repository "${args.repo}" not found. Run index_folder first.`);
311
+ root = index.root;
312
+ }
313
+ else {
314
+ // Fallback: use CWD
315
+ root = process.cwd();
316
+ // Try to auto-detect via index
317
+ try {
318
+ const { getCodeIndex } = await import("./index-tools.js");
319
+ const index = await getCodeIndex(undefined);
320
+ if (index)
321
+ root = index.root;
322
+ }
323
+ catch {
324
+ // Use CWD
325
+ }
326
+ }
327
+ const targetVersion = args.target_version ?? "6";
328
+ // 1. Read package.json
329
+ const pkg = await readPackageJson(root);
330
+ let currentVersion = null;
331
+ if (pkg) {
332
+ const deps = {
333
+ ...(pkg["dependencies"] ?? {}),
334
+ ...(pkg["devDependencies"] ?? {}),
335
+ };
336
+ const astroPkg = deps["astro"] ?? deps["astro-cdn"];
337
+ if (astroPkg)
338
+ currentVersion = parseVersion(astroPkg);
339
+ }
340
+ // 2. Collect source files for grep-based checks
341
+ const sourceFiles = await collectSourceFiles(root);
342
+ // 3. Run all detectors
343
+ const detectors = [
344
+ detectAM01(sourceFiles),
345
+ detectAM02(sourceFiles),
346
+ detectAM03(sourceFiles),
347
+ detectAM04(root),
348
+ detectAM05(sourceFiles),
349
+ detectAM06(pkg),
350
+ detectAM07(sourceFiles),
351
+ detectAM08(sourceFiles),
352
+ detectAM09(sourceFiles),
353
+ detectAM10(pkg),
354
+ ];
355
+ const breakingChanges = detectors.filter((d) => d !== null);
356
+ // 4. Compute summary
357
+ const byEffort = {};
358
+ let totalHours = 0;
359
+ for (const issue of breakingChanges) {
360
+ byEffort[issue.effort] = (byEffort[issue.effort] ?? 0) + 1;
361
+ totalHours += (EFFORT_HOURS[issue.effort] ?? 0) * issue.count;
362
+ }
363
+ // Round to 1 decimal place for display
364
+ const hoursDisplay = totalHours < 0.5
365
+ ? "< 0.5h"
366
+ : `~${Math.round(totalHours * 10) / 10}h`;
367
+ return {
368
+ current_version: currentVersion,
369
+ target_version: targetVersion,
370
+ breaking_changes: breakingChanges,
371
+ summary: {
372
+ total_issues: breakingChanges.length,
373
+ by_effort: byEffort,
374
+ estimated_migration_hours: hoursDisplay,
375
+ },
376
+ };
377
+ }
378
+ //# sourceMappingURL=astro-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astro-migration.js","sourceRoot":"","sources":["../../src/tools/astro-migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA4BrC,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,YAAY,GAA2B;IAC3C,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,gDAAgD;AAChD,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAChB,KAA+C,EAC/C,OAAe;IAEf,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxI,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,kDAAkD;AAClD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,QAAQ,EAAE,KAAK,EAAE,MAAM;CACxB,CAAC,CAAC;AAEH,kFAAkF;AAClF,KAAK,UAAU,kBAAkB,CAC/B,IAAY,EACZ,QAAQ,GAAG,IAAI;IAEf,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;YAChC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;YAC/C,QAAQ;YACR,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA6C,EAAE,CAAC;IAC7D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACxE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,6HAA6H;QACtI,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,qEAAqE;KACvF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,8EAA8E;QACvF,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,wEAAwE;KAC1F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,0FAA0F;QACnG,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,2FAA2F;KAC7G,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,kHAAkH;QAC3H,KAAK,EAAE,CAAC,uBAAuB,CAAC;QAChC,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,2FAA2F;KAC7G,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC9E,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IAC/F,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,yGAAyG;QAClH,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,mFAAmF;KACrG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAmC;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAuC,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,iFAAiF;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAEjD,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oBAAoB,SAAS,uFAAuF;QAC7H,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,qEAAqE;KACvF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACrE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,8GAA8G;QACvH,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,oBAAoB;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACvE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,wCAAwC;KAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAA+C;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IACzF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,wFAAwF;QACjG,KAAK,EAAE,QAAQ;QACf,KAAK;QACL,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,gFAAgF;KAClG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAmC;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG;QACX,GAAG,CAAE,GAAG,CAAC,cAAc,CAAwC,IAAI,EAAE,CAAC;QACtE,GAAG,CAAE,GAAG,CAAC,iBAAiB,CAAwC,IAAI,EAAE,CAAC;QACzE,GAAG,CAAE,GAAG,CAAC,kBAAkB,CAAwC,IAAI,EAAE,CAAC;KAC3E,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,iIAAiI;QAC1I,KAAK,EAAE,CAAC,cAAc,CAAC;QACvB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,qEAAqE;KACvF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAGzC;IACC,mEAAmE;IACnE,IAAI,IAAY,CAAC;IAEjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,+BAA+B;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,sCAAsC,CAAC,CAAC;QAC5F,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,oBAAoB;QACpB,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrB,+BAA+B;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAA8B,CAAC,CAAC;YACjE,IAAI,KAAK;gBAAE,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;IAEjD,uBAAuB;IACvB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG;YACX,GAAG,CAAE,GAAG,CAAC,cAAc,CAAwC,IAAI,EAAE,CAAC;YACtE,GAAG,CAAE,GAAG,CAAC,iBAAiB,CAAwC,IAAI,EAAE,CAAC;SAC1E,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,QAAQ;YAAE,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEnD,uBAAuB;IACvB,MAAM,SAAS,GAAiC;QAC9C,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC;QAChB,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC;QACf,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,WAAW,CAAC;QACvB,UAAU,CAAC,GAAG,CAAC;KAChB,CAAC;IAEF,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEjF,qBAAqB;IACrB,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,UAAU,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAChE,CAAC;IAED,uCAAuC;IACvC,MAAM,YAAY,GAAG,UAAU,GAAG,GAAG;QACnC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAE5C,OAAO;QACL,eAAe,EAAE,cAAc;QAC/B,cAAc,EAAE,aAAa;QAC7B,gBAAgB,EAAE,eAAe;QACjC,OAAO,EAAE;YACP,YAAY,EAAE,eAAe,CAAC,MAAM;YACpC,SAAS,EAAE,QAAQ;YACnB,yBAAyB,EAAE,YAAY;SACxC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface AsyncFinding {
2
+ rule: string;
3
+ severity: "error" | "warning" | "info";
4
+ file: string;
5
+ line: number;
6
+ symbol: string;
7
+ symbol_kind: string;
8
+ match: string;
9
+ message: string;
10
+ fix: string;
11
+ }
12
+ export interface AsyncCorrectnessResult {
13
+ findings: AsyncFinding[];
14
+ total: number;
15
+ by_rule: Record<string, number>;
16
+ async_functions_scanned: number;
17
+ }
18
+ /**
19
+ * Analyze async correctness across all async Python functions.
20
+ */
21
+ export declare function analyzeAsyncCorrectness(repo: string, options?: {
22
+ file_pattern?: string;
23
+ rules?: string[];
24
+ max_results?: number;
25
+ }): Promise<AsyncCorrectnessResult>;
26
+ //# sourceMappingURL=async-correctness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-correctness.d.ts","sourceRoot":"","sources":["../../src/tools/async-correctness.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AA+ED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,sBAAsB,CAAC,CA+EjC"}