@codeyam/codeyam-cli 0.1.0-staging.1669d45 → 0.1.0-staging.1a2737b

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 (654) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +19 -19
  4. package/analyzer-template/packages/ai/index.ts +16 -2
  5. package/analyzer-template/packages/ai/package.json +2 -2
  6. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +110 -52
  7. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +98 -9
  9. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +139 -23
  10. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  11. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +6 -126
  12. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +656 -28
  13. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  14. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +94 -7
  15. package/analyzer-template/packages/ai/src/lib/completionCall.ts +198 -34
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1331 -254
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +205 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +124 -17
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +140 -14
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -97
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -0
  32. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  33. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  34. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +58 -3
  35. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +936 -7
  36. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +35 -6
  37. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +515 -6
  38. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
  39. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1540 -75
  40. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  41. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +51 -3
  42. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  43. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
  44. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  45. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  46. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  47. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  48. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +44 -7
  49. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  50. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +179 -45
  51. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +26 -4
  52. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  53. package/analyzer-template/packages/analyze/index.ts +2 -0
  54. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
  55. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  56. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  57. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  58. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  59. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  60. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  61. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  62. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  63. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  64. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +99 -22
  65. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +19 -4
  66. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  67. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  68. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  69. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  70. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  71. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  72. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +193 -76
  73. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +87 -25
  74. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +269 -22
  75. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +118 -10
  76. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +647 -73
  77. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  78. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  79. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  80. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  81. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  82. package/analyzer-template/packages/aws/package.json +10 -10
  83. package/analyzer-template/packages/database/package.json +1 -1
  84. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  85. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  86. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  87. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  88. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  89. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  90. package/analyzer-template/packages/database/src/lib/kysely/db.ts +14 -1
  91. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  92. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +1 -1
  93. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  94. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  95. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  96. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  97. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  98. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  99. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  100. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  101. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  102. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  103. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  104. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  105. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  106. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  107. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  108. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  109. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  110. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  111. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  112. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  113. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  114. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  115. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  116. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  117. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  118. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  119. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  120. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +11 -1
  121. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  122. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  123. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  124. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  125. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  126. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  127. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +1 -1
  128. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  129. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  130. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  131. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  132. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  133. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  134. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  135. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  136. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  137. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  138. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  139. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  140. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  141. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  142. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  143. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  144. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  145. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  146. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  147. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  148. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  149. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  150. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  151. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  152. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  153. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  154. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  155. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  156. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  157. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  158. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  159. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  160. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  161. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  162. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  163. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  164. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  165. package/analyzer-template/packages/github/dist/types/index.d.ts +1 -1
  166. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  167. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  168. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +25 -1
  169. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  170. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  171. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  172. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  173. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  174. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
  175. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  176. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  177. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  178. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  179. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  180. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  181. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  182. package/analyzer-template/packages/github/package.json +1 -1
  183. package/analyzer-template/packages/types/index.ts +1 -0
  184. package/analyzer-template/packages/types/src/types/Analysis.ts +25 -0
  185. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  186. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
  187. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +70 -6
  188. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  189. package/analyzer-template/packages/utils/dist/types/index.d.ts +1 -1
  190. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  191. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  192. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +25 -1
  193. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  194. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  195. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  196. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  197. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  198. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
  199. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  200. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  201. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  202. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  203. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +93 -2
  204. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  205. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  206. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  207. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  208. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  209. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +108 -2
  210. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  211. package/analyzer-template/playwright/capture.ts +20 -8
  212. package/analyzer-template/playwright/captureStatic.ts +1 -1
  213. package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
  214. package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
  215. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  216. package/analyzer-template/project/constructMockCode.ts +436 -44
  217. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  218. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  219. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  220. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  221. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  222. package/analyzer-template/project/orchestrateCapture.ts +75 -7
  223. package/analyzer-template/project/reconcileMockDataKeys.ts +152 -9
  224. package/analyzer-template/project/runAnalysis.ts +4 -0
  225. package/analyzer-template/project/start.ts +35 -11
  226. package/analyzer-template/project/writeMockDataTsx.ts +295 -10
  227. package/analyzer-template/project/writeScenarioComponents.ts +237 -32
  228. package/analyzer-template/project/writeSimpleRoot.ts +21 -11
  229. package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
  230. package/background/src/lib/local/createLocalAnalyzer.js +1 -1
  231. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  232. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
  233. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  234. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
  235. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  236. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  237. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  238. package/background/src/lib/virtualized/project/constructMockCode.js +359 -14
  239. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  240. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  241. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  242. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  243. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  244. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  245. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  246. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  247. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  248. package/background/src/lib/virtualized/project/orchestrateCapture.js +62 -7
  249. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  250. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +126 -9
  251. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  252. package/background/src/lib/virtualized/project/runAnalysis.js +3 -0
  253. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  254. package/background/src/lib/virtualized/project/start.js +32 -11
  255. package/background/src/lib/virtualized/project/start.js.map +1 -1
  256. package/background/src/lib/virtualized/project/writeMockDataTsx.js +251 -6
  257. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  258. package/background/src/lib/virtualized/project/writeScenarioComponents.js +173 -30
  259. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  260. package/background/src/lib/virtualized/project/writeSimpleRoot.js +21 -11
  261. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  262. package/codeyam-cli/scripts/apply-setup.js +180 -0
  263. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  264. package/codeyam-cli/src/cli.js +32 -18
  265. package/codeyam-cli/src/cli.js.map +1 -1
  266. package/codeyam-cli/src/codeyam-cli.js +18 -2
  267. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  268. package/codeyam-cli/src/commands/analyze.js +4 -2
  269. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  270. package/codeyam-cli/src/commands/baseline.js +2 -0
  271. package/codeyam-cli/src/commands/baseline.js.map +1 -1
  272. package/codeyam-cli/src/commands/debug.js +9 -5
  273. package/codeyam-cli/src/commands/debug.js.map +1 -1
  274. package/codeyam-cli/src/commands/default.js +31 -20
  275. package/codeyam-cli/src/commands/default.js.map +1 -1
  276. package/codeyam-cli/src/commands/detect-universal-mocks.js +2 -0
  277. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
  278. package/codeyam-cli/src/commands/init.js +49 -257
  279. package/codeyam-cli/src/commands/init.js.map +1 -1
  280. package/codeyam-cli/src/commands/memory.js +307 -0
  281. package/codeyam-cli/src/commands/memory.js.map +1 -0
  282. package/codeyam-cli/src/commands/recapture.js +2 -0
  283. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  284. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  285. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  286. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  287. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  288. package/codeyam-cli/src/commands/test-startup.js +2 -0
  289. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  290. package/codeyam-cli/src/commands/verify.js +14 -2
  291. package/codeyam-cli/src/commands/verify.js.map +1 -1
  292. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +179 -0
  293. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  294. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +128 -82
  295. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  296. package/codeyam-cli/src/utils/analysisRunner.js +21 -2
  297. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  298. package/codeyam-cli/src/utils/analyzer.js +7 -0
  299. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  300. package/codeyam-cli/src/utils/backgroundServer.js +90 -19
  301. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  302. package/codeyam-cli/src/utils/generateReport.js +2 -2
  303. package/codeyam-cli/src/utils/install-skills.js +77 -38
  304. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  305. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  306. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  307. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  308. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  309. package/codeyam-cli/src/utils/progress.js +7 -0
  310. package/codeyam-cli/src/utils/progress.js.map +1 -1
  311. package/codeyam-cli/src/utils/queue/job.js +5 -0
  312. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  313. package/codeyam-cli/src/utils/queue/manager.js +6 -0
  314. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  315. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  316. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  317. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  318. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  319. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  320. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  321. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  322. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  323. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  324. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  325. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  326. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  327. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  328. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  329. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  330. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  331. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  332. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  333. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +116 -0
  334. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  335. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  336. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  337. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  338. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  339. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  340. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  341. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  342. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  343. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  344. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  345. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  346. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  347. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  348. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  349. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  350. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  351. package/codeyam-cli/src/utils/rules/index.js +6 -0
  352. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  353. package/codeyam-cli/src/utils/rules/parser.js +83 -0
  354. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  355. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  356. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  357. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  358. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  359. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  360. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  361. package/codeyam-cli/src/utils/serverState.js +37 -10
  362. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  363. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +21 -42
  364. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  365. package/codeyam-cli/src/utils/simulationGateMiddleware.js +138 -0
  366. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  367. package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
  368. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  369. package/codeyam-cli/src/utils/versionInfo.js +25 -0
  370. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  371. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  372. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  373. package/codeyam-cli/src/webserver/app/lib/database.js +22 -6
  374. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  375. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  376. package/codeyam-cli/src/webserver/backgroundServer.js +50 -0
  377. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  378. package/codeyam-cli/src/webserver/bootstrap.js +51 -0
  379. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  380. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-jNYXRRNI.js +1 -0
  381. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-bwuHPyTa.js +11 -0
  382. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-COi5OvsN.js → EntityTypeBadge-CvzqMxcu.js} +1 -1
  383. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BwdQv49w.js → EntityTypeIcon-BH0XDim7.js} +1 -1
  384. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CEleMv_j.js → InlineSpinner-EhOseatT.js} +1 -1
  385. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-D68KarMg.js → InteractivePreview-yjIHlOGa.js} +2 -2
  386. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-L75Wvqgw.js → LibraryFunctionPreview-Cq5o8jL4.js} +1 -1
  387. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-C53WM8qn.js → LoadingDots-BvMu2i-g.js} +1 -1
  388. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CrNkmy4i.js → LogViewer-kgBTLoJD.js} +1 -1
  389. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BzPgx-xO.js +11 -0
  390. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CQifa1n-.js → SafeScreenshot-CwZrv-Ok.js} +1 -1
  391. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-CyaBFX7l.js → ScenarioViewer-BX2Ny2Qj.js} +3 -13
  392. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-D36O1rzU.js → TruncatedFilePath-CDpEprKa.js} +1 -1
  393. package/codeyam-cli/src/webserver/build/client/assets/_index-BRx8ZGZo.js +11 -0
  394. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-4S4yPfFw.js +27 -0
  395. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +17 -0
  396. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  397. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  398. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  399. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  400. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  401. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  402. package/codeyam-cli/src/webserver/build/client/assets/book-open-D4IPYH_y.js +6 -0
  403. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-DgTPh8H-.js → chevron-down-CG65viiV.js} +1 -1
  404. package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-DdQKK6on.js → chunk-JZWAC4HX-DB3aFuEO.js} +12 -12
  405. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-Dmr2bb1R.js → circle-check-igfMr5DY.js} +1 -1
  406. package/codeyam-cli/src/webserver/build/client/assets/copy-Coc4o_8c.js +11 -0
  407. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-Do4ZLUYa.js → createLucideIcon-D1zB-pYc.js} +1 -1
  408. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +1 -0
  409. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CbdFyxZh.js → entity._sha._-B0h9AqE6.js} +12 -12
  410. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js → entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js} +1 -1
  411. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-wDWZZO1W.js → entity._sha_.create-scenario-CtYowLOt.js} +1 -1
  412. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMbl7MeQ.js → entity._sha_.edit._scenarioId-PePWg17F.js} +1 -1
  413. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-5wRKRIH9.js → entry.client-I-Wo99C_.js} +1 -1
  414. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DD3SDH7t.js → fileTableUtils-9sMMAiWJ.js} +1 -1
  415. package/codeyam-cli/src/webserver/build/client/assets/files-Co65J0s3.js +1 -0
  416. package/codeyam-cli/src/webserver/build/client/assets/{git-zXjT7J0G.js → git-BdHOxVfg.js} +8 -8
  417. package/codeyam-cli/src/webserver/build/client/assets/globals-BSZfYCkU.css +1 -0
  418. package/codeyam-cli/src/webserver/build/client/assets/{index-DLbXwndH.js → index-CUM5iXwc.js} +1 -1
  419. package/codeyam-cli/src/webserver/build/client/assets/{index-gPZ-lad1.js → index-_417gcQW.js} +1 -1
  420. package/codeyam-cli/src/webserver/build/client/assets/labs-BK0C1H1T.js +1 -0
  421. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BsPXJ81F.js → loader-circle-TzRHMVog.js} +1 -1
  422. package/codeyam-cli/src/webserver/build/client/assets/manifest-040dab1c.js +1 -0
  423. package/codeyam-cli/src/webserver/build/client/assets/memory-UIDVz141.js +92 -0
  424. package/codeyam-cli/src/webserver/build/client/assets/pause-hjzB7t2z.js +11 -0
  425. package/codeyam-cli/src/webserver/build/client/assets/root-D1WadSdf.js +62 -0
  426. package/codeyam-cli/src/webserver/build/client/assets/{search-P2FKIUql.js → search-DcAwD_Ln.js} +1 -1
  427. package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +1 -0
  428. package/codeyam-cli/src/webserver/build/client/assets/{simulations-L18M6-kN.js → simulations-DVNJVQgD.js} +1 -1
  429. package/codeyam-cli/src/webserver/build/client/assets/terminal-DbEAHMbA.js +11 -0
  430. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-BDz7kbVA.js → triangle-alert-CAD5b1o_.js} +1 -1
  431. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-29dDmbH8.js → useCustomSizes-BqgrAzs3.js} +1 -1
  432. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BUm0UVJm.js → useLastLogLine-DAFqfEDH.js} +1 -1
  433. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-CkIOKTrZ.js → useReportContext-DZlYx2c4.js} +1 -1
  434. package/codeyam-cli/src/webserver/build/client/assets/{useToast-KKw5kTn-.js → useToast-ihdMtlf6.js} +1 -1
  435. package/codeyam-cli/src/webserver/build/server/assets/index-B3dE0r28.js +1 -0
  436. package/codeyam-cli/src/webserver/build/server/assets/server-build-DYbfdxa3.js +273 -0
  437. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  438. package/codeyam-cli/src/webserver/build-info.json +5 -5
  439. package/codeyam-cli/templates/{codeyam:debug.md → codeyam-debug.md} +48 -4
  440. package/codeyam-cli/templates/codeyam-diagnose.md +481 -0
  441. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  442. package/codeyam-cli/templates/codeyam-memory.md +396 -0
  443. package/codeyam-cli/templates/codeyam-new-rule.md +13 -0
  444. package/codeyam-cli/templates/{codeyam:setup.md → codeyam-setup.md} +13 -1
  445. package/codeyam-cli/templates/{codeyam:sim.md → codeyam-sim.md} +1 -1
  446. package/codeyam-cli/templates/{codeyam:test.md → codeyam-test.md} +1 -1
  447. package/codeyam-cli/templates/{codeyam:verify.md → codeyam-verify.md} +1 -1
  448. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  449. package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
  450. package/codeyam-cli/templates/rules-instructions.md +132 -0
  451. package/package.json +18 -15
  452. package/packages/ai/index.js +7 -3
  453. package/packages/ai/index.js.map +1 -1
  454. package/packages/ai/src/lib/analyzeScope.js +91 -30
  455. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  456. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  457. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  458. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +78 -8
  459. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  460. package/packages/ai/src/lib/astScopes/methodSemantics.js +109 -23
  461. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  462. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  463. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  464. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +1 -102
  465. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  466. package/packages/ai/src/lib/astScopes/processExpression.js +518 -28
  467. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  468. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  469. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  470. package/packages/ai/src/lib/completionCall.js +161 -30
  471. package/packages/ai/src/lib/completionCall.js.map +1 -1
  472. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1061 -174
  473. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  474. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  475. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  476. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +179 -0
  477. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  478. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  479. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  480. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  481. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  482. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  483. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  484. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
  485. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  486. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +106 -13
  487. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  488. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  489. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  490. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +122 -12
  491. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  492. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  493. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  494. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  495. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  496. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -86
  497. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  498. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  499. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  500. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  501. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  502. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  503. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  504. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  505. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  506. package/packages/ai/src/lib/generateEntityDataStructure.js +46 -2
  507. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  508. package/packages/ai/src/lib/generateEntityScenarioData.js +734 -8
  509. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  510. package/packages/ai/src/lib/generateEntityScenarios.js +26 -2
  511. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  512. package/packages/ai/src/lib/generateExecutionFlows.js +376 -4
  513. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  514. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1124 -59
  515. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  516. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  517. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  518. package/packages/ai/src/lib/isolateScopes.js +39 -3
  519. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  520. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  521. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  522. package/packages/ai/src/lib/mergeStatements.js +70 -51
  523. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  524. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  525. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  526. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  527. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  528. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  529. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  530. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +30 -7
  531. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  532. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  533. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  534. package/packages/ai/src/lib/resolvePathToControllable.js +155 -41
  535. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
  536. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  537. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  538. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  539. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  540. package/packages/analyze/index.js +1 -0
  541. package/packages/analyze/index.js.map +1 -1
  542. package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
  543. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  544. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  545. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  546. package/packages/analyze/src/lib/analysisContext.js +30 -5
  547. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  548. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  549. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  550. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  551. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  552. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  553. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  554. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  555. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  556. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  557. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  558. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  559. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  560. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  561. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  562. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +72 -10
  563. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  564. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +17 -4
  565. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  566. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  567. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  568. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  569. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  570. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  571. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  572. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  573. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  574. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  575. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  576. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  577. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  578. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +164 -68
  579. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  580. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +75 -21
  581. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  582. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +185 -20
  583. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  584. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +57 -9
  585. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  586. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +542 -53
  587. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  588. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  589. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  590. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  591. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  592. package/packages/analyze/src/lib/index.js +1 -0
  593. package/packages/analyze/src/lib/index.js.map +1 -1
  594. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  595. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  596. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  597. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  598. package/packages/database/src/lib/analysisToDb.js +1 -1
  599. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  600. package/packages/database/src/lib/branchToDb.js +1 -1
  601. package/packages/database/src/lib/branchToDb.js.map +1 -1
  602. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  603. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  604. package/packages/database/src/lib/commitToDb.js +1 -1
  605. package/packages/database/src/lib/commitToDb.js.map +1 -1
  606. package/packages/database/src/lib/fileToDb.js +1 -1
  607. package/packages/database/src/lib/fileToDb.js.map +1 -1
  608. package/packages/database/src/lib/kysely/db.js +11 -1
  609. package/packages/database/src/lib/kysely/db.js.map +1 -1
  610. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  611. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  612. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  613. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  614. package/packages/database/src/lib/loadAnalyses.js +45 -2
  615. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  616. package/packages/database/src/lib/loadAnalysis.js +8 -0
  617. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  618. package/packages/database/src/lib/loadBranch.js +11 -1
  619. package/packages/database/src/lib/loadBranch.js.map +1 -1
  620. package/packages/database/src/lib/loadCommit.js +7 -0
  621. package/packages/database/src/lib/loadCommit.js.map +1 -1
  622. package/packages/database/src/lib/loadCommits.js +22 -1
  623. package/packages/database/src/lib/loadCommits.js.map +1 -1
  624. package/packages/database/src/lib/loadEntities.js +23 -4
  625. package/packages/database/src/lib/loadEntities.js.map +1 -1
  626. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  627. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  628. package/packages/database/src/lib/projectToDb.js +1 -1
  629. package/packages/database/src/lib/projectToDb.js.map +1 -1
  630. package/packages/database/src/lib/saveFiles.js +1 -1
  631. package/packages/database/src/lib/saveFiles.js.map +1 -1
  632. package/packages/database/src/lib/scenarioToDb.js +1 -1
  633. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  634. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  635. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  636. package/packages/types/index.js.map +1 -1
  637. package/packages/utils/src/lib/fs/rsyncCopy.js +93 -2
  638. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  639. package/packages/utils/src/lib/safeFileName.js +29 -3
  640. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  641. package/scripts/finalize-analyzer.cjs +8 -76
  642. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +0 -1
  643. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +0 -11
  644. package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +0 -11
  645. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +0 -37
  646. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +0 -1
  647. package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +0 -1
  648. package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +0 -1
  649. package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +0 -1
  650. package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +0 -57
  651. package/codeyam-cli/src/webserver/build/client/assets/settings-B2eDuBj8.js +0 -1
  652. package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +0 -1
  653. package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +0 -228
  654. package/codeyam-cli/templates/codeyam:diagnose.md +0 -625
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Shared utilities for detecting array-derived expressions in conditionals.
3
+ *
4
+ * These utilities detect patterns like:
5
+ * - arr.some(fn) → { sourcePath: 'arr', operation: 'arraySome' }
6
+ * - arr.every(fn) → { sourcePath: 'arr', operation: 'arrayEvery' }
7
+ * - arr.includes(x) → { sourcePath: 'arr', operation: 'arrayIncludes' }
8
+ * - arr.length → { sourcePath: 'arr', operation: 'arrayLength' }
9
+ *
10
+ * Used by both:
11
+ * - variableDeclarationHandler.ts (for variable assignments)
12
+ * - processExpression.ts (for inline conditionals)
13
+ */
14
+ import ts from 'typescript';
15
+ /**
16
+ * Extracts a simple path string from an expression.
17
+ * Returns the path for identifiers and property access chains.
18
+ */
19
+ export function getSimplePath(node) {
20
+ if (ts.isIdentifier(node)) {
21
+ return node.text;
22
+ }
23
+ if (ts.isPropertyAccessExpression(node)) {
24
+ const objectPath = getSimplePath(node.expression);
25
+ if (objectPath) {
26
+ return `${objectPath}.${node.name.text}`;
27
+ }
28
+ }
29
+ // Handle optional chaining: a?.b
30
+ if (ts.isNonNullExpression(node)) {
31
+ return getSimplePath(node.expression);
32
+ }
33
+ return null;
34
+ }
35
+ /**
36
+ * Maps array method names to derivation operation names
37
+ */
38
+ function getArrayPredicateOperation(methodName) {
39
+ switch (methodName) {
40
+ case 'includes':
41
+ return 'arrayIncludes';
42
+ case 'some':
43
+ return 'arraySome';
44
+ case 'every':
45
+ return 'arrayEvery';
46
+ default:
47
+ return null;
48
+ }
49
+ }
50
+ /**
51
+ * Detects if an expression is an array predicate call and extracts the array path.
52
+ * Patterns detected:
53
+ * - arr.includes(x) → { sourcePath: 'arr', operation: 'arrayIncludes' }
54
+ * - arr?.includes(x) → { sourcePath: 'arr', operation: 'arrayIncludes' }
55
+ * - arr.some(fn) → { sourcePath: 'arr', operation: 'arraySome' }
56
+ * - arr.every(fn) → { sourcePath: 'arr', operation: 'arrayEvery' }
57
+ * - Boolean(x && arr?.includes(y)) → { sourcePath: 'arr', operation: 'arrayIncludes' }
58
+ */
59
+ export function detectArrayPredicatePattern(expr) {
60
+ // Unwrap Boolean() calls: Boolean(x) → x
61
+ if (ts.isCallExpression(expr) &&
62
+ ts.isIdentifier(expr.expression) &&
63
+ expr.expression.text === 'Boolean' &&
64
+ expr.arguments.length === 1) {
65
+ return detectArrayPredicatePattern(expr.arguments[0]);
66
+ }
67
+ // Handle logical AND: a && b - check both sides for array predicates
68
+ if (ts.isBinaryExpression(expr) &&
69
+ expr.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
70
+ // Try the right side first (more likely to have the predicate)
71
+ const rightResult = detectArrayPredicatePattern(expr.right);
72
+ if (rightResult)
73
+ return rightResult;
74
+ // Try the left side
75
+ const leftResult = detectArrayPredicatePattern(expr.left);
76
+ if (leftResult)
77
+ return leftResult;
78
+ return null;
79
+ }
80
+ // Handle parenthesized expressions
81
+ if (ts.isParenthesizedExpression(expr)) {
82
+ return detectArrayPredicatePattern(expr.expression);
83
+ }
84
+ if (!ts.isCallExpression(expr)) {
85
+ return null;
86
+ }
87
+ const callExpr = expr.expression;
88
+ // Handle both regular property access (arr.includes) and optional chaining (arr?.includes)
89
+ let objectExpr = null;
90
+ let methodName = null;
91
+ if (ts.isPropertyAccessExpression(callExpr)) {
92
+ objectExpr = callExpr.expression;
93
+ methodName = callExpr.name.text;
94
+ }
95
+ else if (ts.isElementAccessExpression(callExpr) &&
96
+ ts.isStringLiteral(callExpr.argumentExpression)) {
97
+ // Handle arr["includes"]() syntax (rare but possible)
98
+ objectExpr = callExpr.expression;
99
+ methodName = callExpr.argumentExpression.text;
100
+ }
101
+ if (!objectExpr || !methodName) {
102
+ return null;
103
+ }
104
+ const operation = getArrayPredicateOperation(methodName);
105
+ if (!operation) {
106
+ return null;
107
+ }
108
+ // Get the source path for the array
109
+ const sourcePath = getSimplePath(objectExpr);
110
+ if (!sourcePath) {
111
+ return null;
112
+ }
113
+ return { sourcePath, operation };
114
+ }
115
+ /**
116
+ * Detects if an expression is an array.length access.
117
+ * Patterns detected:
118
+ * - arr.length → { sourcePath: 'arr', operation: 'arrayLength' }
119
+ * - arr?.length → { sourcePath: 'arr', operation: 'arrayLength' }
120
+ */
121
+ export function detectArrayLengthPattern(expr) {
122
+ // Handle property access: arr.length
123
+ if (ts.isPropertyAccessExpression(expr)) {
124
+ if (expr.name.text === 'length') {
125
+ const sourcePath = getSimplePath(expr.expression);
126
+ if (sourcePath) {
127
+ return { sourcePath, operation: 'arrayLength' };
128
+ }
129
+ }
130
+ }
131
+ return null;
132
+ }
133
+ /**
134
+ * Detects any array-derived pattern (predicate methods or .length).
135
+ * This is the main entry point for inline conditional detection.
136
+ */
137
+ export function detectArrayDerivedPattern(expr) {
138
+ // Check for array predicate methods first (.some, .every, .includes)
139
+ const predicateResult = detectArrayPredicatePattern(expr);
140
+ if (predicateResult) {
141
+ return predicateResult;
142
+ }
143
+ // Check for .length access
144
+ const lengthResult = detectArrayLengthPattern(expr);
145
+ if (lengthResult) {
146
+ return lengthResult;
147
+ }
148
+ return null;
149
+ }
150
+ //# sourceMappingURL=arrayDerivationDetector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayDerivationDetector.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/astScopes/arrayDerivationDetector.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,7 @@ export class ASTScopeAnalyzer {
96
96
  this.compoundConditionals = [];
