@codeyam/codeyam-cli 0.1.0-staging.e38f7bd → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1038) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +21 -17
  5. package/analyzer-template/packages/ai/index.ts +21 -5
  6. package/analyzer-template/packages/ai/package.json +4 -4
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +228 -24
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +205 -10
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +181 -23
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +38 -1
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  17. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1619 -125
  18. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  19. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +324 -5
  20. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  21. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2543 -399
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +21 -4
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +976 -0
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +243 -77
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +71 -2
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +161 -19
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +163 -14
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +441 -82
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  37. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +174 -0
  38. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  39. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  40. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  41. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
  42. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +89 -112
  43. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +63 -2
  44. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1419 -101
  45. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +216 -109
  46. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +614 -0
  47. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  48. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  49. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  50. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  51. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  52. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  53. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  54. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  55. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  56. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +17 -7
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -102
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +110 -6
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -53
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  66. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  67. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  68. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  69. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +127 -3
  70. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
  71. package/analyzer-template/packages/analyze/index.ts +2 -0
  72. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  73. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  74. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  75. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  76. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  77. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  78. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  79. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  81. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  83. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +570 -180
  84. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +54 -1
  85. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  86. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
  87. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  89. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  90. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  91. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  92. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  93. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  94. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +22 -13
  95. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  96. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -0
  97. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +711 -78
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +550 -137
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -83
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1067 -167
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  108. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  109. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  110. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  111. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  112. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  113. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  114. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  115. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  116. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  117. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  118. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  119. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  120. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  124. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  125. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  126. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  127. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  128. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  129. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  130. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  131. package/analyzer-template/packages/aws/package.json +3 -3
  132. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  133. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  134. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  135. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  136. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  137. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  138. package/analyzer-template/packages/database/package.json +1 -1
  139. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  140. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  141. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  142. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  143. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  144. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  145. package/analyzer-template/packages/database/src/lib/kysely/db.ts +18 -5
  146. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  147. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  148. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +36 -9
  149. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  150. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  151. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  152. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  153. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  154. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  155. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  156. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  157. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +30 -5
  158. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  159. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  160. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  161. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  162. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  163. package/analyzer-template/packages/generate/index.ts +3 -0
  164. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  165. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  166. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  167. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  168. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  169. package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
  170. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  171. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  172. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  173. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  174. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  175. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  176. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  178. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  179. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -2
  185. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +13 -3
  187. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  189. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -11
  190. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  191. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  192. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +30 -7
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  207. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  208. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  209. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  210. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  211. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  212. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  213. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  214. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  215. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  216. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  217. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  218. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  219. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  220. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  221. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  222. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  223. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  224. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  225. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  226. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  227. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  228. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  229. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  230. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  231. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +23 -5
  232. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  233. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  234. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  235. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  236. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  237. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  238. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  239. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  240. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  241. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  242. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  243. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  244. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  245. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  246. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  247. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  248. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  249. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  250. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  251. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  252. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  253. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  254. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  255. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  256. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  257. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  258. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  259. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  260. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  261. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  262. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  263. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  264. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
  265. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
  266. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
  267. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  268. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  269. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  270. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  271. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  272. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  273. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  274. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  275. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  276. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  277. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  278. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  279. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  280. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  281. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  282. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  283. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +87 -13
  284. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  285. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  286. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  287. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  288. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  289. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  290. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  291. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
  292. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  293. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  294. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  295. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  296. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  297. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  298. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  299. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  300. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  301. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  302. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  303. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  304. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  305. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  306. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  307. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  308. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  309. package/analyzer-template/packages/github/package.json +1 -1
  310. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  311. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  312. package/analyzer-template/packages/process/index.ts +2 -0
  313. package/analyzer-template/packages/process/package.json +12 -0
  314. package/analyzer-template/packages/process/tsconfig.json +8 -0
  315. package/analyzer-template/packages/types/index.ts +5 -0
  316. package/analyzer-template/packages/types/src/types/Analysis.ts +104 -13
  317. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  318. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  319. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
  320. package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
  321. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
  322. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  323. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  324. package/analyzer-template/packages/ui-components/package.json +4 -4
  325. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  326. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  327. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  328. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  329. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +87 -13
  330. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  331. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  332. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  333. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  334. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  335. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  336. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  337. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
  338. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  339. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  340. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  341. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  342. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  343. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  344. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  345. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  346. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  347. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  348. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  349. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +93 -2
  350. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  351. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  352. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  353. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  354. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  355. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  356. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  357. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  358. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +28 -2
  359. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +108 -2
  360. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  361. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  362. package/analyzer-template/playwright/capture.ts +57 -26
  363. package/analyzer-template/playwright/captureStatic.ts +1 -1
  364. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  365. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  366. package/analyzer-template/playwright/takeScreenshot.ts +15 -9
  367. package/analyzer-template/playwright/waitForServer.ts +21 -6
  368. package/analyzer-template/project/TESTING.md +83 -0
  369. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  370. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  371. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  372. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  373. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  374. package/analyzer-template/project/constructMockCode.ts +1319 -158
  375. package/analyzer-template/project/controller/startController.ts +16 -1
  376. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  377. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  378. package/analyzer-template/project/loadReadyToBeCaptured.ts +82 -42
  379. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  380. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  381. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +13 -9
  382. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +93 -42
  383. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  384. package/analyzer-template/project/orchestrateCapture.ts +88 -12
  385. package/analyzer-template/project/reconcileMockDataKeys.ts +245 -2
  386. package/analyzer-template/project/runAnalysis.ts +11 -0
  387. package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
  388. package/analyzer-template/project/serverOnlyModules.ts +413 -0
  389. package/analyzer-template/project/start.ts +72 -19
  390. package/analyzer-template/project/startScenarioCapture.ts +79 -41
  391. package/analyzer-template/project/writeMockDataTsx.ts +466 -73
  392. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  393. package/analyzer-template/project/writeScenarioComponents.ts +1433 -214
  394. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  395. package/analyzer-template/project/writeSimpleRoot.ts +56 -22
  396. package/analyzer-template/project/writeUniversalMocks.ts +32 -11
  397. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  398. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  399. package/analyzer-template/tsconfig.json +2 -1
  400. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  401. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  402. package/background/src/lib/local/execAsync.js +1 -1
  403. package/background/src/lib/local/execAsync.js.map +1 -1
  404. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  405. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  406. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  407. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  408. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  409. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  410. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  411. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  412. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  413. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  414. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  415. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  416. package/background/src/lib/virtualized/project/constructMockCode.js +1171 -120
  417. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  418. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  419. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  420. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  421. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  422. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  423. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  424. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +34 -9
  425. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  426. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  427. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  428. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  429. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  430. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +12 -6
  431. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  432. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -36
  433. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  434. package/background/src/lib/virtualized/project/orchestrateCapture.js +72 -13
  435. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  436. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +204 -2
  437. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  438. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  439. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  440. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
  441. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  442. package/background/src/lib/virtualized/project/serverOnlyModules.js +338 -0
  443. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  444. package/background/src/lib/virtualized/project/start.js +62 -19
  445. package/background/src/lib/virtualized/project/start.js.map +1 -1
  446. package/background/src/lib/virtualized/project/startScenarioCapture.js +61 -31
  447. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  448. package/background/src/lib/virtualized/project/writeMockDataTsx.js +404 -62
  449. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  450. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  451. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  452. package/background/src/lib/virtualized/project/writeScenarioComponents.js +1056 -146
  453. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  454. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  455. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  456. package/background/src/lib/virtualized/project/writeSimpleRoot.js +57 -20
  457. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  458. package/background/src/lib/virtualized/project/writeUniversalMocks.js +27 -12
  459. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  460. package/codeyam-cli/scripts/apply-setup.js +180 -0
  461. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  462. package/codeyam-cli/src/cli.js +11 -1
  463. package/codeyam-cli/src/cli.js.map +1 -1
  464. package/codeyam-cli/src/codeyam-cli.js +18 -2
  465. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  466. package/codeyam-cli/src/commands/analyze.js +5 -3
  467. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  468. package/codeyam-cli/src/commands/baseline.js +176 -0
  469. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  470. package/codeyam-cli/src/commands/debug.js +44 -18
  471. package/codeyam-cli/src/commands/debug.js.map +1 -1
  472. package/codeyam-cli/src/commands/default.js +30 -34
  473. package/codeyam-cli/src/commands/default.js.map +1 -1
  474. package/codeyam-cli/src/commands/detect-universal-mocks.js +2 -0
  475. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
  476. package/codeyam-cli/src/commands/init.js +49 -257
  477. package/codeyam-cli/src/commands/init.js.map +1 -1
  478. package/codeyam-cli/src/commands/memory.js +264 -0
  479. package/codeyam-cli/src/commands/memory.js.map +1 -0
  480. package/codeyam-cli/src/commands/recapture.js +228 -0
  481. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  482. package/codeyam-cli/src/commands/report.js +72 -24
  483. package/codeyam-cli/src/commands/report.js.map +1 -1
  484. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  485. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  486. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  487. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  488. package/codeyam-cli/src/commands/start.js +8 -12
  489. package/codeyam-cli/src/commands/start.js.map +1 -1
  490. package/codeyam-cli/src/commands/status.js +23 -1
  491. package/codeyam-cli/src/commands/status.js.map +1 -1
  492. package/codeyam-cli/src/commands/test-startup.js +3 -1
  493. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  494. package/codeyam-cli/src/commands/verify.js +14 -2
  495. package/codeyam-cli/src/commands/verify.js.map +1 -1
  496. package/codeyam-cli/src/commands/wipe.js +108 -0
  497. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  498. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +179 -0
  499. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  500. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  501. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  502. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +128 -82
  503. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  504. package/codeyam-cli/src/utils/analysisRunner.js +29 -15
  505. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  506. package/codeyam-cli/src/utils/analyzer.js +7 -0
  507. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  508. package/codeyam-cli/src/utils/backgroundServer.js +104 -23
  509. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  510. package/codeyam-cli/src/utils/database.js +91 -5
  511. package/codeyam-cli/src/utils/database.js.map +1 -1
  512. package/codeyam-cli/src/utils/generateReport.js +253 -106
  513. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  514. package/codeyam-cli/src/utils/git.js +79 -0
  515. package/codeyam-cli/src/utils/git.js.map +1 -0
  516. package/codeyam-cli/src/utils/install-skills.js +76 -42
  517. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  518. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  519. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  520. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  521. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  522. package/codeyam-cli/src/utils/progress.js +7 -0
  523. package/codeyam-cli/src/utils/progress.js.map +1 -1
  524. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  525. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  526. package/codeyam-cli/src/utils/queue/job.js +249 -16
  527. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  528. package/codeyam-cli/src/utils/queue/manager.js +103 -7
  529. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  530. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  531. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  532. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  533. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  534. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  535. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  536. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  537. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  538. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  539. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  540. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  541. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  542. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  543. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  544. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  545. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
  546. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  547. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +378 -0
  548. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  549. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
  550. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  551. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  552. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  553. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  554. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  555. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  556. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  557. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  558. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  559. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  560. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  561. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  562. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  563. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  564. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  565. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  566. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  567. package/codeyam-cli/src/utils/rules/index.js +6 -0
  568. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  569. package/codeyam-cli/src/utils/rules/parser.js +83 -0
  570. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  571. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  572. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  573. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  574. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  575. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  576. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  577. package/codeyam-cli/src/utils/serverState.js +37 -10
  578. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  579. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +21 -42
  580. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  581. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  582. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  583. package/codeyam-cli/src/utils/wipe.js +128 -0
  584. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  585. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  586. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  587. package/codeyam-cli/src/webserver/app/lib/database.js +118 -6
  588. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  589. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  590. package/codeyam-cli/src/webserver/backgroundServer.js +55 -10
  591. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  592. package/codeyam-cli/src/webserver/bootstrap.js +60 -0
  593. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  594. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-jNYXRRNI.js +1 -0
  595. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-bwuHPyTa.js +11 -0
  596. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-kykTbcnD.js → EntityTypeBadge-CvzqMxcu.js} +1 -1
  597. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BH0XDim7.js +41 -0
  598. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-EhOseatT.js +34 -0
  599. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-yjIHlOGa.js +25 -0
  600. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-Cq5o8jL4.js +3 -0
  601. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-BvMu2i-g.js +6 -0
  602. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-kgBTLoJD.js +3 -0
  603. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BzPgx-xO.js +11 -0
  604. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CwZrv-Ok.js +1 -0
  605. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BX2Ny2Qj.js +10 -0
  606. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-C06nsHKY.js → TruncatedFilePath-CDpEprKa.js} +1 -1
  607. package/codeyam-cli/src/webserver/build/client/assets/_index-BRx8ZGZo.js +11 -0
  608. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-4S4yPfFw.js +27 -0
  609. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +17 -0
  610. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  611. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  612. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  613. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  614. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  615. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  616. package/codeyam-cli/src/webserver/build/client/assets/book-open-D4IPYH_y.js +6 -0
  617. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-CG65viiV.js +6 -0
  618. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-DB3aFuEO.js +51 -0
  619. package/codeyam-cli/src/webserver/build/client/assets/circle-check-igfMr5DY.js +6 -0
  620. package/codeyam-cli/src/webserver/build/client/assets/copy-Coc4o_8c.js +11 -0
  621. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-D1zB-pYc.js +21 -0
  622. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  623. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  624. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +1 -0
  625. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CYqBrC9s.js → entity._sha._-B0h9AqE6.js} +22 -15
  626. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js +6 -0
  627. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CtYowLOt.js +6 -0
  628. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-PePWg17F.js +5 -0
  629. package/codeyam-cli/src/webserver/build/client/assets/entry.client-I-Wo99C_.js +29 -0
  630. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  631. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-9sMMAiWJ.js +1 -0
  632. package/codeyam-cli/src/webserver/build/client/assets/files-Co65J0s3.js +1 -0
  633. package/codeyam-cli/src/webserver/build/client/assets/git-BdHOxVfg.js +15 -0
  634. package/codeyam-cli/src/webserver/build/client/assets/globals-CCgBKWy4.css +1 -0
  635. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  636. package/codeyam-cli/src/webserver/build/client/assets/index-CUM5iXwc.js +9 -0
  637. package/codeyam-cli/src/webserver/build/client/assets/index-_417gcQW.js +3 -0
  638. package/codeyam-cli/src/webserver/build/client/assets/labs-BK0C1H1T.js +1 -0
  639. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-TzRHMVog.js +6 -0
  640. package/codeyam-cli/src/webserver/build/client/assets/manifest-390cb8fa.js +1 -0
  641. package/codeyam-cli/src/webserver/build/client/assets/memory-CzZySbBE.js +78 -0
  642. package/codeyam-cli/src/webserver/build/client/assets/pause-hjzB7t2z.js +11 -0
  643. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  644. package/codeyam-cli/src/webserver/build/client/assets/root-DnbDhvTU.js +62 -0
  645. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  646. package/codeyam-cli/src/webserver/build/client/assets/search-DcAwD_Ln.js +6 -0
  647. package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +1 -0
  648. package/codeyam-cli/src/webserver/build/client/assets/simulations-DVNJVQgD.js +1 -0
  649. package/codeyam-cli/src/webserver/build/client/assets/terminal-DbEAHMbA.js +11 -0
  650. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CAD5b1o_.js +6 -0
  651. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BqgrAzs3.js +1 -0
  652. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-Blr5oZDE.js → useLastLogLine-DAFqfEDH.js} +1 -1
  653. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DZlYx2c4.js +1 -0
  654. package/codeyam-cli/src/webserver/build/client/assets/{useToast-Bbf4Hokd.js → useToast-ihdMtlf6.js} +1 -1
  655. package/codeyam-cli/src/webserver/build/server/assets/index-CxaRxKVt.js +1 -0
  656. package/codeyam-cli/src/webserver/build/server/assets/server-build-D4DT0nM_.js +259 -0
  657. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  658. package/codeyam-cli/src/webserver/build-info.json +5 -5
  659. package/codeyam-cli/src/webserver/devServer.js +1 -3
  660. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  661. package/codeyam-cli/src/webserver/server.js +35 -25
  662. package/codeyam-cli/src/webserver/server.js.map +1 -1
  663. package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam-debug.md} +48 -4
  664. package/codeyam-cli/templates/codeyam-diagnose.md +481 -0
  665. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  666. package/codeyam-cli/templates/codeyam-memory.md +396 -0
  667. package/codeyam-cli/templates/codeyam-new-rule.md +13 -0
  668. package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam-setup.md} +151 -4
  669. package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam-sim.md} +1 -1
  670. package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam-test.md} +1 -1
  671. package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam-verify.md} +1 -1
  672. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  673. package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
  674. package/codeyam-cli/templates/rules-instructions.md +132 -0
  675. package/package.json +25 -22
  676. package/packages/ai/index.js +8 -6
  677. package/packages/ai/index.js.map +1 -1
  678. package/packages/ai/src/lib/analyzeScope.js +181 -13
  679. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  680. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  681. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  682. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +154 -9
  683. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  684. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  685. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  686. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  687. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  688. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  689. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  690. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  691. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  692. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +23 -0
  693. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  694. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  695. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  696. package/packages/ai/src/lib/astScopes/processExpression.js +1235 -104
  697. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  698. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  699. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  700. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  701. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  702. package/packages/ai/src/lib/completionCall.js +178 -31
  703. package/packages/ai/src/lib/completionCall.js.map +1 -1
  704. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1961 -224
  705. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  706. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +19 -4
  707. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  708. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +661 -0
  709. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  710. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +180 -56
  711. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  712. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  713. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  714. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  715. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  716. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
  717. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  718. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +139 -13
  719. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  720. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  721. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  722. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +142 -12
  723. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  724. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  725. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  726. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  727. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  728. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  729. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  730. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +371 -73
  731. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  732. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  733. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  734. package/packages/ai/src/lib/dataStructureChunking.js +126 -0
  735. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  736. package/packages/ai/src/lib/deepEqual.js +32 -0
  737. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  738. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  739. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  740. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  741. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  742. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  743. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  744. package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -90
  745. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  746. package/packages/ai/src/lib/generateEntityDataStructure.js +50 -1
  747. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  748. package/packages/ai/src/lib/generateEntityScenarioData.js +1127 -91
  749. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  750. package/packages/ai/src/lib/generateEntityScenarios.js +193 -83
  751. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  752. package/packages/ai/src/lib/generateExecutionFlows.js +414 -0
  753. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  754. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  755. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  756. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  757. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  758. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  759. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  760. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  761. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  762. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  763. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  764. package/packages/ai/src/lib/isolateScopes.js +270 -7
  765. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  766. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  767. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  768. package/packages/ai/src/lib/mergeStatements.js +88 -46
  769. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  770. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  771. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  772. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +16 -4
  773. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  774. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  775. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  776. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -64
  777. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  778. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  779. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  780. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  781. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  782. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -34
  783. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  784. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  785. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  786. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  787. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  788. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  789. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  790. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  791. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  792. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  793. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  794. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  795. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  796. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
  797. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  798. package/packages/analyze/index.js +1 -0
  799. package/packages/analyze/index.js.map +1 -1
  800. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  801. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  802. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  803. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  804. package/packages/analyze/src/lib/analysisContext.js +30 -5
  805. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  806. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  807. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  808. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  809. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  810. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  811. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  812. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  813. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  814. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  815. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  816. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  817. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  818. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  819. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  820. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  821. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  822. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +428 -123
  823. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  824. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +42 -1
  825. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  826. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  827. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  828. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
  829. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  830. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  831. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  832. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  833. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  834. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  835. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  836. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  837. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  838. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  839. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  840. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  841. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  842. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  843. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  844. package/packages/analyze/src/lib/files/getImportedExports.js +17 -8
  845. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  846. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  847. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  848. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -0
  849. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  850. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  851. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  852. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +550 -62
  853. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  854. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  855. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  856. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  857. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  858. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +404 -85
  859. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  860. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  861. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  862. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -69
  863. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  864. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
  865. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  866. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +875 -141
  867. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  868. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  869. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  870. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  871. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  872. package/packages/analyze/src/lib/index.js +1 -0
  873. package/packages/analyze/src/lib/index.js.map +1 -1
  874. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  875. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  876. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  877. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  878. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  879. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  880. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  881. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  882. package/packages/database/src/lib/analysisToDb.js +1 -1
  883. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  884. package/packages/database/src/lib/branchToDb.js +1 -1
  885. package/packages/database/src/lib/branchToDb.js.map +1 -1
  886. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  887. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  888. package/packages/database/src/lib/commitToDb.js +1 -1
  889. package/packages/database/src/lib/commitToDb.js.map +1 -1
  890. package/packages/database/src/lib/fileToDb.js +1 -1
  891. package/packages/database/src/lib/fileToDb.js.map +1 -1
  892. package/packages/database/src/lib/kysely/db.js +13 -3
  893. package/packages/database/src/lib/kysely/db.js.map +1 -1
  894. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  895. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  896. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  897. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  898. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  899. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  900. package/packages/database/src/lib/loadAnalyses.js +45 -2
  901. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  902. package/packages/database/src/lib/loadAnalysis.js +8 -0
  903. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  904. package/packages/database/src/lib/loadBranch.js +11 -1
  905. package/packages/database/src/lib/loadBranch.js.map +1 -1
  906. package/packages/database/src/lib/loadCommit.js +7 -0
  907. package/packages/database/src/lib/loadCommit.js.map +1 -1
  908. package/packages/database/src/lib/loadCommits.js +22 -1
  909. package/packages/database/src/lib/loadCommits.js.map +1 -1
  910. package/packages/database/src/lib/loadEntities.js +23 -4
  911. package/packages/database/src/lib/loadEntities.js.map +1 -1
  912. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  913. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  914. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +23 -5
  915. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  916. package/packages/database/src/lib/projectToDb.js +1 -1
  917. package/packages/database/src/lib/projectToDb.js.map +1 -1
  918. package/packages/database/src/lib/saveFiles.js +1 -1
  919. package/packages/database/src/lib/saveFiles.js.map +1 -1
  920. package/packages/database/src/lib/scenarioToDb.js +1 -1
  921. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  922. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  923. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  924. package/packages/generate/index.js +3 -0
  925. package/packages/generate/index.js.map +1 -1
  926. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  927. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  928. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  929. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  930. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  931. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  932. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  933. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  934. package/packages/generate/src/lib/deepMerge.js +27 -1
  935. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  936. package/packages/generate/src/lib/directExecutionScript.js +10 -1
  937. package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
  938. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  939. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  940. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  941. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  942. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  943. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  944. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  945. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  946. package/packages/process/index.js +3 -0
  947. package/packages/process/index.js.map +1 -0
  948. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  949. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  950. package/packages/process/src/ProcessManager.js.map +1 -0
  951. package/packages/process/src/index.js.map +1 -0
  952. package/packages/process/src/managedExecAsync.js.map +1 -0
  953. package/packages/types/index.js.map +1 -1
  954. package/packages/utils/src/lib/applyUniversalMocks.js +26 -2
  955. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  956. package/packages/utils/src/lib/fs/rsyncCopy.js +93 -2
  957. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  958. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  959. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  960. package/packages/utils/src/lib/safeFileName.js +29 -3
  961. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  962. package/scripts/finalize-analyzer.cjs +8 -74
  963. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  964. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -197
  965. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -271
  966. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -294
  967. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  968. package/analyzer-template/packages/ai/src/lib/transformMockDataToMatchSchema.ts +0 -156
  969. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -115
  970. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  971. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  972. package/analyzer-template/process/README.md +0 -507
  973. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  974. package/background/src/lib/process/ProcessManager.js.map +0 -1
  975. package/background/src/lib/process/index.js.map +0 -1
  976. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  977. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  978. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  979. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-D4htqD-x.js +0 -1
  980. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Catz6XEN.js +0 -1
  981. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-TlHocYno.js +0 -26
  982. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVMmGuIc.js +0 -3
  983. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-JkfQ-VaI.js +0 -3
  984. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-CVZ0H4BL.js +0 -1
  985. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BrMAP1nP.js +0 -1
  986. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CJhE4cCv.js +0 -5
  987. package/codeyam-cli/src/webserver/build/client/assets/_index-faVIcr_i.js +0 -1
  988. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLMa2sgx.js +0 -7
  989. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-DwYjrK_h.js +0 -1
  990. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CgXbbZRx.js +0 -26
  991. package/codeyam-cli/src/webserver/build/client/assets/circle-check-B2oHQ-zo.js +0 -1
  992. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BBYuR56H.js +0 -1
  993. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CT0Q5lVu.js +0 -1
  994. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-Bj5GHkhb.js +0 -1
  995. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-eW5z9AyZ.js +0 -5
  996. package/codeyam-cli/src/webserver/build/client/assets/entry.client-B9tSboXM.js +0 -5
  997. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-CmO-EZAB.js +0 -1
  998. package/codeyam-cli/src/webserver/build/client/assets/files-DLinnTOx.js +0 -1
  999. package/codeyam-cli/src/webserver/build/client/assets/git-CIxwBQvb.js +0 -12
  1000. package/codeyam-cli/src/webserver/build/client/assets/globals-xPz593l2.css +0 -1
  1001. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  1002. package/codeyam-cli/src/webserver/build/client/assets/index-_LjBsTxX.js +0 -8
  1003. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-D_EGChhq.js +0 -1
  1004. package/codeyam-cli/src/webserver/build/client/assets/manifest-ca438c41.js +0 -1
  1005. package/codeyam-cli/src/webserver/build/client/assets/root-CHHYHuzL.js +0 -16
  1006. package/codeyam-cli/src/webserver/build/client/assets/search-DY8yoDpH.js +0 -1
  1007. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  1008. package/codeyam-cli/src/webserver/build/client/assets/settings-BT6wVHd5.js +0 -1
  1009. package/codeyam-cli/src/webserver/build/client/assets/simulations-gv3H7JV7.js +0 -1
  1010. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BthANBVv.js +0 -1
  1011. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CANr3QJ5.js +0 -1
  1012. package/codeyam-cli/src/webserver/build/server/assets/index-BtBPtyHx.js +0 -1
  1013. package/codeyam-cli/src/webserver/build/server/assets/server-build-N2cTnejq.js +0 -166
  1014. package/codeyam-cli/templates/debug-command.md +0 -141
  1015. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1016. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1017. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -136
  1018. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1019. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -220
  1020. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1021. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -241
  1022. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1023. package/packages/ai/src/lib/isFrontend.js +0 -5
  1024. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1025. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1026. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1027. package/packages/ai/src/lib/transformMockDataToMatchSchema.js +0 -124
  1028. package/packages/ai/src/lib/transformMockDataToMatchSchema.js.map +0 -1
  1029. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -72
  1030. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1031. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  1032. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  1033. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  1034. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  1035. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
  1036. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  1037. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  1038. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -0,0 +1,661 @@
