@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 @@
1
+ {"version":3,"file":"TransformationTracer.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/scenarios/TransformationTracer.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,16 @@
7
7
  * enriches the mocked dependency's returnValueSchema so the LLM knows what fields
8
8
  * to generate for array elements.
9
9
  *
10
+ * Uses usageEquivalencies to trace data flow and ONLY enrich arrays with fields
11
+ * from children that actually receive elements from that array.
12
+ *
10
13
  * Example:
11
14
  * - getSurveysAction returns { data: array }
15
+ * - usageEquivalencies shows: surveys[] -> SurveyCard().signature[0].survey
12
16
  * - SurveyCard expects signature[0].survey.updatedAt: date
13
17
  * - After enrichment: getSurveysAction().data[]: object, data[].updatedAt: date
14
18
  */
15
- export default function enrichArrayTypesFromChildSignatures(importedExports, dependencySchemas) {
19
+ export default function enrichArrayTypesFromChildSignatures(importedExports, dependencySchemas, usageEquivalencies) {
16
20
  // Find all mocked dependencies with array return types
17
21
  const mockedArrayPaths = [];
18
22
  for (const importedExport of importedExports) {
@@ -28,7 +32,8 @@ export default function enrichArrayTypesFromChildSignatures(importedExports, dep
28
32
  // - wrapThrows().data.createdBy (deeply nested)
29
33
  // - getStatusOptions().functionCallReturnValue (direct array return - usually options/primitives)
30
34
  for (const [path, type] of Object.entries(schema)) {
31
- if (type !== 'array')
35
+ // Check if type is array (including nullable/optional variants like 'array | undefined')
36
+ if (!type.startsWith('array'))
32
37
  continue;
33
38
  // Skip paths with computed property patterns like [key], [i], [0], etc.
34
39
  // These represent dynamic access patterns, not simple data arrays
@@ -62,96 +67,187 @@ export default function enrichArrayTypesFromChildSignatures(importedExports, dep
62
67
  }
63
68
  if (mockedArrayPaths.length === 0)
64
69
  return;
65
- // Find all non-mocked child components and extract their signature fields
66
- // We check both direct imports AND all schemas in dependencySchemas because
67
- // transitive dependencies (e.g., SurveyCard imported by SurveysList imported by SurveysPage)
68
- // may have signature schemas that we need to use for enrichment.
69
- const childSignatureFields = [];
70
- // Helper to extract prop fields from a signature schema
71
- const extractPropFields = (schema) => {
72
- const propFields = {};
70
+ // Build a map from child component signature paths to their prop fields
71
+ // e.g., "SurveyCard().signature[0].survey" -> { "id": "string", "updatedAt": "date" }
72
+ const childSignatureFieldsByPath = new Map();
73
+ // Helper to extract prop name and fields from a signature schema
74
+ const extractSignatureInfo = (entityName, schema) => {
75
+ // Group by prop name (e.g., signature[0].survey.id, signature[0].survey.name -> "survey")
76
+ const propGroups = {};
77
+ // Also collect direct fields on signature[0] (e.g., signature[0].filePath -> "filePath")
78
+ const directFields = {};
73
79
  for (const [path, type] of Object.entries(schema)) {
74
- // Match signature[0].propName.field patterns
75
- const match = path.match(/^signature\[0\]\.(\w+)\.(.+)$/);
76
- if (match) {
77
- const [, , fieldPath] = match;
78
- // Store as "fieldPath" without the prop name prefix
79
- // e.g., signature[0].survey.updatedAt -> updatedAt
80
- propFields[fieldPath] = type;
80
+ // Match signature[0].propName.field or signature[0].propName[].field patterns
81
+ // The (?:\[\])? makes array props optional, handling both:
82
+ // - signature[0].survey.updatedAt (object prop)
83
+ // - signature[0].questionAnswers[].question.questionText (array prop)
84
+ const nestedMatch = path.match(/^signature\[0\]\.(\w+)(?:\[\])?\.(.+)$/);
85
+ if (nestedMatch) {
86
+ const [, propName, fieldPath] = nestedMatch;
87
+ propGroups[propName] || (propGroups[propName] = {});
88
+ propGroups[propName][fieldPath] = type;
89
+ continue;
90
+ }
91
+ // Also match direct fields: signature[0].fieldName (single level, no nested path)
92
+ // This handles cases like TruncatedFilePath where filePath is passed directly
93
+ const directMatch = path.match(/^signature\[0\]\.(\w+)$/);
94
+ if (directMatch) {
95
+ const [, fieldName] = directMatch;
96
+ directFields[fieldName] = type;
81
97
  }
82
98
  }
83
- return propFields;
84
- };
85
- // First, check direct imports (non-mocked)
86
- const processedSchemas = new Set();
87
- for (const importedExport of importedExports) {
88
- // Skip mocked dependencies - we want child components
89
- if (importedExport.isMocked || !importedExport.filePath)
90
- continue;
91
- const schemaKey = `${importedExport.filePath}::${importedExport.name}`;
92
- processedSchemas.add(schemaKey);
93
- const schema = dependencySchemas?.[importedExport.filePath]?.[importedExport.name]
94
- ?.signatureSchema;
95
- if (!schema)
96
- continue;
97
- const propFields = extractPropFields(schema);
98
- if (Object.keys(propFields).length > 0) {
99
- childSignatureFields.push({
100
- filePath: importedExport.filePath,
101
- entityName: importedExport.name,
102
- propFields,
99
+ // Store nested prop groups with the full signature path as key
100
+ for (const [propName, fields] of Object.entries(propGroups)) {
101
+ if (Object.keys(fields).length > 0) {
102
+ const signaturePath = `${entityName}().signature[0].${propName}`;
103
+ childSignatureFieldsByPath.set(signaturePath, { propName, fields });
104
+ }
105
+ }
106
+ // Store direct fields with signature[0] as key (for when entire object is passed)
107
+ if (Object.keys(directFields).length > 0) {
108
+ const signaturePath = `${entityName}().signature[0]`;
109
+ childSignatureFieldsByPath.set(signaturePath, {
110
+ propName: '',
111
+ fields: directFields,
103
112
  });
104
113
  }
105
- }
106
- // Also check all schemas in dependencySchemas for transitive child components
107
- // that may not be in importedExports but have signature schemas with prop fields
114
+ };
115
+ // Process all schemas in dependencySchemas
108
116
  if (dependencySchemas) {
109
- for (const [filePath, entities] of Object.entries(dependencySchemas)) {
117
+ for (const [, entities] of Object.entries(dependencySchemas)) {
110
118
  for (const [entityName, schemas] of Object.entries(entities)) {
111
- const schemaKey = `${filePath}::${entityName}`;
112
- // Skip already processed schemas
113
- if (processedSchemas.has(schemaKey))
114
- continue;
115
119
  const signatureSchema = schemas?.signatureSchema;
116
- if (!signatureSchema)
117
- continue;
118
- const propFields = extractPropFields(signatureSchema);
119
- if (Object.keys(propFields).length > 0) {
120
- childSignatureFields.push({
121
- filePath,
122
- entityName,
123
- propFields,
124
- });
120
+ if (signatureSchema) {
121
+ extractSignatureInfo(entityName, signatureSchema);
125
122
  }
126
123
  }
127
124
  }
128
125
  }
129
- if (childSignatureFields.length === 0)
126
+ if (childSignatureFieldsByPath.size === 0)
130
127
  return;
131
- // Enrich mocked dependency arrays with child signature fields
132
- // Only enrich arrays that don't already have element types defined
133
- // A more sophisticated approach would trace the data flow to match specific arrays to specific children
128
+ // Helper to check if a local variable name could be derived from a mocked function name
129
+ // e.g., "getSurveys" -> "surveys", "fetchUsers" -> "users", "loadData" -> "data"
130
+ // e.g., "getSurveysAction" -> "surveys" (removes "Action" suffix too)
131
+ const couldBeDerivedFrom = (localVarName, mockedFunctionName) => {
132
+ const normalizedVar = localVarName.toLowerCase().replace(/\[\]$/, '');
133
+ let normalizedFunc = mockedFunctionName.toLowerCase();
134
+ // Direct match (e.g., "surveys" from function "surveys")
135
+ if (normalizedFunc === normalizedVar)
136
+ return true;
137
+ // Remove common prefixes like "get", "fetch", "load", "use"
138
+ const prefixPattern = /^(get|fetch|load|use)/i;
139
+ normalizedFunc = normalizedFunc.replace(prefixPattern, '');
140
+ // Remove common suffixes like "Action", "Query", "Mutation", "Handler"
141
+ const suffixPattern = /(action|query|mutation|handler)$/i;
142
+ normalizedFunc = normalizedFunc.replace(suffixPattern, '');
143
+ // Check if function name (without prefix/suffix) matches the variable name
144
+ if (normalizedFunc === normalizedVar)
145
+ return true;
146
+ // Check for singular/plural relationship
147
+ // e.g., "survey" from "getSurveys" or "surveys" from "getSurvey"
148
+ if (normalizedFunc.endsWith('s') &&
149
+ normalizedFunc.slice(0, -1) === normalizedVar)
150
+ return true;
151
+ if (normalizedVar.endsWith('s') &&
152
+ normalizedVar.slice(0, -1) === normalizedFunc)
153
+ return true;
154
+ // Check if the array property name (like "data") is in the variable
155
+ // This handles cases like "const { data: surveys } = getSurveys()" where
156
+ // the local var might be the renamed destructured property
157
+ // Skip this for now as it's too loose
158
+ return false;
159
+ };
160
+ // For each mocked array, find which child signatures it flows to via usageEquivalencies
134
161
  for (const { filePath, entityName, arrayPath } of mockedArrayPaths) {
135
162
  const schema = dependencySchemas[filePath][entityName].returnValueSchema;
136
- // Check if this array already has element type definitions
163
+ // Check if this array already has INDEXED element type definitions (e.g., [0]: null)
137
164
  // If so, skip it - it's likely a specialized array like [null] for refs
165
+ // But DON'T skip if it only has general [] element types - those can be enriched
138
166
  const elementPathPrefix = `${arrayPath}[`;
139
- const hasExistingElementType = Object.keys(schema).some((path) => path.startsWith(elementPathPrefix));
140
- if (hasExistingElementType) {
141
- // Array already has element type info (e.g., useAutoAnimate()[0]: null)
167
+ const hasIndexedElementType = Object.keys(schema).some((path) => {
168
+ if (!path.startsWith(elementPathPrefix))
169
+ return false;
170
+ // Check if it's an indexed type like [0], [1], etc. vs general []
171
+ const afterPrefix = path.slice(elementPathPrefix.length);
172
+ // Indexed types start with a digit: [0], [1], etc.
173
+ return /^\d/.test(afterPrefix);
174
+ });
175
+ if (hasIndexedElementType) {
176
+ // Array already has indexed element type info (e.g., useAutoAnimate()[0]: null)
142
177
  // Don't override it with child signature fields
143
178
  continue;
144
179
  }
145
- // Add array element type
180
+ // Find matching child signatures via usageEquivalencies
181
+ // Look for equivalencies where this array (or local variables derived from it)
182
+ // flows to a child component's signature
183
+ const matchedFields = {};
184
+ if (usageEquivalencies) {
185
+ // Check all equivalency entries for paths that could be derived from this array
186
+ for (const [sourcePath, targets] of Object.entries(usageEquivalencies)) {
187
+ // Check if this source path relates to our mocked array
188
+ // Direct match: "getSurveysAction().functionCallReturnValue.data[]"
189
+ // Indirect match: local variable like "surveys[]" that comes from the array
190
+ if (!sourcePath.endsWith('[]'))
191
+ continue;
192
+ // Get the local variable name from the source path (e.g., "surveys[]" -> "surveys")
193
+ const localVarName = sourcePath.replace(/\[\]$/, '');
194
+ // Check if this local variable could have come from this mocked function
195
+ // Use heuristics: name matching (getSurveys -> surveys, getUsers -> users)
196
+ // Also check if the array path ends with the local variable name
197
+ // e.g., useLoaderData().functionCallReturnValue.entities ends with .entities
198
+ const arrayEndsWithLocalVar = arrayPath.endsWith(`.${localVarName}`);
199
+ // Full-path usageEquivalencies (e.g., from same-file child components) use
200
+ // the complete call path as the local var name, which matches arrayPath exactly
201
+ const exactPathMatch = localVarName === arrayPath;
202
+ if (!exactPathMatch &&
203
+ !couldBeDerivedFrom(localVarName, entityName) &&
204
+ !arrayEndsWithLocalVar) {
205
+ continue;
206
+ }
207
+ for (const target of targets) {
208
+ // Target should be something like "SurveyCard().signature[0].survey"
209
+ // or "SurveyCard().signature[0].surveys[]"
210
+ const { schemaPath } = target;
211
+ // Look for signature fields that match this target
212
+ // Handle both singular (survey) and plural (surveys[]) forms
213
+ const normalizedTarget = schemaPath.replace(/\[\]$/, '');
214
+ for (const [signaturePath, info] of childSignatureFieldsByPath) {
215
+ if (normalizedTarget === signaturePath) {
216
+ // Found a match! Add all fields from this child signature
217
+ for (const [fieldPath, type] of Object.entries(info.fields)) {
218
+ if (!matchedFields[fieldPath]) {
219
+ matchedFields[fieldPath] = type;
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ // If no equivalencies matched, skip this array entirely
228
+ // This prevents the bug where ALL child signatures get merged into ALL arrays
229
+ if (Object.keys(matchedFields).length === 0) {
230
+ continue;
231
+ }
232
+ // Add array element type and matched fields
146
233
  const elementPath = `${arrayPath}[]`;
147
234
  schema[elementPath] = 'object';
148
- // Add fields from all child signatures to the array element
149
- for (const { propFields } of childSignatureFields) {
150
- for (const [fieldPath, type] of Object.entries(propFields)) {
151
- const fullPath = `${elementPath}.${fieldPath}`;
152
- if (!schema[fullPath]) {
235
+ for (const [fieldPath, type] of Object.entries(matchedFields)) {
236
+ const fullPath = `${elementPath}.${fieldPath}`;
237
+ const existingType = schema[fullPath];
238
+ if (!existingType) {
239
+ schema[fullPath] = type;
240
+ }
241
+ else {
242
+ // Prefer the more specific (narrower) type
243
+ const existingIsOptional = existingType.includes('| undefined') ||
244
+ existingType.includes('| null');
245
+ const newIsOptional = type.includes('| undefined') || type.includes('| null');
246
+ if (existingIsOptional && !newIsOptional) {
247
+ // Use the new type - it's more specific
153
248
  schema[fullPath] = type;
154
249
  }
250
+ // Otherwise keep existing (same specificity or existing is more specific)
155
251
  }
156
252
  }
157
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enrichArrayTypesFromChildSignatures.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enrichArrayTypesFromChildSignatures.js","sourceRoot":"","sources":["../../../../../../../../packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { convertDotNotation, fillInDirectSchemaGapsAndUnknowns, joinParenthesesAndArrays, mergeJsonTypeDefinitions, splitOutsideParenthesesAndArrays, } from "../../../../../../packages/ai/index.js";
1
+ import { convertDotNotation, fillInDirectSchemaGapsAndUnknowns, buildSchemaIndexes, joinParenthesesAndArrays, mergeJsonTypeDefinitions, splitOutsideParenthesesAndArrays, } from "../../../../../../packages/ai/index.js";
2
2
  /**
3
3
  * Strips generic type parameters from a function name.
4
4
  * e.g., "useFetcher<BranchEntityDiffResult>" -> "useFetcher"
@@ -116,7 +116,7 @@ function preprocessSchemaForMocks(schema) {
116
116
  * @param options - Additional options including entityName for canonical key generation
117
117
  * @param hookCallIndex - The global index of this hook call for canonical key generation
118
118
  */
119
- function processCall(importedExport, dependencySchemas, callIndex, variableNameOccurrence, options, hookCallIndex) {
119
+ function processCall(importedExport, dependencySchemas, callIndex, variableNameOccurrence, options, hookCallIndex, prebuiltIndexes) {
120
120
  const callName = importedExport.calls?.[callIndex] ?? importedExport.name;
121
121
  // Determine if we should use variable-qualified schema or base schema.
122
122
  // Use variable-qualified schema when:
@@ -281,7 +281,6 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
281
281
  }
282
282
  // Preprocess to filter signatures and extract functionCallReturnValue
283
283
  let preprocessedSchema = preprocessSchemaForMocks(mergedSchema);
284
- const functionNames = [];
285
284
  const isFunctionNameWithoutFunction = (path, functionName) => {
286
285
  // Check if path starts with functionName but isn't a function call
287
286
  // Must also handle generics: useLoaderData<typeof loader>() should NOT
@@ -351,29 +350,60 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
351
350
  preprocessedSchema = mergedSchema;
352
351
  }
353
352
  }
354
- const relevantMergedDependencySchema = Object.keys(preprocessedSchema).reduce((acc, path) => {
353
+ // Two-pass function name filtering to avoid O() retroactive deletion.
354
+ // Pass 1: Discover all unique function names from paths ending with ')'
355
+ const functionNameSet = new Set();
356
+ const schemaKeys = Object.keys(preprocessedSchema);
357
+ for (const path of schemaKeys) {
355
358
  if (path.endsWith(')')) {
356
359
  const pathParts = splitOutsideParenthesesAndArrays(path);
357
360
  const functionName = joinParenthesesAndArrays([
358
361
  ...pathParts.slice(0, -1),
359
362
  pathParts[pathParts.length - 1].split('(')[0],
360
363
  ]);
361
- functionNames.push(functionName);
362
- for (const existingPath in acc) {
363
- if (isFunctionNameWithoutFunction(existingPath, functionName)) {
364
- delete acc[existingPath];
365
- }
366
- }
364
+ functionNameSet.add(functionName);
367
365
  }
368
- if (functionNames.some((fn) => isFunctionNameWithoutFunction(path, fn))) {
369
- return acc;
366
+ }
367
+ // Index function names by first segment for O(1) bucket lookup instead of
368
+ // checking all function names for every path. Most paths only need to check
369
+ // 1-2 function names instead of all F.
370
+ const fnByFirstSegment = new Map();
371
+ for (const fn of functionNameSet) {
372
+ const dotIdx = fn.indexOf('.');
373
+ const firstSeg = dotIdx >= 0 ? fn.slice(0, dotIdx) : fn;
374
+ let bucket = fnByFirstSegment.get(firstSeg);
375
+ if (!bucket) {
376
+ bucket = [];
377
+ fnByFirstSegment.set(firstSeg, bucket);
370
378
  }
371
- acc[path] = preprocessedSchema[path];
372
- return acc;
373
- }, {});
379
+ bucket.push(fn);
380
+ }
381
+ // Pass 2: Filter paths that match any discovered function name prefix.
382
+ // Use indexed lookup: extract path's first segment, check only matching function names.
383
+ const relevantMergedDependencySchema = {};
384
+ for (const path of schemaKeys) {
385
+ // Extract first segment of path (before first '.', '(', or '<')
386
+ const dotIdx = path.indexOf('.');
387
+ const parenIdx = path.indexOf('(');
388
+ const angleIdx = path.indexOf('<');
389
+ let minIdx = path.length;
390
+ if (dotIdx >= 0 && dotIdx < minIdx)
391
+ minIdx = dotIdx;
392
+ if (parenIdx >= 0 && parenIdx < minIdx)
393
+ minIdx = parenIdx;
394
+ if (angleIdx >= 0 && angleIdx < minIdx)
395
+ minIdx = angleIdx;
396
+ const firstSeg = path.slice(0, minIdx);
397
+ const candidates = fnByFirstSegment.get(firstSeg);
398
+ if (!candidates ||
399
+ !candidates.some((fn) => isFunctionNameWithoutFunction(path, fn))) {
400
+ relevantMergedDependencySchema[path] = preprocessedSchema[path];
401
+ }
402
+ }
374
403
  const filledSchema = fillInDirectSchemaGapsAndUnknowns({
375
404
  scopeName: importedExport.name,
376
405
  schema: relevantMergedDependencySchema,
406
+ prebuiltIndexes,
377
407
  });
378
408
  const schema = convertDotNotation(filledSchema);
379
409
  // Determine if this is an object-style or hook-style dependency:
@@ -449,6 +479,30 @@ function addResultToAccumulator(acc, key, value) {
449
479
  }
450
480
  }
451
481
  export default function gatherDataForMocks(importedExports, dependencySchemas, options) {
482
+ // Build schema indexes ONCE from all dependency schemas combined.
483
+ // This avoids rebuilding indexes (~1-2 seconds for 18k keys) for each processCall.
484
+ //
485
+ // IMPORTANT: We must preprocess schemas BEFORE building indexes!
486
+ // The schemas contain .functionCallReturnValue paths that get stripped during processing.
487
+ // If we build indexes from original paths, lookups with preprocessed paths will fail.
488
+ // Example: 'hook().functionCallReturnValue.x.length' → index maps 'hook().functionCallReturnValue.x' → ['length']
489
+ // But preprocessed path 'hook().x.length' looks for 'hook().x' which doesn't exist in the index.
490
+ const allSchemaKeys = {};
491
+ if (dependencySchemas) {
492
+ for (const filePath in dependencySchemas) {
493
+ for (const entityName in dependencySchemas[filePath]) {
494
+ const schema = dependencySchemas[filePath][entityName]?.returnValueSchema;
495
+ if (schema) {
496
+ // Preprocess each schema to remove .functionCallReturnValue before collecting
497
+ const preprocessed = preprocessSchemaForMocks(schema);
498
+ Object.assign(allSchemaKeys, preprocessed);
499
+ }
500
+ }
501
+ }
502
+ }
503
+ const prebuiltIndexes = Object.keys(allSchemaKeys).length > 0
504
+ ? buildSchemaIndexes(allSchemaKeys)
505
+ : undefined;
452
506
  // Track the global index for each hook name across all imports
453
507
  // This enables canonical keys like EntityName::useLoaderData::0, EntityName::useFetcher::0, etc.
454
508
  const hookCallIndices = {};
@@ -512,7 +566,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
512
566
  continue;
513
567
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
514
568
  hookCallIndices[hookName] = hookCallIndex + 1;
515
- const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex);
569
+ const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex, prebuiltIndexes);
516
570
  if (processResult) {
517
571
  // The key is like "trpc.useUtils()" or "trpc.quote.getQuotesByOrg.useQuery()"
518
572
  // We need to nest the value at the path AFTER the base name
@@ -557,7 +611,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
557
611
  // Get the current hook call index and increment for next call
558
612
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
559
613
  hookCallIndices[hookName] = hookCallIndex + 1;
560
- const processResult = processCall(importedExport, dependencySchemas, i, occurrence, options, hookCallIndex);
614
+ const processResult = processCall(importedExport, dependencySchemas, i, occurrence, options, hookCallIndex, prebuiltIndexes);
561
615
  if (processResult) {
562
616
  addResultToAccumulator(acc, processResult.key, processResult.value);
563
617
  }
@@ -580,7 +634,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
580
634
  continue;
581
635
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
582
636
  hookCallIndices[hookName] = hookCallIndex + 1;
583
- const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex);
637
+ const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex, prebuiltIndexes);
584
638
  if (processResult) {
585
639
  addResultToAccumulator(acc, processResult.key, processResult.value);
586
640
  }
@@ -592,7 +646,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
592
646
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
593
647
  hookCallIndices[hookName] = hookCallIndex + 1;
594
648
  // First, try to get result from unqualified schema
595
- const processResult = processCall(importedExport, dependencySchemas, 0, undefined, options, hookCallIndex);
649
+ const processResult = processCall(importedExport, dependencySchemas, 0, undefined, options, hookCallIndex, prebuiltIndexes);
596
650
  // Check if we got a meaningful result (not empty object or null)
597
651
  // Arrays are always meaningful (even empty ones represent valid data structure)
598
652
  const hasUnqualifiedResult = processResult &&
@@ -622,7 +676,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
622
676
  let mergedValue = processResult.value;
623
677
  for (let i = 0; i < importedExport.callVariableNames.length; i++) {
624
678
  const varQualifiedResult = processCall(importedExport, dependencySchemas, i, 0, // Use 0 to trigger variable-qualified lookup
625
- options, hookCallIndex);
679
+ options, hookCallIndex, prebuiltIndexes);
626
680
  if (varQualifiedResult && varQualifiedResult.value) {
627
681
  mergedValue = mergeJsonTypeDefinitions(mergedValue, varQualifiedResult.value);
628
682
  }
@@ -641,7 +695,7 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
641
695
  let mergedValue = {};
642
696
  for (let i = 0; i < importedExport.callVariableNames.length; i++) {
643
697
  const varQualifiedResult = processCall(importedExport, dependencySchemas, i, 0, // Use 0 to trigger variable-qualified lookup
644
- options, hookCallIndex);
698
+ options, hookCallIndex, prebuiltIndexes);
645
699
  if (varQualifiedResult && varQualifiedResult.value) {
646
700
  // Deep merge the value into the accumulated result
647
701
  mergedValue = mergeJsonTypeDefinitions(mergedValue, varQualifiedResult.value);