97
97
  this.conditionalEffects = [];
98
98
  this.childBoundaryGatingConditions = {};
99
+ this.jsxRenderingUsages = [];
99
100
  /**
100
101
  * Tracks derived boolean variables and their source expressions.
101
102
  * Maps variable name to derivation info.
@@ -184,6 +185,7 @@ export class ASTScopeAnalyzer {
184
185
  conditionalEffects: this.conditionalEffects,
185
186
  derivedVariables: this.derivedVariables,
186
187
  childBoundaryGatingConditions: this.childBoundaryGatingConditions,
188
+ jsxRenderingUsages: this.jsxRenderingUsages,
187
189
  isComplete: completeness.equivalences === 'full' &&
188
190
  completeness.structures === 'full',
189
191
  completeness,
@@ -195,6 +197,7 @@ export class ASTScopeAnalyzer {
195
197
  statementInfo: this.statementInfo,
196
198
  typeChecker: this.fileAnalyzer.typeChecker,
197
199
  addEquivalence: (leftSide, rightSide) => this.addEquivalence(leftSide, rightSide),
200
+ addMultipleEquivalencies: (leftSide, rightSides) => this.addMultipleEquivalencies(leftSide, rightSides),
198
201
  addType: (path, type) => this.addType(path, type),
199
202
  addEnvironmentVariable: (variablePath) => this.addEnvironmentVariable(variablePath),
200
203
  markUnsupported: (node, message, isBlocking) => this.markUnsupported(node, message, isBlocking),
@@ -224,6 +227,8 @@ export class ASTScopeAnalyzer {
224
227
  updateSchemaType: (path, newType) => this.updateSchemaType(path, newType),
225
228
  addConditionalEffect: (effect) => this.addConditionalEffect(effect),
226
229
  getConditionalEffects: () => this.conditionalEffects,
230
+ addJsxRenderingUsage: (usage) => this.addJsxRenderingUsage(usage),
231
+ getJsxRenderingUsages: () => this.jsxRenderingUsages,
227
232
  };
228
233
  return context;
229
234
  }
@@ -483,7 +488,9 @@ export class ASTScopeAnalyzer {
483
488
  nodeToSource(node, this.sourceFile));
484
489
  }
485
490
  /**
486
- * Adds an equivalence relationship between two variable paths
491
+ * Adds an equivalence relationship between two variable paths.
492
+ * Uses overwrite semantics - if an equivalence already exists, the new value replaces it
493
+ * (unless the new value is 'undefined' or 'null').
487
494
  */