1
+ /**
2
+ * Framework manager for MUI (Material UI) components.
3
+ *
4
+ * Handles patterns where MUI component callbacks receive data from array props:
5
+ *
6
+ * 1. DataGrid: `rows` array → `columns[].renderCell` callback receives `params.row`
7
+ * 2. Autocomplete: `options` array → `renderOption`/`getOptionLabel` callbacks receive option
8
+ *
9
+ * Example DataGrid:
10
+ * ```tsx
11
+ * <DataGrid
12
+ * rows={data}
13
+ * columns={[{ renderCell: (params) => <Cell value={params.row.id} /> }]}
14
+ * />
15
+ * ```
16
+ *
17
+ * Example Autocomplete:
18
+ * ```tsx
19
+ * <Autocomplete
20
+ * options={users}
21
+ * getOptionLabel={(option) => option.name}
22
+ * renderOption={(props, option) => <li {...props}>{option.email}</li>}
23
+ * />
24
+ * ```
25
+ */
26
+ export class MuiManager {
27
+ constructor() {
28
+ // NOTE: We intentionally do NOT include DataGrid/Autocomplete in internalFunctions.
29
+ // While they're MUI components (not external data sources), we need them to remain
30
+ // in externalFunctionCalls so that data flow tracing works correctly.
31
+ // For example: DataGrid().signature[0].rows → data.items[] tracing
32
+ this.internalFunctions = new Set([]);
33
+ }
34
+ postProcess(scopeNode, scopeDataStructure) {
35
+ // Check this scope for DataGrid patterns when it's post-processed
36
+ this.processDataGridCallbacks(scopeNode, scopeDataStructure);
37
+ // Check for Autocomplete patterns
38
+ this.processAutocompleteCallbacks(scopeNode, scopeDataStructure);
39
+ // Also check if this scope is inside a DataGrid callback and propagate row property accesses
40
+ this.propagateFromChildScope(scopeNode, scopeDataStructure);
41
+ // NOTE: processGridApiContext, processCreateTheme, and processGridSelector
42
+ // are now called from finalize() instead of here.
43
+ // This is because external function calls are only added AFTER postProcess()
44
+ // runs (in trackFunctionCalls), so getExternalFunctionCallInfo() would return
45
+ // undefined during postProcess(). See Issue 23.
46
+ }
47
+ /**
48
+ * Handle useGridApiContext() calls by adding the expected apiRef structure to the schema.
49
+ *
50
+ * useGridApiContext() returns an apiRef that has internal state used by useGridSelector.
51
+ * When useGridSelector(apiRef, selector) is called, it accesses apiRef.current.state
52
+ * to extract data like filterModel, sortModel, etc.
53
+ *
54
+ * We add the state structure directly to the external function call's schema
55
+ * to ensure mocks include the necessary paths.
56
+ */
57
+ processGridApiContext(_scopeNode, scopeDataStructure) {
58
+ // Find the external function call for useGridApiContext
59
+ const gridApiContextCall = scopeDataStructure.getExternalFunctionCallInfo('useGridApiContext');
60
+ if (!gridApiContextCall) {
61
+ return;
62
+ }
63
+ // Add the state structure that useGridSelector needs to the external function call's schema
64
+ // useGridSelector reads from apiRef.current.state internally
65
+ // gridFilterModelSelector reads state.filter.filterModel
66
+ const basePath = 'useGridApiContext().functionCallReturnValue.current';
67
+ const statePaths = {
68
+ [`${basePath}.state`]: 'object',
69
+ [`${basePath}.state.filter`]: 'object',
70
+ [`${basePath}.state.filter.filterModel`]: 'object',
71
+ [`${basePath}.state.filter.filterModel.items`]: 'array',
72
+ // Also add common state paths that might be needed by other selectors
73
+ [`${basePath}.state.sorting`]: 'object',
74
+ [`${basePath}.state.sorting.sortModel`]: 'array',
75
+ [`${basePath}.state.pagination`]: 'object',
76
+ [`${basePath}.state.pagination.paginationModel`]: 'object',
77
+ [`${basePath}.state.pagination.paginationModel.page`]: 'number',
78
+ [`${basePath}.state.pagination.paginationModel.pageSize`]: 'number',
79
+ [`${basePath}.state.rows`]: 'object',
80
+ [`${basePath}.state.rows.dataRowIds`]: 'array',
81
+ [`${basePath}.state.columns`]: 'object',
82
+ [`${basePath}.state.columns.all`]: 'array',
83
+ };
84
+ // Add each path to the external function call's schema if it doesn't exist
85
+ for (const [path, type] of Object.entries(statePaths)) {
86
+ if (!gridApiContextCall.schema[path]) {
87
+ gridApiContextCall.schema[path] = type;
88
+ }
89
+ }
90
+ }
91
+ /**
92
+ * Handle createTheme() calls by adding required MUI theme properties to the schema.
93
+ *
94
+ * MUI's ThemeProvider and related components check for specific properties:
95
+ * - `'$$material' in theme` - validates it's a MUI theme object
96
+ * - `'colorSchemes' in theme` - checks for color scheme support (MUI v6+)
97
+ *
98
+ * Without these properties, ThemeProvider throws:
99
+ * "TypeError: Cannot use 'in' operator to search for '$$material' in object"
100
+ * "TypeError: Cannot use 'in' operator to search for 'colorSchemes' in true"
101
+ *
102
+ * We add these properties to the createTheme return value schema
103
+ * to ensure mocks include the necessary properties.
104
+ */
105
+ processCreateTheme(_scopeNode, scopeDataStructure) {
106
+ // Find the external function call for createTheme
107
+ const createThemeCall = scopeDataStructure.getExternalFunctionCallInfo('createTheme');
108
+ if (!createThemeCall) {
109
+ return;
110
+ }
111
+ // Use the actual call signature to construct the path
112
+ // createTheme can be called with various arguments:
113
+ // - createTheme()
114
+ // - createTheme(options)
115
+ // - createTheme(getTheme(false), { components: {} })
116
+ const callSignature = createThemeCall.callSignature;
117
+ const basePath = `${callSignature}.functionCallReturnValue`;
118
+ // Add required MUI theme properties
119
+ const themeProperties = {
120
+ [`${basePath}.$$material`]: 'boolean',
121
+ [`${basePath}.colorSchemes`]: 'object',
122
+ };
123
+ for (const [path, type] of Object.entries(themeProperties)) {
124
+ if (!createThemeCall.schema[path]) {
125
+ createThemeCall.schema[path] = type;
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Handle useGridSelector(apiRef, selector) calls by adding return value schema.
131
+ *
132
+ * useGridSelector is a MUI X Data Grid hook that extracts data from the grid's
133
+ * internal state using a selector function. It's unique because:
134
+ * 1. It takes arguments (apiRef and selector), so it's not automatically mocked
135
+ * 2. But its return value depends on which selector is used
136
+ * 3. The selector reads from apiRef.current.state
137
+ *
138
+ * Common selectors and their return types:
139
+ * - gridFilterModelSelector -> { items: GridFilterItem[] }
140
+ * - gridSortModelSelector -> GridSortItem[]
141
+ * - gridPaginationModelSelector -> { page: number, pageSize: number }
142
+ * - gridRowCountSelector -> number
143
+ *
144
+ * We detect which selector is used from the call signature and add the
145
+ * appropriate return value schema.
146
+ */
147
+ processGridSelector(_scopeNode, scopeDataStructure) {
148
+ // Find external function calls for useGridSelector
149
+ const gridSelectorCall = scopeDataStructure.getExternalFunctionCallInfo('useGridSelector');
150
+ if (!gridSelectorCall) {
151
+ return;
152
+ }
153
+ const callSignature = gridSelectorCall.callSignature;
154
+ const basePath = `${callSignature}.functionCallReturnValue`;
155
+ // Determine which selector is being used and add appropriate schema
156
+ if (callSignature.includes('gridFilterModelSelector')) {
157
+ // gridFilterModelSelector returns { items: GridFilterItem[] }
158
+ const filterPaths = {
159
+ [basePath]: 'object',
160
+ [`${basePath}.items`]: 'array',
161
+ [`${basePath}.items[]`]: 'object',
162
+ [`${basePath}.items[].field`]: 'string',
163
+ [`${basePath}.items[].operator`]: 'string',
164
+ [`${basePath}.items[].value`]: 'array',
165
+ [`${basePath}.items[].value[]`]: 'string',
166
+ };
167
+ for (const [path, type] of Object.entries(filterPaths)) {
168
+ if (!gridSelectorCall.schema[path]) {
169
+ gridSelectorCall.schema[path] = type;
170
+ }
171
+ }
172
+ }
173
+ else if (callSignature.includes('gridSortModelSelector')) {
174
+ // gridSortModelSelector returns GridSortItem[]
175
+ const sortPaths = {
176
+ [basePath]: 'array',
177
+ [`${basePath}[]`]: 'object',
178
+ [`${basePath}[].field`]: 'string',
179
+ [`${basePath}[].sort`]: 'string',
180
+ };
181
+ for (const [path, type] of Object.entries(sortPaths)) {
182
+ if (!gridSelectorCall.schema[path]) {
183
+ gridSelectorCall.schema[path] = type;
184
+ }
185
+ }
186
+ }
187
+ else if (callSignature.includes('gridPaginationModelSelector')) {
188
+ // gridPaginationModelSelector returns { page: number, pageSize: number }
189
+ const paginationPaths = {
190
+ [basePath]: 'object',
191
+ [`${basePath}.page`]: 'number',
192
+ [`${basePath}.pageSize`]: 'number',
193
+ };
194
+ for (const [path, type] of Object.entries(paginationPaths)) {
195
+ if (!gridSelectorCall.schema[path]) {
196
+ gridSelectorCall.schema[path] = type;
197
+ }
198
+ }
199
+ }
200
+ else if (callSignature.includes('gridRowCountSelector')) {
201
+ // gridRowCountSelector returns number
202
+ if (!gridSelectorCall.schema[basePath]) {
203
+ gridSelectorCall.schema[basePath] = 'number';
204
+ }
205
+ }
206
+ else {
207
+ // Unknown selector - add generic object return type
208
+ // This ensures the hook is at least mocked with some structure
209
+ if (!gridSelectorCall.schema[basePath]) {
210
+ gridSelectorCall.schema[basePath] = 'object';
211
+ }
212
+ }
213
+ }
214
+ processDataGridCallbacks(scopeNode, scopeDataStructure) {
215
+ // Find DataGrid calls and link renderCell callbacks to rows
216
+ for (const [path, equivalencies] of Object.entries(scopeNode.equivalencies)) {
217
+ // Case 1: Look for DataGrid().signature[0].columns equivalency pointing to a columns variable
218
+ const dataGridMatch = path.match(/^(DataGrid(?:Pro|Premium)?\(\))\.signature\[0\]\.columns$/);
219
+ if (dataGridMatch) {
220
+ const dataGridCall = dataGridMatch[1];
221
+ // Find what columns is equivalent to (e.g., "columns" variable)
222
+ for (const equiv of equivalencies) {
223
+ const columnsVar = equiv.schemaPath;
224
+ // Find renderCell callbacks, following equivalency chains if needed
225
+ const callbackScopes = this.findRenderCellCallbacks(columnsVar, scopeNode, new Set(), scopeDataStructure);
226
+ for (const callbackScopeName of callbackScopes) {
227
+ this.addRowEquivalencyToCallback(callbackScopeName, dataGridCall, scopeNode, scopeDataStructure);
228
+ }
229
+ }
230
+ continue;
231
+ }
232
+ // Case 2: Look for inline array props where DataGrid().signature[0].columns[N].renderCell
233
+ // directly points to a callback scope (e.g., DataGrid().signature[0].columns[0].renderCell → cyScope1())
234
+ // Also handles columns[].renderCell for normalized paths
235
+ const inlineRenderCellMatch = path.match(/^(DataGrid(?:Pro|Premium)?\(\))\.signature\[0\]\.columns\[(?:\d+|)\]\.renderCell$/);
236
+ if (inlineRenderCellMatch) {
237
+ const dataGridCall = inlineRenderCellMatch[1];
238
+ for (const equiv of equivalencies) {
239
+ // Check if the equivalency points to a callback scope (cyScope*)
240
+ // Could be cyScope1() or cyScope1().functionCallReturnValue
241
+ const callbackMatch = equiv.schemaPath.match(/^(cyScope[0-9A-Fa-f]+)\(\)(?:\.functionCallReturnValue)?$/);
242
+ if (callbackMatch) {
243
+ // Try both naming conventions:
244
+ // 1. Just the cyScope name (e.g., "cyScope1")
245
+ // 2. Parent____cyScope name (e.g., "CustomersPage____cyScope1")
246
+ const callbackScopeName = callbackMatch[1];
247
+ const prefixedCallbackScopeName = `${scopeNode.name}____${callbackMatch[1]}`;
248
+ // Try unprefixed name first, then prefixed
249
+ this.addRowEquivalencyToCallback(callbackScopeName, dataGridCall, scopeNode, scopeDataStructure);
250
+ // Also try prefixed version in case it exists
251
+ this.addRowEquivalencyToCallback(prefixedCallbackScopeName, dataGridCall, scopeNode, scopeDataStructure);
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ /**
258
+ * Helper to add the signature[0].row → DataGrid().signature[0].rows[] equivalency
259
+ */
260
+ addRowEquivalencyToCallback(callbackScopeName, dataGridCall, scopeNode, scopeDataStructure) {
261
+ const callbackScopeNode = scopeDataStructure.getScopeOrFunctionCallInfo(callbackScopeName);
262
+ if (!callbackScopeNode) {
263
+ return;
264
+ }
265
+ // Add equivalency: signature[0].row ≡ DataGrid().signature[0].rows[]
266
+ const callbackParamRowPath = 'signature[0].row';
267
+ const rowsArrayElementPath = `${dataGridCall}.signature[0].rows[]`;
268
+ scopeDataStructure.addEquivalency(callbackParamRowPath, rowsArrayElementPath, scopeNode.name, callbackScopeNode, 'MUI DataGrid renderCell params.row equivalency');
269
+ }
270
+ /**
271
+ * Process Autocomplete callbacks to link option parameters to options array.
272
+ *
273
+ * Autocomplete has two callback props that receive individual options:
274
+ * - getOptionLabel(option) - param 0 is the option
275
+ * - renderOption(props, option, state) - param 1 is the option
276
+ */
277
+ processAutocompleteCallbacks(scopeNode, scopeDataStructure) {
278
+ for (const [path, equivalencies] of Object.entries(scopeNode.equivalencies)) {
279
+ // Look for Autocomplete().signature[0].options equivalency
280
+ const autocompleteMatch = path.match(/^(Autocomplete\(\))\.signature\[0\]\.options$/);
281
+ if (!autocompleteMatch)
282
+ continue;
283
+ const autocompleteCall = autocompleteMatch[1];
284
+ // Find callback props: getOptionLabel, renderOption
285
+ for (const callbackProp of ['getOptionLabel', 'renderOption']) {
286
+ const callbackPath = `${autocompleteCall}.signature[0].${callbackProp}`;
287
+ const callbackEquivs = scopeNode.equivalencies[callbackPath];
288
+ if (callbackEquivs) {
289
+ for (const callbackEquiv of callbackEquivs) {
290
+ const callbackMatch = callbackEquiv.schemaPath.match(/^(cyScope[0-9A-Fa-f]+)\(\)\.functionCallReturnValue$/);
291
+ if (!callbackMatch)
292
+ continue;
293
+ const callbackScopeName = callbackMatch[1];
294
+ const callbackScopeNode = scopeDataStructure.getScopeOrFunctionCallInfo(callbackScopeName);
295
+ if (!callbackScopeNode)
296
+ continue;
297
+ // Determine which parameter index receives the option
298
+ // getOptionLabel: (option) => ... → param 0
299
+ // renderOption: (props, option, state) => ... → param 1
300
+ const paramIndex = callbackProp === 'renderOption' ? 1 : 0;
301
+ const callbackParamPath = `signature[${paramIndex}]`;
302
+ const optionsArrayElementPath = `${autocompleteCall}.signature[0].options[]`;
303
+ scopeDataStructure.addEquivalency(callbackParamPath, optionsArrayElementPath, scopeNode.name, callbackScopeNode, `MUI Autocomplete ${callbackProp} option equivalency`);
304
+ // Note: Property accesses are propagated in finalize() after all scopes are established
305
+ }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ /**
311
+ * Propagate property accesses from Autocomplete callback scope.
312
+ * When we find usages like `option.email`, create equivalencies to `options[].email`
313
+ * and trace back to the original data source (e.g., `users[].email`).
314
+ */
315
+ propagateAutocompletePropertyAccesses(callbackScope, autocompleteCall, optionParamIndex, parentScopeName, scopeDataStructure) {
316
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
317
+ if (!parentScope)
318
+ return;
319
+ // Find what options is equivalent to (e.g., "users")
320
+ const optionsPath = `${autocompleteCall}.signature[0].options`;
321
+ const optionsEquivs = parentScope.equivalencies?.[optionsPath];
322
+ const dataSourcePath = optionsEquivs?.[0]?.schemaPath;
323
+ // Check for property accesses on the option parameter in the schema
324
+ // The schema contains entries like "signature[1].email" for property accesses
325
+ for (const schemaPath of Object.keys(callbackScope.schema || {})) {
326
+ // Match patterns like signature[0].name, signature[1].email (depending on param index)
327
+ const optionPropertyMatch = schemaPath.match(new RegExp(`^signature\\[${optionParamIndex}\\]\\.(\\w+)$`));
328
+ if (optionPropertyMatch) {
329
+ const propertyName = optionPropertyMatch[1];
330
+ // Create equivalency: schemaPath → options[].propertyName
331
+ const optionsPropertyPath = `${autocompleteCall}.signature[0].options[].${propertyName}`;
332
+ scopeDataStructure.addEquivalency(schemaPath, optionsPropertyPath, parentScopeName, callbackScope, 'MUI Autocomplete option property equivalency');
333
+ // Also create equivalency to the data source (e.g., users[].email)
334
+ if (dataSourcePath) {
335
+ const dataPropertyPath = `${dataSourcePath}[].${propertyName}`;
336
+ // Add to parent scope's schema
337
+ if (!parentScope.schema[dataPropertyPath]) {
338
+ parentScope.schema[dataPropertyPath] = 'unknown';
339
+ }
340
+ // Create bidirectional equivalencies to ensure propagation
341
+ scopeDataStructure.addEquivalency(schemaPath, dataPropertyPath, parentScopeName, callbackScope, 'MUI Autocomplete option property equivalency');
342
+ scopeDataStructure.addEquivalency(dataPropertyPath, schemaPath, parentScopeName, parentScope, 'MUI Autocomplete option property equivalency');
343
+ }
344
+ }
345
+ }
346
+ }
347
+ /**
348
+ * Find renderCell callbacks for a columns variable, following equivalency chains.
349
+ * For example: tableColumns → allColumns → allColumns[].renderCell → cyScope
350
+ *
351
+ * Also handles useMemo patterns where:
352
+ * - tableColumns → useMemo(cyScope(), [allColumns]).functionCallReturnValue
353
+ * - And allColumns[].renderCell → cyScope()
354
+ */
355
+ findRenderCellCallbacks(columnsVar, scopeNode, visited, scopeDataStructure) {
356
+ if (visited.has(columnsVar))
357
+ return [];
358
+ visited.add(columnsVar);
359
+ const callbackScopes = [];
360
+ // Try direct path: columnsVar[].renderCell - check both current scope and parent scopes
361
+ // Also check for indexed paths like columnsVar[3].renderCell (with specific indices)
362
+ const renderCellPath = `${columnsVar}[].renderCell`;
363
+ let renderCellEquivs = scopeNode.equivalencies[renderCellPath];
364
+ // If not found in current scope, check parent scopes (via scopeNode.tree)
365
+ if (!renderCellEquivs && scopeDataStructure && scopeNode.tree) {
366
+ for (const parentScopeName of scopeNode.tree) {
367
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
368
+ if (parentScope?.equivalencies?.[renderCellPath]) {
369
+ renderCellEquivs = parentScope.equivalencies[renderCellPath];
370
+ break;
371
+ }
372
+ }
373
+ }
374
+ // Also look for indexed paths like tableColumns[3].renderCell, tableColumns[5].renderCell, etc.
375
+ // This is needed because column definitions often have specific indices
376
+ const indexedRenderCellPattern = new RegExp(`^${columnsVar.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\[\\d+\\]\\.renderCell$`);
377
+ const allScopesToCheck = [scopeNode];
378
+ if (scopeDataStructure && scopeNode.tree) {
379
+ for (const parentScopeName of scopeNode.tree) {
380
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
381
+ if (parentScope)
382
+ allScopesToCheck.push(parentScope);
383
+ }
384
+ }
385
+ for (const scope of allScopesToCheck) {
386
+ for (const [path, equivs] of Object.entries(scope.equivalencies || {})) {
387
+ if (indexedRenderCellPattern.test(path)) {
388
+ for (const equiv of equivs) {
389
+ const callbackMatch = equiv.schemaPath.match(/^(cyScope\d+)\(\)\.functionCallReturnValue$/);
390
+ if (callbackMatch && !callbackScopes.includes(callbackMatch[1])) {
391
+ callbackScopes.push(callbackMatch[1]);
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ if (renderCellEquivs) {
398
+ for (const renderCellEquiv of renderCellEquivs) {
399
+ // Check if it points to a callback (cyScope().functionCallReturnValue)
400
+ const callbackMatch = renderCellEquiv.schemaPath.match(/^(cyScope\d+)\(\)\.functionCallReturnValue$/);
401
+ if (callbackMatch && !callbackScopes.includes(callbackMatch[1])) {
402
+ callbackScopes.push(callbackMatch[1]);
403
+ }
404
+ }
405
+ }
406
+ // If no direct callbacks found, follow equivalency chains
407
+ if (callbackScopes.length === 0) {
408
+ // Look for what columnsVar is equivalent to - check current scope and parent scopes
409
+ let varEquivs = scopeNode.equivalencies[columnsVar];
410
+ let equivScopeNode = scopeNode;
411
+ // If not found or only self-reference, check parent scopes (via scopeNode.tree)
412
+ if ((!varEquivs ||
413
+ (varEquivs.length === 1 && varEquivs[0].schemaPath === columnsVar)) &&
414
+ scopeDataStructure &&
415
+ scopeNode.tree) {
416
+ for (const parentScopeName of scopeNode.tree) {
417
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
418
+ if (parentScope?.equivalencies?.[columnsVar]) {
419
+ const parentEquivs = parentScope.equivalencies[columnsVar];
420
+ // Check if it has non-self-reference equivalencies
421
+ if (parentEquivs.some((e) => e.schemaPath !== columnsVar) ||
422
+ parentEquivs.some((e) => e.schemaPath.includes('useMemo'))) {
423
+ varEquivs = parentEquivs;
424
+ equivScopeNode = parentScope;
425
+ break;
426
+ }
427
+ }
428
+ }
429
+ }
430
+ if (varEquivs) {
431
+ for (const varEquiv of varEquivs) {
432
+ const schemaPath = varEquiv.schemaPath;
433
+ // Handle useMemo pattern: useMemo(cyScope(), [allColumns]).functionCallReturnValue
434
+ // The second argument [allColumns] tells us what's being passed to useMemo
435
+ const useMemoMatch = schemaPath.match(/^useMemo\(cyScope\d+\(\), \[([^\]]+)\]\)\.functionCallReturnValue$/);
436
+ if (useMemoMatch) {
437
+ // The array in the dependency list often contains the actual columns variable
438
+ const depsList = useMemoMatch[1];
439
+ // Parse the deps - could be comma-separated
440
+ const deps = depsList.split(',').map((d) => d.trim());
441
+ for (const dep of deps) {
442
+ const nestedCallbacks = this.findRenderCellCallbacks(dep, equivScopeNode, visited, scopeDataStructure);
443
+ callbackScopes.push(...nestedCallbacks);
444
+ }
445
+ continue;
446
+ }
447
+ // Skip other function calls and internal paths
448
+ if (schemaPath.includes('()') || schemaPath.includes('[')) {
449
+ continue;
450
+ }
451
+ // Skip self-references
452
+ if (schemaPath === columnsVar) {
453
+ continue;
454
+ }
455
+ // Recursively search in the equivalent variable
456
+ const nestedCallbacks = this.findRenderCellCallbacks(schemaPath, equivScopeNode, visited, scopeDataStructure);
457
+ callbackScopes.push(...nestedCallbacks);
458
+ }
459
+ }
460
+ }
461
+ return callbackScopes;
462
+ }
463
+ /**
464
+ * Propagate row property accesses from callback scope and its children.
465
+ * When we find usages like `params.row.id`, create equivalencies to `rows[].id`.
466
+ */
467
+ propagateRowPropertyAccesses(callbackScope, dataGridCall, parentScopeName, scopeDataStructure) {
468
+ // Check all scopes (callback and its children) for params.row.* accesses
469
+ const scopesToCheck = [callbackScope];
470
+ // Find child scopes by looking for scopes whose tree includes the callback scope
471
+ const callbackScopeName = callbackScope.name;
472
+ for (const [scopeName, scope] of Object.entries(scopeDataStructure.scopeNodes)) {
473
+ if (scope.tree &&
474
+ scope.tree.includes(callbackScopeName) &&
475
+ scopeName !== callbackScopeName) {
476
+ scopesToCheck.push(scope);
477
+ }
478
+ }
479
+ for (const scope of scopesToCheck) {
480
+ // Find equivalencies that reference params.row.* or signature[0].row.*
481
+ for (const [path, equivs] of Object.entries(scope.equivalencies)) {
482
+ for (const equiv of equivs) {
483
+ const schemaPath = equiv.schemaPath;
484
+ // Match patterns like params.row.id, params.row.flagged, signature[0].row.status
485
+ const rowPropertyMatch = schemaPath.match(/^(?:params|signature\[0\])\.row\.(\w+)$/);
486
+ if (rowPropertyMatch) {
487
+ const propertyName = rowPropertyMatch[1];
488
+ // Create equivalency: the path accessing params.row.X → rows[].X
489
+ // e.g., updateStatus().signature[0].id → DataGrid().signature[0].rows[].id
490
+ const rowsPropertyPath = `${dataGridCall}.signature[0].rows[].${propertyName}`;
491
+ scopeDataStructure.addEquivalency(path, rowsPropertyPath, parentScopeName, scope, 'MUI DataGrid renderCell params.row equivalency');
492
+ }
493
+ }
494
+ }
495
+ }
496
+ }
497
+ /**
498
+ * Process from child scope perspective: look for params.row.* accesses
499
+ * and trace back to find DataGrid rows equivalency in parent scopes.
500
+ */
501
+ propagateFromChildScope(scopeNode, scopeDataStructure) {
502
+ // Look for equivalencies in this scope that reference params.row.*
503
+ for (const [path, equivs] of Object.entries(scopeNode.equivalencies)) {
504
+ for (const equiv of equivs) {
505
+ const schemaPath = equiv.schemaPath;
506
+ // Match patterns like params.row.id, params.row.status
507
+ const rowPropertyMatch = schemaPath.match(/^params\.row\.(\w+)$/);
508
+ if (rowPropertyMatch) {
509
+ const propertyName = rowPropertyMatch[1];
510
+ // Look in parent scopes for DataGrid rows equivalency
511
+ // The pattern we're looking for is: signature[0].row → DataGrid().signature[0].rows[]
512
+ const dataGridCall = this.findDataGridInParentScopes(scopeNode, scopeDataStructure);
513
+ if (dataGridCall) {
514
+ // Find the parent scope that has the DataGrid
515
+ const parentScopeName = this.findDataGridScopeName(scopeNode, scopeDataStructure);
516
+ const parentScope = parentScopeName
517
+ ? scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName)
518
+ : undefined;
519
+ // Find what DataGrid().signature[0].rows is equivalent to (e.g., "data.quotes")
520
+ const rowsPath = `${dataGridCall}.signature[0].rows`;
521
+ const rowsEquivs = parentScope?.equivalencies?.[rowsPath];
522
+ const dataSourcePath = rowsEquivs?.[0]?.schemaPath;
523
+ if (dataSourcePath && parentScope) {
524
+ // Create equivalency: path → dataSource[].propertyName (e.g., data.quotes[].id)
525
+ const dataPropertyPath = `${dataSourcePath}[].${propertyName}`;
526
+ // Add equivalency in child scope
527
+ scopeDataStructure.addEquivalency(path, dataPropertyPath, parentScopeName || scopeNode.name, scopeNode, 'MUI DataGrid renderCell params.row equivalency');
528
+ // Also add the property access to the parent scope's schema
529
+ // This ensures that data.quotes[].id shows up as an accessed property
530
+ if (!parentScope.schema[dataPropertyPath]) {
531
+ parentScope.schema[dataPropertyPath] = 'unknown';
532
+ }
533
+ // And create an equivalency FROM the data path so it propagates to returnValue
534
+ scopeDataStructure.addEquivalency(dataPropertyPath, path, parentScopeName, parentScope, 'MUI DataGrid renderCell params.row equivalency');
535
+ }
536
+ }
537
+ }
538
+ }
539
+ }
540
+ }
541
+ /**
542
+ * Find the DataGrid call in parent scopes by looking for signature[0].row → DataGrid().signature[0].rows[]
543
+ */
544
+ findDataGridInParentScopes(scopeNode, scopeDataStructure) {
545
+ // Check the scope tree (parent scopes)
546
+ if (!scopeNode.tree)
547
+ return undefined;
548
+ for (const parentScopeName of scopeNode.tree) {
549
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
550
+ if (!parentScope?.equivalencies)
551
+ continue;
552
+ // Look for signature[0].row → DataGrid().signature[0].rows[]
553
+ const rowEquivs = parentScope.equivalencies['signature[0].row'];
554
+ if (rowEquivs) {
555
+ for (const equiv of rowEquivs) {
556
+ const match = equiv.schemaPath.match(/^(DataGrid(?:Pro|Premium)?)\(\)\.signature\[0\]\.rows\[\]$/);
557
+ if (match) {
558
+ return `${match[1]}()`;
559
+ }
560
+ }
561
+ }
562
+ }
563
+ return undefined;
564
+ }
565
+ /**
566
+ * Find the scope name that contains the DataGrid call
567
+ */
568
+ findDataGridScopeName(scopeNode, scopeDataStructure) {
569
+ if (!scopeNode.tree)
570
+ return undefined;
571
+ for (const parentScopeName of scopeNode.tree) {
572
+ const parentScope = scopeDataStructure.getScopeOrFunctionCallInfo(parentScopeName);
573
+ if (!parentScope?.equivalencies)
574
+ continue;
575
+ // Look for DataGrid().signature[0].columns
576
+ for (const path of Object.keys(parentScope.equivalencies)) {
577
+ if (path.match(/^DataGrid(?:Pro|Premium)?\(\)\.signature\[0\]\.columns$/)) {
578
+ return parentScopeName;
579
+ }
580
+ }
581
+ }
582
+ return undefined;
583
+ }
584
+ isInterestedInSubpath(subPathParts, _scopeNode, _scopeDataStructure) {
585
+ // We're interested in MUI component paths (DataGrid variants and Autocomplete)
586
+ const hasMuiComponent = subPathParts.some((part) => part.match(/^(DataGrid(Pro|Premium)?|Autocomplete)\(/));
587
+ return hasMuiComponent;
588
+ }
589
+ addEquivalencies(_addEquivalenciesInfo) {
590
+ // We handle DataGrid in finalize() instead, since we need to scan
591
+ // for all equivalencies after they've been established
592
+ return false;
593
+ }
594
+ finalize(_scopeNode, scopeDataStructure) {
595
+ // Process external function call schemas ONCE (not per-scope) since they
596
+ // are global. These were moved from postProcess() because external function
597
+ // calls are only available AFTER postProcess() runs (in trackFunctionCalls).
598
+ // See Issue 23.
599
+ this.processGridApiContext(_scopeNode, scopeDataStructure);
600
+ this.processCreateTheme(_scopeNode, scopeDataStructure);
601
+ this.processGridSelector(_scopeNode, scopeDataStructure);
602
+ // Iterate through all scopes (finalize is only called on root)
603
+ for (const [scopeName, scopeNode] of Object.entries(scopeDataStructure.scopeNodes)) {
604
+ this.finalizeScope(scopeNode, scopeDataStructure);
605
+ }
606
+ }
607
+ finalizeScope(scopeNode, scopeDataStructure) {
608
+ // Propagate row property accesses after all scopes are established
609
+ // Find DataGrid calls in this scope and link renderCell params.row.* to rows[].*
610
+ for (const [path, equivalencies] of Object.entries(scopeNode.equivalencies)) {
611
+ // Look for DataGrid().signature[0].columns equivalency
612
+ const dataGridMatch = path.match(/^(DataGrid(?:Pro|Premium)?\(\))\.signature\[0\]\.columns$/);
613
+ if (dataGridMatch) {
614
+ const dataGridCall = dataGridMatch[1];
615
+ // Find what columns is equivalent to
616
+ for (const equiv of equivalencies) {
617
+ const columnsVar = equiv.schemaPath;
618
+ // Find renderCell callbacks
619
+ const callbackScopes = this.findRenderCellCallbacks(columnsVar, scopeNode, new Set(), scopeDataStructure);
620
+ for (const callbackScopeName of callbackScopes) {
621
+ const callbackScopeNode = scopeDataStructure.getScopeOrFunctionCallInfo(callbackScopeName);
622
+ if (!callbackScopeNode)
623
+ continue;
624
+ // Propagate sub-property accesses from params.row.*
625
+ this.propagateRowPropertyAccesses(callbackScopeNode, dataGridCall, scopeNode.name, scopeDataStructure);
626
+ }
627
+ }
628
+ continue;
629
+ }
630
+ // Look for Autocomplete().signature[0].options equivalency
631
+ const autocompleteMatch = path.match(/^(Autocomplete\(\))\.signature\[0\]\.options$/);
632
+ if (autocompleteMatch) {
633
+ const autocompleteCall = autocompleteMatch[1];
634
+ // Find callback props and propagate property accesses
635
+ for (const callbackProp of ['getOptionLabel', 'renderOption']) {
636
+ const callbackPath = `${autocompleteCall}.signature[0].${callbackProp}`;
637
+ const callbackEquivs = scopeNode.equivalencies[callbackPath];
638
+ if (callbackEquivs) {
639
+ for (const callbackEquiv of callbackEquivs) {
640
+ const callbackMatch = callbackEquiv.schemaPath.match(/^(cyScope[0-9A-Fa-f]+)\(\)\.functionCallReturnValue$/);
641
+ if (!callbackMatch)
642
+ continue;
643
+ const callbackScopeName = callbackMatch[1];
644
+ const callbackScopeNode = scopeDataStructure.getScopeOrFunctionCallInfo(callbackScopeName);
645
+ if (!callbackScopeNode)
646
+ continue;
647
+ // Determine which parameter index receives the option
648
+ const paramIndex = callbackProp === 'renderOption' ? 1 : 0;
649
+ // Propagate property accesses from this callback
650
+ this.propagateAutocompletePropertyAccesses(callbackScopeNode, autocompleteCall, paramIndex, scopeNode.name, scopeDataStructure);
651
+ }
652
+ }
653
+ }
654
+ }
655
+ }
656
+ }
657
+ toString() {
658
+ return 'MuiManager';
659
+ }
660
+ }
661
+ //# sourceMappingURL=MuiManager.js.map