488
495
  addEquivalence(leftSide, rightSide) {
489
496
  // Skip adding equivalences if left side is a literal path.
@@ -493,9 +500,45 @@ export class ASTScopeAnalyzer {
493
500
  const leftSideStr = leftSide?.toLeftHandSideString();
494
501
  const rightSideStr = rightSide?.toRightHandSideString();
495
502
  if (leftSideStr && rightSideStr && leftSideStr !== rightSideStr) {
503
+ const existingValue = this.equivalentVariables[leftSideStr];
504
+ // Don't overwrite a meaningful value with 'undefined' or 'null'.
505
+ // This is critical for ternary conditionals like `const x = cond ? func() : undefined`
506
+ // or `const x = items.find(...) || null` where we want to preserve
507
+ // the equivalency to the more meaningful value (func()'s return value, items[]).
508
+ if (existingValue &&
509
+ (rightSideStr === 'undefined' || rightSideStr === 'null')) {
510
+ return;
511
+ }
496
512
  this.equivalentVariables[leftSideStr] = rightSideStr;
497
513
  }
498
514
  }
515
+ /**
516
+ * Adds multiple equivalence relationships for a single variable path.
517
+ * Used for OR expressions like `x = a || b` where x is equivalent to both a and b.
518
+ * The values are stored as an array to track all possible sources.
519
+ */
520
+ addMultipleEquivalencies(leftSide, rightSides) {
521
+ if (leftSide?.isLiteral()) {
522
+ return;
523
+ }
524
+ const leftSideStr = leftSide?.toLeftHandSideString();
525
+ if (!leftSideStr)
526
+ return;
527
+ // Filter out invalid paths and convert to strings
528
+ const validRightSides = rightSides
529
+ .map((r) => r?.toRightHandSideString())
530
+ .filter((r) => !!r && r !== leftSideStr);
531
+ // Remove duplicates while preserving order
532
+ const uniqueRightSides = [...new Set(validRightSides)];
533
+ // Filter out 'undefined' and 'null' unless they're the only values
534
+ const meaningfulValues = uniqueRightSides.filter((v) => v !== 'undefined' && v !== 'null');
535
+ const finalValues = meaningfulValues.length > 0 ? meaningfulValues : uniqueRightSides;
536
+ if (finalValues.length === 0)
537
+ return;
538
+ // Store as single value if only one, otherwise as array
539
+ this.equivalentVariables[leftSideStr] =
540
+ finalValues.length === 1 ? finalValues[0] : finalValues;
541
+ }
499
542
  /**
500
543
  * Adds a type for a variable path
501
544
  */
@@ -589,6 +632,17 @@ export class ASTScopeAnalyzer {
589
632
  addConditionalEffect(effect) {
590
633
  this.conditionalEffects.push(effect);
591
634
  }
635
+ /**
636
+ * Add a JSX rendering usage (array.map() or text interpolation)
637
+ * Deduplicates by path and rendering type
638
+ */
639
+ addJsxRenderingUsage(usage) {
640
+ // Deduplicate: don't add if we already have the same path + renderingType
641
+ const exists = this.jsxRenderingUsages.some((u) => u.path === usage.path && u.renderingType === usage.renderingType);
642
+ if (!exists) {
643
+ this.jsxRenderingUsages.push(usage);
644
+ }
645
+ }
592
646
  /**
593
647
  * Updates the schema type for a path, typically used when switch statements
594
648
  * reveal the valid values for a parameter (creating a union type like "'a' | 'b' | 'c'")
@@ -604,19 +658,35 @@ export class ASTScopeAnalyzer {
604
658
  const pathStr = path.toString();
605
659
  // Update the type for the given path
606
660
  this.structure[pathStr] = newType;
607
- // Also update the type for any equivalent path
661
+ // Also update the type for any equivalent path(s)
608
662
  // e.g., if "state" -> "signature[0]", update "signature[0]" as well
609
- const equivalentPath = this.equivalentVariables[pathStr];
610
- if (equivalentPath) {
611
- this.structure[equivalentPath] = newType;
663
+ const rawEquivalentPath = this.equivalentVariables[pathStr];
664
+ const equivalentPaths = Array.isArray(rawEquivalentPath)
665
+ ? rawEquivalentPath
666
+ : rawEquivalentPath
667
+ ? [rawEquivalentPath]
668
+ : [];
669
+ for (const equivalentPath of equivalentPaths) {
670
+ if (typeof equivalentPath === 'string') {
671
+ this.structure[equivalentPath] = newType;
672
+ }
612
673
  }
613
674
  // For property paths like "data.status", check if the base has an equivalence
614
675
  // e.g., if "data" -> "signature[0]", transform "data.status" to "signature[0].status"
615
- for (const [varPath, equivalence] of Object.entries(this.equivalentVariables)) {
676
+ for (const [varPath, rawEquivalence] of Object.entries(this.equivalentVariables)) {
616
677
  if (pathStr.startsWith(varPath + '.')) {
678
+ const equivalences = Array.isArray(rawEquivalence)
679
+ ? rawEquivalence
680
+ : rawEquivalence
681
+ ? [rawEquivalence]
682
+ : [];
617
683
  const suffix = pathStr.slice(varPath.length);
618
- const transformedPath = equivalence + suffix;
619
- this.structure[transformedPath] = newType;
684
+ for (const equivalence of equivalences) {
685
+ if (typeof equivalence === 'string') {
686
+ const transformedPath = equivalence + suffix;
687
+ this.structure[transformedPath] = newType;
688
+ }
689
+ }
620
690
  }
621
691
  }
622
692
  }
@@ -1 +1 @@
1
- {"version":3,"file":"astScopeAnalyzer.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/astScopes/astScopeAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astScopeAnalyzer.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/astScopes/astScopeAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,66 @@ export class ArrayFilterSemantics {
79
79
  return true;
80
80
  }
81
81
  }
82
+ /**
83
+ * Array some method semantics
84
+ *
85
+ * some() returns true if at least one element passes the test, false otherwise
86
+ * The callback receives array elements to test
87
+ */
88
+ export class ArraySomeSemantics {
89
+ getReturnType() {
90
+ return 'boolean';
91
+ }
92
+ addEquivalences(methodCallPath, sourcePath, context) {
93
+ // Mark source as array
94
+ context.addType(sourcePath, 'array');
95
+ // Mark return as boolean
96
+ context.addType(methodCallPath, 'boolean');
97
+ // Get the last function call segment to access the arguments
98
+ const lastFunctionCallSegment = methodCallPath.getLastFunctionCallSegment();
99
+ if (lastFunctionCallSegment && lastFunctionCallSegment.args.length > 0) {
100
+ // The first argument is the callback
101
+ const callbackPath = lastFunctionCallSegment.args[0];
102
+ // Add the callback to the structure
103
+ context.addType(callbackPath, 'function');
104
+ // Mark that the callback's first parameter receives array elements
105
+ context.addEquivalence(callbackPath.withParameter(0), sourcePath.withElement('*'));
106
+ }
107
+ }
108
+ isComplete() {
109
+ return true;
110
+ }
111
+ }
112
+ /**
113
+ * Array every method semantics
114
+ *
115
+ * every() returns true if all elements pass the test, false otherwise
116
+ * The callback receives array elements to test
117
+ */
118
+ export class ArrayEverySemantics {
119
+ getReturnType() {
120
+ return 'boolean';
121
+ }
122
+ addEquivalences(methodCallPath, sourcePath, context) {
123
+ // Mark source as array
124
+ context.addType(sourcePath, 'array');
125
+ // Mark return as boolean
126
+ context.addType(methodCallPath, 'boolean');
127
+ // Get the last function call segment to access the arguments
128
+ const lastFunctionCallSegment = methodCallPath.getLastFunctionCallSegment();
129
+ if (lastFunctionCallSegment && lastFunctionCallSegment.args.length > 0) {
130
+ // The first argument is the callback
131
+ const callbackPath = lastFunctionCallSegment.args[0];
132
+ // Add the callback to the structure
133
+ context.addType(callbackPath, 'function');
134
+ // Mark that the callback's first parameter receives array elements
135
+ context.addEquivalence(callbackPath.withParameter(0), sourcePath.withElement('*'));
136
+ }
137
+ }
138
+ isComplete() {
139
+ return true;
140
+ }
141
+ }
82
142
  /**
83
143
  * Array find method semantics
84
144
  *
@@ -100,12 +160,12 @@ export class ArrayFindSemantics {
100
160
  context.addType(callbackPath, 'function');
101
161
  // Mark that the callback's first parameter receives array elements
102
162
  context.addEquivalence(callbackPath.withParameter(0), sourcePath.withElement('*'));
103
- // THIS IS PRODUCING STRANGE RESULTS SUCH AS
104
- // 'people.filter(cyScope2()).find(cyScope3())': 'people.filter(cyScope2()).functionCallReturnValue[]',
105
- // 'personWithHome.places.find(cyScope5())': 'personWithHome.places[]'
106
- // WHICH DO NOT MAKES SENSE
107
- // REMOVING BUT LEAVING IN PLACE IN CASE THERE IS A VALID USE CASE
108
- // The result is an element from the array that matches the callback condition
163
+ // NOTE: We intentionally do NOT create an equivalency from the find result
164
+ // to the array element here. While semantically correct (find returns an element),
165
+ // doing so causes type inference issues where the array element gets typed as
166
+ // 'function' instead of 'object'. The tracing back to source arrays happens
167
+ // through the || operator processing and null guard in addEquivalence.
168
+ // See: analyzeScopeNoAI1.test.ts for tests that break if this is uncommented.
109
169
  // context.addEquivalence(methodCallPath, sourcePath.withElement('*'));
110
170
  }
111
171
  }
@@ -149,27 +209,34 @@ export class ArrayReduceSemantics {
149
209
  /**
150
210
  * Array concat method semantics
151
211
  *
152
- * concat() returns a new array combining the original array and additional items
212
+ * concat() returns a new array/string combining the original and additional items
213
+ *
214
+ * NOTE: We intentionally do NOT type the source as 'array' here because
215
+ * .concat() exists on both arrays AND strings. Typing the source prematurely
216
+ * causes type contamination when the source is equivalent to other paths
217
+ * via ?? chains. Type inference happens later in checkIfKnownType() based
218
+ * on accumulated evidence from all methods called on a path.
153
219
  */
154
220
  export class ArrayConcatSemantics {
155
221
  getReturnType() {
156
- return 'array';
222
+ return 'unknown'; // Could be array or string depending on source
157
223
  }
158
224
  addEquivalences(methodCallPath, sourcePath, context) {
159
- // Mark source as array
160
- context.addType(sourcePath, 'array');
161
- // Any arguments are also added to the array
225
+ // NOTE: We use 'unknown' instead of 'array' for the source because .concat()
226
+ // exists on both arrays AND strings. Using 'array' causes type contamination
227
+ // when the source is equivalent to other paths via ?? chains.
228
+ context.addType(sourcePath, 'unknown');
229
+ // Any arguments are also added to the result
162
230
  const functionCallSegment = methodCallPath.getLastFunctionCallSegment();
163
231
  if (functionCallSegment) {
164
232
  // Each argument could be an array or single element
165
233
  functionCallSegment.args.forEach((argPath) => {
166
234
  // No need to guess the type - we'll discover it through normal processing
167
- // But we can indicate that these elements will be in the result array
235
+ // But we can indicate that these elements will be in the result
168
236
  context.addEquivalence(methodCallPath, argPath);
169
237
  });
170
238
  }
171
- // The original array elements are also in the result
172
- context.addType(methodCallPath, 'array');
239
+ // The original elements are also in the result
173
240
  context.addEquivalence(methodCallPath, sourcePath.withElement('*'));
174
241
  }
175
242
  isComplete() {
@@ -179,18 +246,27 @@ export class ArrayConcatSemantics {
179
246
  /**
180
247
  * Array slice method semantics
181
248
  *
182
- * slice() returns a shallow copy of a portion of an array
249
+ * slice() returns a shallow copy of a portion of an array (or string)
250
+ *
251
+ * NOTE: We intentionally do NOT type the source as 'array' here because
252
+ * .slice() exists on both arrays AND strings. Typing the source prematurely
253
+ * causes type contamination when the source is equivalent to other paths
254
+ * via ?? chains. Type inference happens later in checkIfKnownType() based
255
+ * on accumulated evidence from all methods called on a path.
183
256
  */
184
257
  export class ArraySliceSemantics {
185
258
  getReturnType() {
186
- return 'array';
259
+ return 'unknown'; // Could be array or string depending on source
187
260
  }
188
261
  addEquivalences(methodCallPath, sourcePath, context) {
189
- // Mark source as array
190
- context.addType(sourcePath, 'array');
191
- // The elements in the result are the same type as the source array
262
+ // NOTE: We use 'unknown' instead of 'array' for the source because .slice()
263
+ // exists on both arrays AND strings. Using 'array' causes type contamination
264
+ // when the source is equivalent to other paths via ?? chains.
265
+ // Type inference happens later in checkIfKnownType() based on accumulated evidence.
266
+ context.addType(sourcePath, 'unknown');
267
+ // Still track the return value type for data structure tracking
192
268
  const methodCallPathWithReturnValues = methodCallPath.withReturnValues();
193
- context.addType(methodCallPathWithReturnValues, 'array');
269
+ context.addType(methodCallPathWithReturnValues, 'unknown');
194
270
  }
195
271
  isComplete() {
196
272
  return true;
@@ -349,15 +425,23 @@ export class ArrayFlatMapSemantics {
349
425
  * Array at method semantics
350
426
  *
351
427
  * at() returns the element at the given index, supporting negative indices
428
+ *
429
+ * NOTE: We intentionally do NOT type the source as 'array' here because
430
+ * .at() exists on both arrays AND strings. Typing the source prematurely
431
+ * causes type contamination when the source is equivalent to other paths
432
+ * via ?? chains. Type inference happens later in checkIfKnownType() based
433
+ * on accumulated evidence from all methods called on a path.
352
434
  */
353
435
  export class ArrayAtSemantics {
354
436
  getReturnType() {
355
437
  return 'unknown'; // Returns element type or undefined
356
438
  }
357
439
  addEquivalences(methodCallPath, sourcePath, context) {
358
- // Mark source as array
359
- context.addType(sourcePath, 'array');
360
- // The return value is equivalent to an array element
440
+ // NOTE: We use 'unknown' instead of 'array' for the source because .at()
441
+ // exists on both arrays AND strings. Using 'array' causes type contamination
442
+ // when the source is equivalent to other paths via ?? chains.
443
+ context.addType(sourcePath, 'unknown');
444
+ // The return value is equivalent to an element
361
445
  context.addEquivalence(methodCallPath.withReturnValues(), sourcePath.withElement('*'));
362
446
  }
363
447
  isComplete() {
@@ -550,6 +634,8 @@ export function createMethodRegistry() {
550
634
  registry.register('slice', new ArraySliceSemantics(), 'Array');
551
635
  registry.register('splice', new ArraySpliceSemantics(), 'Array');
552
636
  registry.register('push', new ArrayPushSemantics(), 'Array');
637
+ registry.register('some', new ArraySomeSemantics(), 'Array');
638
+ registry.register('every', new ArrayEverySemantics(), 'Array');
553
639
  // Register Object methods
554
640
  registry.register('fromEntries', new ObjectFromEntriesSemantics(), 'Object');
555
641
  // Register String methods