@codeyam/codeyam-cli 0.1.0-staging.596f0eb → 0.1.0-staging.5fba2e4

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 (1351) 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 +32 -28
  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 +239 -13
  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 +247 -66
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2762 -387
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +7 -2
  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/coercePrimitivesToArraysBySchema.ts +62 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +163 -14
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +422 -86
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  38. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  39. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -0
  40. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  41. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  42. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  43. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
  44. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +89 -112
  45. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +63 -2
  46. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1497 -92
  47. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +216 -109
  48. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +677 -0
  49. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  50. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  51. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  52. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  53. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  54. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  55. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  56. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +17 -7
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -102
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +110 -6
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -53
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  66. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  67. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  68. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  69. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  70. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  71. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +127 -3
  72. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
  73. package/analyzer-template/packages/analyze/index.ts +2 -0
  74. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  75. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +132 -33
  76. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  77. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  78. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  79. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  81. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  83. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  84. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  85. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  86. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  87. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +540 -272
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +42 -1
  89. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +15 -0
  90. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  91. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  92. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  93. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  94. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  95. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  96. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  97. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1352 -0
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -0
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +675 -77
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +633 -137
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +166 -0
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -83
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
  108. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1031 -148
  109. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  110. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  111. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  112. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  113. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  114. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  115. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  116. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  117. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  118. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  119. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  120. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  124. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  125. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  126. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  127. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  128. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  129. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  130. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  131. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  132. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  133. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  134. package/analyzer-template/packages/aws/package.json +10 -10
  135. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  136. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  137. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  138. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  139. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  140. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  141. package/analyzer-template/packages/database/index.ts +1 -0
  142. package/analyzer-template/packages/database/package.json +4 -4
  143. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  144. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  145. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  146. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  147. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  148. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  149. package/analyzer-template/packages/database/src/lib/kysely/db.ts +26 -5
  150. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  151. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  152. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +36 -9
  153. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +82 -0
  154. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  155. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  156. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  157. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  158. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  159. package/analyzer-template/packages/database/src/lib/loadCommits.ts +58 -19
  160. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  161. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  162. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +5 -6
  163. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  164. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  165. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  166. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +153 -144
  167. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  168. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  169. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  170. package/analyzer-template/packages/generate/index.ts +3 -0
  171. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  172. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +221 -0
  173. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  174. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +42 -9
  175. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  176. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  177. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  178. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  179. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  180. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  185. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  187. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  189. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  190. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  191. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  192. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +6 -2
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +18 -3
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -11
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +30 -7
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  207. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  208. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +24 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +65 -0
  211. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  212. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  213. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  214. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  215. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  216. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  217. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  218. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +7 -6
  219. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  220. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  221. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  222. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  223. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  224. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  225. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  226. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  227. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  228. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  229. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  230. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  231. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  232. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  233. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  234. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +45 -14
  235. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  236. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  237. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  238. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  239. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  240. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  241. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  242. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  243. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  244. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  245. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  246. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  247. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  248. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  249. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  250. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  251. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  252. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  253. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  254. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +100 -88
  255. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  256. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  257. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  258. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  259. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  260. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  261. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  262. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  263. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  264. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  265. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  266. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  267. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  268. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  269. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  270. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  271. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  272. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  273. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  274. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  275. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  276. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  277. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  278. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +41 -9
  279. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  280. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  281. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  282. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  283. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  284. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  285. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  286. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  287. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  288. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  289. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  290. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  291. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  292. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  293. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  294. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  295. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  296. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  297. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  298. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  299. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  300. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +87 -13
  301. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  302. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  303. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  304. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  305. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  306. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  307. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  308. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +21 -6
  309. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  310. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  311. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  312. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  313. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  314. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  315. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  316. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  317. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  318. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  319. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  320. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  321. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  322. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  323. package/analyzer-template/packages/github/package.json +2 -2
  324. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  325. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  326. package/analyzer-template/packages/process/index.ts +2 -0
  327. package/analyzer-template/packages/process/package.json +12 -0
  328. package/analyzer-template/packages/process/tsconfig.json +8 -0
  329. package/analyzer-template/packages/types/index.ts +5 -0
  330. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  331. package/analyzer-template/packages/types/src/types/Analysis.ts +104 -13
  332. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  333. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  334. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +8 -0
  335. package/analyzer-template/packages/types/src/types/Scenario.ts +21 -10
  336. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
  337. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  338. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  339. package/analyzer-template/packages/ui-components/package.json +1 -1
  340. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  341. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  342. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  343. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  344. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  345. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  346. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  347. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  348. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +87 -13
  349. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  350. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  351. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  352. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  353. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  354. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  355. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  356. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +21 -6
  357. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  358. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  359. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  360. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  361. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  362. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  363. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  364. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  365. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
  366. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  367. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  368. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  369. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  370. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  371. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  372. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  373. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  374. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
  375. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  376. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  377. package/analyzer-template/playwright/capture.ts +57 -26
  378. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  379. package/analyzer-template/playwright/captureStatic.ts +1 -1
  380. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  381. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  382. package/analyzer-template/playwright/takeScreenshot.ts +9 -7
  383. package/analyzer-template/playwright/waitForServer.ts +21 -6
  384. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  385. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  386. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  387. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  388. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  389. package/analyzer-template/project/constructMockCode.ts +1410 -189
  390. package/analyzer-template/project/controller/startController.ts +16 -1
  391. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  392. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  393. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  394. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  395. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  396. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  397. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +93 -42
  398. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  399. package/analyzer-template/project/orchestrateCapture.ts +85 -10
  400. package/analyzer-template/project/reconcileMockDataKeys.ts +251 -3
  401. package/analyzer-template/project/runAnalysis.ts +11 -0
  402. package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
  403. package/analyzer-template/project/serverOnlyModules.ts +194 -21
  404. package/analyzer-template/project/start.ts +64 -15
  405. package/analyzer-template/project/startScenarioCapture.ts +88 -41
  406. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  407. package/analyzer-template/project/writeMockDataTsx.ts +430 -65
  408. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  409. package/analyzer-template/project/writeScenarioComponents.ts +969 -197
  410. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  411. package/analyzer-template/project/writeSimpleRoot.ts +31 -23
  412. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  413. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  414. package/analyzer-template/tsconfig.json +14 -1
  415. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  416. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  417. package/background/src/lib/local/execAsync.js +1 -1
  418. package/background/src/lib/local/execAsync.js.map +1 -1
  419. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  420. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  421. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  422. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  423. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  424. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  425. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  426. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  427. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  428. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  429. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  430. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  431. package/background/src/lib/virtualized/project/constructMockCode.js +1245 -141
  432. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  433. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  434. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  435. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  436. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  437. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  438. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  439. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  440. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  441. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  442. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  443. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  444. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  445. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  446. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  447. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -36
  448. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  449. package/background/src/lib/virtualized/project/orchestrateCapture.js +69 -11
  450. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  451. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +211 -3
  452. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  453. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  454. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  455. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
  456. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  457. package/background/src/lib/virtualized/project/serverOnlyModules.js +163 -23
  458. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  459. package/background/src/lib/virtualized/project/start.js +55 -15
  460. package/background/src/lib/virtualized/project/start.js.map +1 -1
  461. package/background/src/lib/virtualized/project/startScenarioCapture.js +66 -31
  462. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  463. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  464. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  465. package/background/src/lib/virtualized/project/writeMockDataTsx.js +373 -54
  466. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  467. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  468. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  469. package/background/src/lib/virtualized/project/writeScenarioComponents.js +705 -137
  470. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  471. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  472. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  473. package/background/src/lib/virtualized/project/writeSimpleRoot.js +31 -21
  474. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  475. package/codeyam-cli/scripts/apply-setup.js +386 -9
  476. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  477. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  478. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  479. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  480. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  481. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  482. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  483. package/codeyam-cli/src/cli.js +39 -22
  484. package/codeyam-cli/src/cli.js.map +1 -1
  485. package/codeyam-cli/src/codeyam-cli.js +18 -2
  486. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  487. package/codeyam-cli/src/commands/analyze.js +22 -10
  488. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  489. package/codeyam-cli/src/commands/baseline.js +176 -0
  490. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  491. package/codeyam-cli/src/commands/debug.js +44 -18
  492. package/codeyam-cli/src/commands/debug.js.map +1 -1
  493. package/codeyam-cli/src/commands/default.js +43 -35
  494. package/codeyam-cli/src/commands/default.js.map +1 -1
  495. package/codeyam-cli/src/commands/editor.js +2769 -0
  496. package/codeyam-cli/src/commands/editor.js.map +1 -0
  497. package/codeyam-cli/src/commands/init.js +81 -260
  498. package/codeyam-cli/src/commands/init.js.map +1 -1
  499. package/codeyam-cli/src/commands/memory.js +278 -0
  500. package/codeyam-cli/src/commands/memory.js.map +1 -0
  501. package/codeyam-cli/src/commands/recapture.js +228 -0
  502. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  503. package/codeyam-cli/src/commands/report.js +72 -24
  504. package/codeyam-cli/src/commands/report.js.map +1 -1
  505. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  506. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  507. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  508. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  509. package/codeyam-cli/src/commands/start.js +8 -12
  510. package/codeyam-cli/src/commands/start.js.map +1 -1
  511. package/codeyam-cli/src/commands/status.js +23 -1
  512. package/codeyam-cli/src/commands/status.js.map +1 -1
  513. package/codeyam-cli/src/commands/test-startup.js +3 -1
  514. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  515. package/codeyam-cli/src/commands/verify.js +14 -2
  516. package/codeyam-cli/src/commands/verify.js.map +1 -1
  517. package/codeyam-cli/src/commands/wipe.js +108 -0
  518. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  519. package/codeyam-cli/src/data/techStacks.js +77 -0
  520. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  521. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  522. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  523. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +127 -0
  524. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  525. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +635 -0
  526. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  527. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  528. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  529. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  530. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  531. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +121 -0
  532. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  533. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  534. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  535. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  536. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  537. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +393 -0
  538. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  539. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  540. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  541. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  542. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  543. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +266 -0
  544. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  545. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +107 -0
  546. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  547. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  548. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  549. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +221 -0
  550. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  551. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +275 -0
  552. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  553. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +213 -0
  554. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  555. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1737 -0
  556. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  557. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  558. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  559. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +107 -0
  560. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  561. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  562. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  563. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +101 -0
  564. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  565. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  566. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  567. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  568. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  569. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  570. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  571. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +246 -0
  572. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  573. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  574. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  575. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +174 -82
  576. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  577. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  578. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  579. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +142 -0
  580. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  581. package/codeyam-cli/src/utils/analysisRunner.js +29 -15
  582. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  583. package/codeyam-cli/src/utils/analyzer.js +7 -0
  584. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  585. package/codeyam-cli/src/utils/backgroundServer.js +235 -29
  586. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  587. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  588. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  589. package/codeyam-cli/src/utils/database.js +91 -5
  590. package/codeyam-cli/src/utils/database.js.map +1 -1
  591. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  592. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  593. package/codeyam-cli/src/utils/devServerState.js +71 -0
  594. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  595. package/codeyam-cli/src/utils/editorApi.js +73 -0
  596. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  597. package/codeyam-cli/src/utils/editorAudit.js +159 -0
  598. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  599. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  600. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  601. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  602. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  603. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +44 -0
  604. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  605. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  606. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  607. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  608. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  609. package/codeyam-cli/src/utils/editorLoaderHelpers.js +81 -0
  610. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  611. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  612. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  613. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  614. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  615. package/codeyam-cli/src/utils/editorPreview.js +106 -0
  616. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  617. package/codeyam-cli/src/utils/editorScenarioSwitch.js +112 -0
  618. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  619. package/codeyam-cli/src/utils/editorScenarios.js +126 -0
  620. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  621. package/codeyam-cli/src/utils/editorSeedAdapter.js +173 -0
  622. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  623. package/codeyam-cli/src/utils/entityChangeStatus.js +347 -0
  624. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  625. package/codeyam-cli/src/utils/entityChangeStatus.server.js +158 -0
  626. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  627. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  628. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  629. package/codeyam-cli/src/utils/fileWatcher.js +25 -9
  630. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  631. package/codeyam-cli/src/utils/generateReport.js +253 -106
  632. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  633. package/codeyam-cli/src/utils/git.js +182 -0
  634. package/codeyam-cli/src/utils/git.js.map +1 -0
  635. package/codeyam-cli/src/utils/install-skills.js +120 -39
  636. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  637. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  638. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  639. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  640. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  641. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  642. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  643. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  644. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  645. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  646. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  647. package/codeyam-cli/src/utils/progress.js +7 -0
  648. package/codeyam-cli/src/utils/progress.js.map +1 -1
  649. package/codeyam-cli/src/utils/project.js +15 -5
  650. package/codeyam-cli/src/utils/project.js.map +1 -1
  651. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  652. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  653. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +60 -0
  654. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  655. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  656. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  657. package/codeyam-cli/src/utils/queue/job.js +319 -17
  658. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  659. package/codeyam-cli/src/utils/queue/manager.js +26 -7
  660. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  661. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  662. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  663. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  664. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  665. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  666. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
  667. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  668. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  669. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  670. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  671. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  672. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  673. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  674. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  675. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  676. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  677. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  678. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  679. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  680. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
  681. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  682. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  683. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  684. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  685. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  686. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  687. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  688. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  689. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  690. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  691. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  692. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  693. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  694. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  695. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  696. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  697. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  698. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  699. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  700. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  701. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  702. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  703. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  704. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  705. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  706. package/codeyam-cli/src/utils/rules/index.js +7 -0
  707. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  708. package/codeyam-cli/src/utils/rules/parser.js +93 -0
  709. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  710. package/codeyam-cli/src/utils/rules/pathMatcher.js +49 -0
  711. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  712. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  713. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  714. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  715. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  716. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  717. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  718. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  719. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  720. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  721. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  722. package/codeyam-cli/src/utils/scenariosManifest.js +112 -0
  723. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  724. package/codeyam-cli/src/utils/serverState.js +64 -12
  725. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  726. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +95 -45
  727. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  728. package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
  729. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  730. package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
  731. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  732. package/codeyam-cli/src/utils/testRunner.js +158 -0
  733. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  734. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  735. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  736. package/codeyam-cli/src/utils/versionInfo.js +67 -15
  737. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  738. package/codeyam-cli/src/utils/webappDetection.js +35 -2
  739. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  740. package/codeyam-cli/src/utils/wipe.js +128 -0
  741. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  742. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  743. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  744. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +410 -0
  745. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  746. package/codeyam-cli/src/webserver/app/lib/database.js +159 -33
  747. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  748. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  749. package/codeyam-cli/src/webserver/app/lib/git.js +396 -0
  750. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  751. package/codeyam-cli/src/webserver/backgroundServer.js +171 -26
  752. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  753. package/codeyam-cli/src/webserver/bootstrap.js +60 -0
  754. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  755. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-BPXZwM4t.js +1 -0
  756. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BcgbViKV.js +11 -0
  757. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-efWKDYMr.js → EntityTypeBadge-g3saevPb.js} +1 -1
  758. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CQIG2qda.js +41 -0
  759. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +1 -0
  760. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DYFW3lDD.js +25 -0
  761. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DLeucoVX.js +3 -0
  762. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-BU_OAEMP.js +6 -0
  763. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-ceAyBX-H.js +3 -0
  764. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BzHcG7SE.js +11 -0
  765. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BED4B6sP.js +1 -0
  766. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-0DY_NKil.js +10 -0
  767. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +34 -0
  768. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-COPstp9J.js → TruncatedFilePath-C8OKAR5x.js} +1 -1
  769. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-oAf2Kqsf.js +1 -0
  770. package/codeyam-cli/src/webserver/build/client/assets/_index-DLxKhri3.js +11 -0
  771. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BcY3q6nt.js +27 -0
  772. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  773. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  774. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-Duc5hnl7.js +1 -0
  775. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  776. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-Bni3iiUj.js +22 -0
  777. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  778. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  779. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  780. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  781. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  782. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  783. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  784. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  785. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  786. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  787. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  788. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  789. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  790. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  791. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  792. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  793. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  794. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  795. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  796. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  797. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  798. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  799. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  800. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  801. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  802. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  803. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  804. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  805. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  806. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  807. package/codeyam-cli/src/webserver/build/client/assets/book-open-BYOypzCa.js +6 -0
  808. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-C_Pmso5S.js +6 -0
  809. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-C4pqxYJB.js +51 -0
  810. package/codeyam-cli/src/webserver/build/client/assets/circle-check-BVMi9VA5.js +6 -0
  811. package/codeyam-cli/src/webserver/build/client/assets/copy-n2FB0_Sw.js +11 -0
  812. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CC6AbExI.js +41 -0
  813. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  814. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  815. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Csi0_PMl.js +1 -0
  816. package/codeyam-cli/src/webserver/build/client/assets/editor-pyT-NAuu.js +10 -0
  817. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-BLQMSKZa.js +41 -0
  818. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BF4oLwaE.js +23 -0
  819. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-C7YX6r3H.js +6 -0
  820. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CF164ouH.js +6 -0
  821. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +6 -0
  822. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BMvVHNXU.js +5 -0
  823. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DTvKq3TY.js +29 -0
  824. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  825. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-cPo8LiG3.js +1 -0
  826. package/codeyam-cli/src/webserver/build/client/assets/files-BZrlFE1F.js +1 -0
  827. package/codeyam-cli/src/webserver/build/client/assets/git-DdZcvjGh.js +1 -0
  828. package/codeyam-cli/src/webserver/build/client/assets/globals-BkWJ_UNc.css +1 -0
  829. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  830. package/codeyam-cli/src/webserver/build/client/assets/index-10oVnAAH.js +9 -0
  831. package/codeyam-cli/src/webserver/build/client/assets/index-BcvgDzbZ.js +3 -0
  832. package/codeyam-cli/src/webserver/build/client/assets/index-yHOVb4rc.js +15 -0
  833. package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +1 -0
  834. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DaAZ_H2w.js +6 -0
  835. package/codeyam-cli/src/webserver/build/client/assets/manifest-753dd058.js +1 -0
  836. package/codeyam-cli/src/webserver/build/client/assets/memory-Bl2rpw8u.js +96 -0
  837. package/codeyam-cli/src/webserver/build/client/assets/pause-f5-1lKBt.js +11 -0
  838. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  839. package/codeyam-cli/src/webserver/build/client/assets/root-B_X8HS1x.js +67 -0
  840. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  841. package/codeyam-cli/src/webserver/build/client/assets/search-Di64LWVb.js +6 -0
  842. package/codeyam-cli/src/webserver/build/client/assets/settings-0OrEMU6J.js +1 -0
  843. package/codeyam-cli/src/webserver/build/client/assets/simulations-DWT-CvLy.js +1 -0
  844. package/codeyam-cli/src/webserver/build/client/assets/terminal-Br7MOqts.js +11 -0
  845. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BLdiCuG-.js +6 -0
  846. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-CrAK28Bc.js +1 -0
  847. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +2 -0
  848. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-O-jkvSPx.js +1 -0
  849. package/codeyam-cli/src/webserver/build/client/assets/{useToast-DEyawJ8r.js → useToast-9FIWuYfK.js} +1 -1
  850. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  851. package/codeyam-cli/src/webserver/build/server/assets/index-Bt1_4UUt.js +1 -0
  852. package/codeyam-cli/src/webserver/build/server/assets/server-build-1u5XIyLw.js +416 -0
  853. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  854. package/codeyam-cli/src/webserver/build-info.json +5 -5
  855. package/codeyam-cli/src/webserver/devServer.js +40 -8
  856. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  857. package/codeyam-cli/src/webserver/editorProxy.js +779 -0
  858. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  859. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  860. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +230 -0
  861. package/codeyam-cli/src/webserver/server.js +293 -26
  862. package/codeyam-cli/src/webserver/server.js.map +1 -1
  863. package/codeyam-cli/src/webserver/terminalServer.js +726 -0
  864. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  865. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  866. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  867. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  868. package/codeyam-cli/templates/chrome-extension-react/package.json +26 -0
  869. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  870. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  871. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  872. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  873. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  874. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  875. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  876. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  877. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  878. package/codeyam-cli/templates/codeyam-editor-claude.md +68 -0
  879. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  880. package/codeyam-cli/templates/commands/codeyam-diagnose.md +481 -0
  881. package/codeyam-cli/templates/editor-step-hook.py +231 -0
  882. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +89 -0
  883. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +33 -0
  884. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +12 -0
  885. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +12 -0
  886. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +12 -0
  887. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  888. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  889. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  890. package/codeyam-cli/templates/expo-react-native/global.css +3 -0
  891. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  892. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  893. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  894. package/codeyam-cli/templates/expo-react-native/package.json +37 -0
  895. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  896. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  897. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  898. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  899. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  900. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  901. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  902. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  903. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  904. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  905. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  906. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +112 -0
  907. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  908. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  909. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  910. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  911. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  912. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  913. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  914. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  915. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  916. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  917. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  918. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +38 -0
  919. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  920. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  921. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  922. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  923. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +92 -0
  924. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  925. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  926. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  927. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  928. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  929. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  930. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  931. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  932. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  933. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  934. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  935. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  936. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  937. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +36 -0
  938. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  939. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  940. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  941. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  942. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  943. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  944. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  945. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  946. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  947. package/codeyam-cli/templates/rule-notification-hook.py +83 -0
  948. package/codeyam-cli/templates/rule-reflection-hook.py +647 -0
  949. package/codeyam-cli/templates/rules-instructions.md +78 -0
  950. package/codeyam-cli/templates/{codeyam-debug-skill.md → skills/codeyam-debug/SKILL.md} +48 -4
  951. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  952. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +145 -0
  953. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +611 -0
  954. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  955. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  956. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  957. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  958. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  959. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  960. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  961. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  962. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  963. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  964. package/codeyam-cli/templates/skills/codeyam-new-rule/SKILL.md +11 -0
  965. package/codeyam-cli/templates/{codeyam-setup-skill.md → skills/codeyam-setup/SKILL.md} +151 -4
  966. package/codeyam-cli/templates/{codeyam-sim-skill.md → skills/codeyam-sim/SKILL.md} +1 -1
  967. package/codeyam-cli/templates/{codeyam-test-skill.md → skills/codeyam-test/SKILL.md} +1 -1
  968. package/codeyam-cli/templates/{codeyam-verify-skill.md → skills/codeyam-verify/SKILL.md} +1 -1
  969. package/package.json +39 -29
  970. package/packages/ai/index.js +8 -6
  971. package/packages/ai/index.js.map +1 -1
  972. package/packages/ai/src/lib/analyzeScope.js +181 -13
  973. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  974. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  975. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  976. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +176 -13
  977. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  978. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  979. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  980. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  981. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  982. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  983. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  984. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  985. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  986. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +23 -0
  987. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  988. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  989. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  990. package/packages/ai/src/lib/astScopes/processExpression.js +1235 -104
  991. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  992. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  993. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  994. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  995. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  996. package/packages/ai/src/lib/completionCall.js +188 -38
  997. package/packages/ai/src/lib/completionCall.js.map +1 -1
  998. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +2174 -222
  999. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  1000. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +7 -2
  1001. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  1002. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +661 -0
  1003. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  1004. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +180 -56
  1005. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  1006. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  1007. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  1008. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  1009. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  1010. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
  1011. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  1012. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +139 -13
  1013. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  1014. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  1015. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  1016. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  1017. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  1018. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +142 -12
  1019. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  1020. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  1021. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  1022. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  1023. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  1024. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  1025. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  1026. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +355 -77
  1027. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  1028. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  1029. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  1030. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  1031. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  1032. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  1033. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  1034. package/packages/ai/src/lib/deepEqual.js +32 -0
  1035. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  1036. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  1037. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  1038. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  1039. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  1040. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  1041. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  1042. package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -90
  1043. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  1044. package/packages/ai/src/lib/generateEntityDataStructure.js +50 -1
  1045. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  1046. package/packages/ai/src/lib/generateEntityScenarioData.js +1183 -85
  1047. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  1048. package/packages/ai/src/lib/generateEntityScenarios.js +193 -83
  1049. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  1050. package/packages/ai/src/lib/generateExecutionFlows.js +484 -0
  1051. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  1052. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  1053. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  1054. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  1055. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  1056. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  1057. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  1058. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  1059. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  1060. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  1061. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  1062. package/packages/ai/src/lib/isolateScopes.js +270 -7
  1063. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  1064. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  1065. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  1066. package/packages/ai/src/lib/mergeStatements.js +88 -46
  1067. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  1068. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  1069. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  1070. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +16 -4
  1071. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  1072. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  1073. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  1074. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -64
  1075. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  1076. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  1077. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  1078. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  1079. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  1080. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -34
  1081. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  1082. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  1083. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  1084. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  1085. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  1086. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  1087. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  1088. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  1089. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  1090. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  1091. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  1092. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  1093. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  1094. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
  1095. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  1096. package/packages/analyze/index.js +1 -0
  1097. package/packages/analyze/index.js.map +1 -1
  1098. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  1099. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  1100. package/packages/analyze/src/lib/ProjectAnalyzer.js +109 -30
  1101. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  1102. package/packages/analyze/src/lib/analysisContext.js +30 -5
  1103. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  1104. package/packages/analyze/src/lib/asts/index.js +4 -2
  1105. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  1106. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  1107. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  1108. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  1109. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  1110. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  1111. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  1112. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  1113. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  1114. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  1115. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  1116. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  1117. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  1118. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  1119. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  1120. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  1121. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  1122. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  1123. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  1124. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +278 -52
  1125. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  1126. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +31 -1
  1127. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  1128. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +11 -0
  1129. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  1130. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  1131. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  1132. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  1133. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  1134. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  1135. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  1136. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  1137. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  1138. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  1139. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  1140. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  1141. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  1142. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  1143. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  1144. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  1145. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  1146. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +907 -0
  1147. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  1148. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -0
  1149. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  1150. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  1151. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  1152. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +525 -61
  1153. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1154. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  1155. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  1156. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  1157. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1158. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +469 -85
  1159. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1160. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +104 -0
  1161. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1162. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -69
  1163. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1164. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
  1165. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1166. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +847 -126
  1167. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1168. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  1169. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1170. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  1171. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1172. package/packages/analyze/src/lib/index.js +1 -0
  1173. package/packages/analyze/src/lib/index.js.map +1 -1
  1174. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1175. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1176. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  1177. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  1178. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  1179. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  1180. package/packages/database/index.js +1 -0
  1181. package/packages/database/index.js.map +1 -1
  1182. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  1183. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  1184. package/packages/database/src/lib/analysisToDb.js +1 -1
  1185. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  1186. package/packages/database/src/lib/branchToDb.js +1 -1
  1187. package/packages/database/src/lib/branchToDb.js.map +1 -1
  1188. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  1189. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  1190. package/packages/database/src/lib/commitToDb.js +1 -1
  1191. package/packages/database/src/lib/commitToDb.js.map +1 -1
  1192. package/packages/database/src/lib/fileToDb.js +1 -1
  1193. package/packages/database/src/lib/fileToDb.js.map +1 -1
  1194. package/packages/database/src/lib/kysely/db.js +18 -3
  1195. package/packages/database/src/lib/kysely/db.js.map +1 -1
  1196. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  1197. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  1198. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  1199. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  1200. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +65 -0
  1201. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  1202. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1203. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1204. package/packages/database/src/lib/loadAnalyses.js +45 -2
  1205. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  1206. package/packages/database/src/lib/loadAnalysis.js +8 -0
  1207. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  1208. package/packages/database/src/lib/loadBranch.js +11 -1
  1209. package/packages/database/src/lib/loadBranch.js.map +1 -1
  1210. package/packages/database/src/lib/loadCommit.js +7 -0
  1211. package/packages/database/src/lib/loadCommit.js.map +1 -1
  1212. package/packages/database/src/lib/loadCommits.js +45 -14
  1213. package/packages/database/src/lib/loadCommits.js.map +1 -1
  1214. package/packages/database/src/lib/loadEntities.js +23 -4
  1215. package/packages/database/src/lib/loadEntities.js.map +1 -1
  1216. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  1217. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  1218. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  1219. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  1220. package/packages/database/src/lib/projectToDb.js +1 -1
  1221. package/packages/database/src/lib/projectToDb.js.map +1 -1
  1222. package/packages/database/src/lib/saveFiles.js +1 -1
  1223. package/packages/database/src/lib/saveFiles.js.map +1 -1
  1224. package/packages/database/src/lib/scenarioToDb.js +1 -1
  1225. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  1226. package/packages/database/src/lib/updateCommitMetadata.js +100 -88
  1227. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  1228. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  1229. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  1230. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  1231. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  1232. package/packages/generate/index.js +3 -0
  1233. package/packages/generate/index.js.map +1 -1
  1234. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  1235. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  1236. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  1237. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  1238. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  1239. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  1240. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +41 -9
  1241. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1242. package/packages/generate/src/lib/deepMerge.js +27 -1
  1243. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  1244. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  1245. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  1246. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  1247. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  1248. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  1249. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  1250. package/packages/process/index.js +3 -0
  1251. package/packages/process/index.js.map +1 -0
  1252. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  1253. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  1254. package/packages/process/src/ProcessManager.js.map +1 -0
  1255. package/packages/process/src/index.js.map +1 -0
  1256. package/packages/process/src/managedExecAsync.js.map +1 -0
  1257. package/packages/types/index.js.map +1 -1
  1258. package/packages/types/src/enums/ProjectFramework.js +2 -0
  1259. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  1260. package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
  1261. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  1262. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  1263. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  1264. package/packages/utils/src/lib/safeFileName.js +29 -3
  1265. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1266. package/scripts/npm-post-install.cjs +34 -0
  1267. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  1268. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -197
  1269. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -271
  1270. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -294
  1271. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1272. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -115
  1273. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  1274. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  1275. package/analyzer-template/process/README.md +0 -507
  1276. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  1277. package/background/src/lib/process/ProcessManager.js.map +0 -1
  1278. package/background/src/lib/process/index.js.map +0 -1
  1279. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  1280. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  1281. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  1282. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
  1283. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  1284. package/codeyam-cli/src/commands/list.js +0 -31
  1285. package/codeyam-cli/src/commands/list.js.map +0 -1
  1286. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  1287. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  1288. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  1289. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  1290. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-CVbSvOjo.js +0 -1
  1291. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DcwcHyl5.js +0 -1
  1292. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-WgwC1GfJ.js +0 -26
  1293. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-IEKom9O2.js +0 -3
  1294. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BYnfxbUG.js +0 -3
  1295. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-_lBPJCzG.js +0 -1
  1296. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-lHVhvsu_.js +0 -1
  1297. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-d_TBk4GQ.js +0 -5
  1298. package/codeyam-cli/src/webserver/build/client/assets/_index-kGT7VUqj.js +0 -1
  1299. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DDGmhu7P.js +0 -7
  1300. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-n_HPRfM_.js +0 -1
  1301. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CbVoyx1U.js +0 -26
  1302. package/codeyam-cli/src/webserver/build/client/assets/circle-check-D1VOYveA.js +0 -1
  1303. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-YR8jjAlu.js +0 -1
  1304. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B8vP3V_s.js +0 -1
  1305. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CN6aLCT1.js +0 -16
  1306. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DA5Jeu2P.js +0 -1
  1307. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BTeitalf.js +0 -5
  1308. package/codeyam-cli/src/webserver/build/client/assets/entry.client-du6UEYD-.js +0 -13
  1309. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-BpjkhMoi.js +0 -1
  1310. package/codeyam-cli/src/webserver/build/client/assets/files-BQGvk4lJ.js +0 -1
  1311. package/codeyam-cli/src/webserver/build/client/assets/git-DVdYRT-I.js +0 -12
  1312. package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.css +0 -1
  1313. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  1314. package/codeyam-cli/src/webserver/build/client/assets/index-DCG-vks0.js +0 -1
  1315. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-GazdNeLl.js +0 -1
  1316. package/codeyam-cli/src/webserver/build/client/assets/manifest-0b694d28.js +0 -1
  1317. package/codeyam-cli/src/webserver/build/client/assets/root-D3tQP7hx.js +0 -16
  1318. package/codeyam-cli/src/webserver/build/client/assets/search-CIY6XmtE.js +0 -1
  1319. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  1320. package/codeyam-cli/src/webserver/build/client/assets/settings-CoMDgElu.js +0 -1
  1321. package/codeyam-cli/src/webserver/build/client/assets/simulations-agkniXp2.js +0 -1
  1322. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B2VUcygF.js +0 -1
  1323. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-3pmpUQB-.js +0 -2
  1324. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-EvdK-zXP.js +0 -1
  1325. package/codeyam-cli/src/webserver/build/server/assets/index-DGVHQEXD.js +0 -1
  1326. package/codeyam-cli/src/webserver/build/server/assets/server-build-CghkTkIL.js +0 -166
  1327. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  1328. package/codeyam-cli/templates/debug-command.md +0 -303
  1329. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1330. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1331. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -136
  1332. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1333. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -220
  1334. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1335. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -241
  1336. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1337. package/packages/ai/src/lib/isFrontend.js +0 -5
  1338. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1339. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1340. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1341. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -72
  1342. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1343. package/scripts/finalize-analyzer.cjs +0 -79
  1344. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  1345. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  1346. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  1347. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  1348. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
  1349. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  1350. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  1351. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -4,19 +4,27 @@ import { awsLog, awsLogDebugLevel } from '~codeyam/utils';
4
4
  import measureAndReportExecutionTime from '../../../utils/measureAndReportExecutionTime';
5
5
 
6
6
  import {
7
+ deduplicateFunctionSchemas,
8
+ detectWrapperRequirements,
7
9
  fillInDirectSchemaGapsAndUnknowns,
8
10
  generateEntityDataStructure,
9
- deduplicateFunctionSchemas,
11
+ getConditionalUsages,
10
12
  getEquivalentSignatureVariables,
11
13
  getFunctionSignature,
12
14
  getReturnValue,
13
15
  getSourceEquivalencies,
14
16
  getUsageEquivalencies,
15
- getConditionalUsages,
16
- detectWrapperRequirements,
17
+ getConditionalEffects,
18
+ getCompoundConditionals,
19
+ getChildBoundaryGatingConditions,
20
+ getJsxRenderingUsages,
21
+ skipWorkerPool,
17
22
  } from '~codeyam/ai';
18
23
  import type { AnalysisOptions } from '../analyzeEntities';
19
24
 
25
+ // Set to true to process entities one at a time for easier debugging.
26
+ const DEBUG_SEQUENTIAL_EXECUTION = false;
27
+
20
28
  // VERSION MARKER: server-only-detection-v2 (2025-12-28)
21
29
  // This version includes automatic detection of "use server" and "server-only" files
22
30
  // and runs server-only detection even for cached entities
@@ -31,263 +39,268 @@ export default async function prepareEntityDataStructures(
31
39
  projectAnalyzer: ProjectAnalyzer,
32
40
  options: AnalysisOptions,
33
41
  ): Promise<void> {
34
- console.log(
35
- 'CodeYam: prepareEntityDataStructures RUNNING (server-only-detection-v3)',
36
- );
37
- console.log(
38
- `CodeYam: prepareEntityDataStructures processing ${allEntities.size} entities`,
39
- );
40
-
41
- // Log all entity names for debugging
42
- const entityNames = Array.from(allEntities).map((e) => e.name);
43
- console.log(
44
- `CodeYam: prepareEntityDataStructures entity names: ${entityNames.join(', ')}`,
45
- );
46
-
47
- // Process entities in parallel for speed
48
- await Promise.all(
49
- Array.from(allEntities).map(async (entity) => {
50
- // Check if already has cached data structure (unless force is set)
51
- const hasCache = !!entity.metadata?.isolatedDataStructure;
52
- const shouldRegenerateDataStructure =
53
- !hasCache || options.force || options.forceAll;
54
-
55
- // PHASE 1: Generate data structure (only for non-cached entities or when forced)
56
- // Wrapped in its own try-catch so PHASE 2 always runs even if this fails
57
- if (shouldRegenerateDataStructure) {
58
- try {
59
- const fileAnalyzer = projectAnalyzer.getFileAnalyzerByPath(
60
- entity.resolvedFilePath ?? entity.filePath,
42
+ const processEntity = async (entity: Entity) => {
43
+ // Check if already has cached data structure (unless force is set)
44
+ const hasCache = !!entity.metadata?.isolatedDataStructure;
45
+ const shouldRegenerateDataStructure =
46
+ !hasCache || options.force || options.forceAll;
47
+
48
+ // PHASE 1: Generate data structure (only for non-cached entities or when forced)
49
+ // Wrapped in its own try-catch so PHASE 2 always runs even if this fails
50
+ if (shouldRegenerateDataStructure) {
51
+ try {
52
+ const fileAnalyzer = projectAnalyzer.getFileAnalyzerByPath(
53
+ entity.resolvedFilePath ?? entity.filePath,
54
+ );
55
+ if (!fileAnalyzer) {
56
+ awsLog(
57
+ `CodeYam: prepareEntityDataStructures: FileAnalyzer not found`,
58
+ {
59
+ entityFilePath: entity.filePath,
60
+ entityName: entity.name,
61
+ },
61
62
  );
62
- if (!fileAnalyzer) {
63
- awsLog(
64
- `CodeYam: prepareEntityDataStructures: FileAnalyzer not found`,
65
- {
66
- entityFilePath: entity.filePath,
67
- entityName: entity.name,
68
- },
69
- );
63
+ // Still continue to PHASE 2 for server-only detection
64
+ } else {
65
+ const dataStructureInfo =
66
+ await getEntityDataStructureAndFunctionCalls({
67
+ entity,
68
+ fileAnalyzer,
69
+ });
70
+
71
+ if (!dataStructureInfo?.isolatedDataStructure) {
72
+ // Data structure generation failed - entity will proceed with empty schemas
73
+ // This is okay - the entity can still be analyzed, just without detailed type info
74
+ if (['visual', 'library'].includes(entity.entityType)) {
75
+ // we'd really expect these to have data structures
76
+ awsLog(
77
+ `CodeYam: prepareEntityDataStructures: Failed to generate data structure for ${entity.filePath}:${entity.name}`,
78
+ );
79
+ }
70
80
  // Still continue to PHASE 2 for server-only detection
71
81
  } else {
72
- const dataStructureInfo =
73
- await getEntityDataStructureAndFunctionCalls({
74
- entity,
75
- fileAnalyzer,
76
- });
77
-
78
- if (!dataStructureInfo?.isolatedDataStructure) {
79
- // Data structure generation failed - entity will proceed with empty schemas
80
- // This is okay - the entity can still be analyzed, just without detailed type info
81
- if (['visual', 'library'].includes(entity.entityType)) {
82
- // we'd really expect these to have data structures
83
- awsLog(
84
- `CodeYam: prepareEntityDataStructures: Failed to generate data structure for ${entity.filePath}:${entity.name}`,
85
- );
82
+ const { isolatedDataStructure, functionCalls, callVariableNames } =
83
+ dataStructureInfo;
84
+
85
+ // Store data structure in entity metadata
86
+ entity.metadata ||= {};
87
+
88
+ // Deep clone dependencySchemas to avoid shared references
89
+ // We need to clone because getReturnValue() returns direct references to schema objects
90
+ // and multiple entities might reference the same dependency
91
+ const clonedDependencySchemas: typeof isolatedDataStructure.dependencySchemas =
92
+ {};
93
+ for (const filePath in isolatedDataStructure.dependencySchemas) {
94
+ clonedDependencySchemas[filePath] = {};
95
+ for (const entityName in isolatedDataStructure.dependencySchemas[
96
+ filePath
97
+ ]) {
98
+ const depSchema =
99
+ isolatedDataStructure.dependencySchemas[filePath][entityName];
100
+ clonedDependencySchemas[filePath][entityName] = {
101
+ signatureSchema: { ...depSchema.signatureSchema },
102
+ returnValueSchema: { ...depSchema.returnValueSchema },
103
+ usageEquivalencies: depSchema.usageEquivalencies,
104
+ sourceEquivalencies: depSchema.sourceEquivalencies,
105
+ };
86
106
  }
87
- // Still continue to PHASE 2 for server-only detection
88
- } else {
89
- const {
90
- isolatedDataStructure,
91
- functionCalls,
92
- callVariableNames,
93
- } = dataStructureInfo;
94
-
95
- // Store data structure in entity metadata
96
- entity.metadata ||= {};
97
-
98
- // Deep clone dependencySchemas to avoid shared references
99
- // We need to clone because getReturnValue() returns direct references to schema objects
100
- // and multiple entities might reference the same dependency
101
- const clonedDependencySchemas: typeof isolatedDataStructure.dependencySchemas =
102
- {};
103
- for (const filePath in isolatedDataStructure.dependencySchemas) {
104
- clonedDependencySchemas[filePath] = {};
105
- for (const entityName in isolatedDataStructure
106
- .dependencySchemas[filePath]) {
107
- const depSchema =
108
- isolatedDataStructure.dependencySchemas[filePath][
109
- entityName
110
- ];
111
- clonedDependencySchemas[filePath][entityName] = {
112
- signatureSchema: { ...depSchema.signatureSchema },
113
- returnValueSchema: { ...depSchema.returnValueSchema },
114
- usageEquivalencies: depSchema.usageEquivalencies,
115
- sourceEquivalencies: depSchema.sourceEquivalencies,
116
- };
117
- }
107
+ }
108
+
109
+ // LOGGING: Track dependencySchemas entity names for debugging :: format issues
110
+ const allEntityNames: string[] = [];
111
+ for (const filePath in clonedDependencySchemas) {
112
+ for (const entityName in clonedDependencySchemas[filePath]) {
113
+ allEntityNames.push(`${filePath}:${entityName}`);
118
114
  }
115
+ }
116
+ entity.metadata.isolatedDataStructure = {
117
+ signatureSchema: deduplicateFunctionSchemas(
118
+ isolatedDataStructure.signatureSchema,
119
+ ),
120
+ returnValueSchema: deduplicateFunctionSchemas(
121
+ isolatedDataStructure.returnValueSchema,
122
+ ),
123
+ equivalentSignatureVariables:
124
+ isolatedDataStructure.equivalentSignatureVariables,
125
+ dependencySchemas: clonedDependencySchemas,
126
+ environmentVariables: isolatedDataStructure.environmentVariables,
127
+ // Use enriched conditional usages with source tracing from analysis
128
+ conditionalUsages: isolatedDataStructure.conditionalUsages,
129
+ // Include conditional effects for execution flow generation
130
+ conditionalEffects: isolatedDataStructure.conditionalEffects,
131
+ // Include compound conditionals for complete execution flow generation
132
+ compoundConditionals: isolatedDataStructure.compoundConditionals,
133
+ // Include root entity's equivalencies for merge step
134
+ usageEquivalencies: isolatedDataStructure.usageEquivalencies,
135
+ sourceEquivalencies: isolatedDataStructure.sourceEquivalencies,
136
+ // Include child boundary gating conditions for child component flow merging
137
+ childBoundaryGatingConditions:
138
+ isolatedDataStructure.childBoundaryGatingConditions,
139
+ // Include JSX rendering usages for array size and text length flow generation
140
+ jsxRenderingUsages: isolatedDataStructure.jsxRenderingUsages,
141
+ };
142
+
143
+ // Detect wrapper requirements (Context providers, etc.)
144
+ const wrapperRequirements = detectWrapperRequirements({
145
+ entity,
146
+ fileAnalyzer,
147
+ });
148
+ if (wrapperRequirements.length > 0) {
149
+ entity.metadata.wrapperRequirements = wrapperRequirements;
150
+ }
119
151
 
120
- entity.metadata.isolatedDataStructure = {
121
- signatureSchema: deduplicateFunctionSchemas(
122
- isolatedDataStructure.signatureSchema,
123
- ),
124
- returnValueSchema: deduplicateFunctionSchemas(
125
- isolatedDataStructure.returnValueSchema,
126
- ),
127
- equivalentSignatureVariables:
128
- isolatedDataStructure.equivalentSignatureVariables,
129
- dependencySchemas: clonedDependencySchemas,
130
- environmentVariables:
131
- isolatedDataStructure.environmentVariables,
132
- // Use enriched conditional usages with source tracing from analysis
133
- conditionalUsages: isolatedDataStructure.conditionalUsages,
134
- };
135
-
136
- // Detect wrapper requirements (Context providers, etc.)
137
- const wrapperRequirements = detectWrapperRequirements({
138
- entity,
139
- fileAnalyzer,
140
- });
141
- if (wrapperRequirements.length > 0) {
142
- entity.metadata.wrapperRequirements = wrapperRequirements;
152
+ // Annotate imported exports with function call information
153
+ const importedExports = entity.metadata.importedExports ?? [];
154
+ for (const importedExport of importedExports) {
155
+ const relevantCalls = functionCalls[importedExport.name];
156
+ if (relevantCalls) {
157
+ importedExport.calls = relevantCalls;
143
158
  }
159
+ const relevantVariableNames =
160
+ callVariableNames[importedExport.name];
161
+ if (relevantVariableNames) {
162
+ importedExport.callVariableNames = relevantVariableNames;
163
+ }
164
+ }
144
165
 
145
- // Annotate imported exports with function call information
146
- const importedExports = entity.metadata.importedExports ?? [];
147
- for (const importedExport of importedExports) {
148
- const relevantCalls = functionCalls[importedExport.name];
166
+ // Annotate node module imports with function call information
167
+ for (const [path, infos] of Object.entries(
168
+ entity.metadata.nodeModuleImports ?? {},
169
+ )) {
170
+ for (const info of infos) {
171
+ const relevantCalls = functionCalls[info.name];
149
172
  if (relevantCalls) {
150
- importedExport.calls = relevantCalls;
173
+ info.calls = relevantCalls;
151
174
  }
152
- const relevantVariableNames =
153
- callVariableNames[importedExport.name];
175
+ const relevantVariableNames = callVariableNames[info.name];
154
176
  if (relevantVariableNames) {
155
- importedExport.callVariableNames = relevantVariableNames;
156
- }
157
- }
158
-
159
- // Annotate node module imports with function call information
160
- for (const [path, infos] of Object.entries(
161
- entity.metadata.nodeModuleImports ?? {},
162
- )) {
163
- for (const info of infos) {
164
- const relevantCalls = functionCalls[info.name];
165
- if (relevantCalls) {
166
- info.calls = relevantCalls;
167
- }
168
- const relevantVariableNames = callVariableNames[info.name];
169
- if (relevantVariableNames) {
170
- info.callVariableNames = relevantVariableNames;
171
- }
177
+ info.callVariableNames = relevantVariableNames;
172
178
  }
173
179
  }
174
180
  }
175
181
  }
176
- } catch (phase1Error) {
177
- console.warn(
178
- `CodeYam: prepareEntityDataStructures: PHASE 1 error for ${entity.filePath}:${entity.name}:`,
179
- phase1Error,
180
- );
181
- // Continue to PHASE 2 - server-only detection should still run
182
182
  }
183
- }
184
-
185
- try {
186
- // PHASE 2: Server-only detection and isMocked determination
187
- // This runs for ALL entities, even those with cached data structures
188
- // because server-only detection may have been added after the entity was cached
189
- const importedExports = entity.metadata?.importedExports ?? [];
190
- console.log(
191
- `CodeYam: [${entity.name}] Processing ${importedExports.length} importedExports for isMocked determination (cached: ${hasCache})`,
183
+ } catch (phase1Error) {
184
+ console.warn(
185
+ `CodeYam: prepareEntityDataStructures: PHASE 1 error for ${entity.filePath}:${entity.name}:`,
186
+ phase1Error,
192
187
  );
188
+ // Continue to PHASE 2 - server-only detection should still run
189
+ }
190
+ }
193
191
 
194
- const mockedDependencies = determineMockedDependencies(entity);
195
- for (const importedExport of importedExports) {
196
- // Skip if already has a definitive isMocked value (true or false, not null)
197
- // But re-check if isMocked is null or undefined - this handles previously cached entities
198
- if (
199
- importedExport.isMocked === true ||
200
- importedExport.isMocked === false
201
- ) {
202
- console.log(
203
- `CodeYam: [${entity.name}] SKIP ${importedExport.name} - already has isMocked=${importedExport.isMocked}`,
204
- );
205
- continue;
206
- }
207
-
208
- // Never mock visual components - they render UI and should use real implementation
209
- if (importedExport.entityType === 'visual') {
210
- console.log(
211
- `CodeYam: [${entity.name}] SKIP ${importedExport.name} - visual component, setting isMocked=false`,
212
- );
213
- importedExport.isMocked = false;
214
- continue;
215
- }
216
-
217
- // Always mock imports from server-only files ("use server" or import "server-only")
218
- // These files contain Server Actions or server-only code that cannot run on the client
219
- const importedFilePath =
220
- importedExport.resolvedFilePath ?? importedExport.filePath;
221
- const importedFileAnalyzer =
222
- projectAnalyzer.getFileAnalyzerByPath(importedFilePath);
223
- // Use sourceFile.getText() which is always available, unlike file.content which is lazy-loaded
224
- const importedFileContent =
225
- importedFileAnalyzer?.sourceFile?.getText();
226
-
227
- const isServerOnly = importedFileContent
228
- ? isServerOnlyFile(importedFileContent)
229
- : false;
230
- console.log(
231
- `CodeYam: [${entity.name}] CHECK ${importedExport.name} from ${importedFilePath}:`,
232
- {
233
- hasFileAnalyzer: !!importedFileAnalyzer,
234
- hasSourceFile: !!importedFileAnalyzer?.sourceFile,
235
- hasFileContent: !!importedFileContent,
236
- contentFirst50Chars: importedFileContent
237
- ?.substring(0, 50)
238
- ?.replace(/\n/g, '\\n'),
239
- isServerOnly,
240
- },
241
- );
192
+ try {
193
+ // PHASE 2: Server-only detection and isMocked determination
194
+ // This runs for ALL entities, even those with cached data structures
195
+ // because server-only detection may have been added after the entity was cached
196
+ const importedExports = entity.metadata?.importedExports ?? [];
197
+ const mockedDependencies = determineMockedDependencies(entity);
198
+ for (const importedExport of importedExports) {
199
+ // Skip if already has a definitive isMocked value (true or false, not null)
200
+ // But re-check if isMocked is null or undefined - this handles previously cached entities
201
+ if (
202
+ importedExport.isMocked === true ||
203
+ importedExport.isMocked === false
204
+ ) {
205
+ continue;
206
+ }
242
207
 
243
- if (importedFileContent && isServerOnly) {
244
- console.log(
245
- `CodeYam: [${entity.name}] ✓ MARKING ${importedExport.name} as isMocked=true (server-only file detected)`,
246
- );
247
- importedExport.isMocked = true;
248
- continue;
249
- }
208
+ // Never mock visual components - they render UI and should use real implementation
209
+ if (importedExport.entityType === 'visual') {
210
+ importedExport.isMocked = false;
211
+ continue;
212
+ }
250
213
 
251
- const matchesMockedDep = mockedDependencies.some(
252
- (dep) =>
253
- dep.filePath === importedExport.filePath &&
254
- dep.entityName === importedExport.name,
255
- );
256
- importedExport.isMocked = matchesMockedDep;
257
- console.log(
258
- `CodeYam: [${entity.name}] ${importedExport.name} isMocked=${matchesMockedDep} (from mockedDependencies)`,
259
- );
214
+ // Always mock imports from server-only files ("use server" or import "server-only")
215
+ // These files contain Server Actions or server-only code that cannot run on the client
216
+ const importedFilePath =
217
+ importedExport.resolvedFilePath ?? importedExport.filePath;
218
+ const importedFileAnalyzer =
219
+ projectAnalyzer.getFileAnalyzerByPath(importedFilePath);
220
+ // Use sourceFile.getText() which is always available, unlike file.content which is lazy-loaded
221
+ const importedFileContent = importedFileAnalyzer?.sourceFile?.getText();
222
+
223
+ const isServerOnly = importedFileContent
224
+ ? isServerOnlyFile(importedFileContent)
225
+ : false;
226
+
227
+ if (importedFileContent && isServerOnly) {
228
+ importedExport.isMocked = true;
229
+ continue;
260
230
  }
261
231
 
262
- // Browser globals that should always be mocked (they make network calls)
263
- const alwaysMockedBrowserGlobals = ['fetch', 'EventSource'];
264
-
265
- for (const [path, infos] of Object.entries(
266
- entity.metadata?.nodeModuleImports ?? {},
267
- )) {
268
- for (const info of infos) {
269
- if (info.isMocked === undefined || info.isMocked === null) {
270
- // Browser globals should always be mocked
271
- if (alwaysMockedBrowserGlobals.includes(path)) {
272
- info.isMocked = true;
273
- } else {
274
- info.isMocked = mockedDependencies.some(
275
- (dep) =>
276
- dep.filePath === path && dep.entityName === info.name,
277
- );
278
- }
232
+ const matchesMockedDep = mockedDependencies.some(
233
+ (dep) =>
234
+ dep.filePath === importedExport.filePath &&
235
+ dep.entityName === importedExport.name,
236
+ );
237
+ importedExport.isMocked = matchesMockedDep;
238
+ }
239
+
240
+ // Browser globals that should always be mocked (they make network calls)
241
+ const alwaysMockedBrowserGlobals = ['fetch', 'EventSource'];
242
+
243
+ for (const [path, infos] of Object.entries(
244
+ entity.metadata?.nodeModuleImports ?? {},
245
+ )) {
246
+ for (const info of infos) {
247
+ if (info.isMocked === undefined || info.isMocked === null) {
248
+ // Browser globals should always be mocked
249
+ if (alwaysMockedBrowserGlobals.includes(path)) {
250
+ info.isMocked = true;
251
+ } else {
252
+ // Check if this dependency should be mocked
253
+ // Match both exact entityName and variable-qualified entityNames
254
+ // e.g., "useFetcher" matches "useFetcher" OR "useFetcher::userFetcher"
255
+ info.isMocked = mockedDependencies.some(
256
+ (dep) =>
257
+ dep.filePath === path &&
258
+ (dep.entityName === info.name ||
259
+ dep.entityName.startsWith(info.name + '::')),
260
+ );
279
261
  }
280
262
  }
281
263
  }
282
- } catch (error) {
283
- console.warn(
284
- `CodeYam: prepareEntityDataStructures: Error preparing ${entity.filePath}:${entity.name}:`,
285
- error,
286
- );
287
- // Continue with other entities - this one will have empty schemas
288
264
  }
289
- }),
290
- );
265
+ } catch (error) {
266
+ console.warn(
267
+ `CodeYam: prepareEntityDataStructures: Error preparing ${entity.filePath}:${entity.name}:`,
268
+ error,
269
+ );
270
+ // Continue with other entities - this one will have empty schemas
271
+ }
272
+ };
273
+
274
+ const entities = Array.from(allEntities);
275
+
276
+ // The worker thread creates its own ProjectAnalyzer (ts.Program) on first use,
277
+ // which takes 50-70s. For small entity counts the overhead far exceeds the actual
278
+ // processing time (<2s). Skip the worker and run on the main thread instead,
279
+ // reusing the existing ProjectAnalyzer.
280
+ const entitiesNeedingGeneration = entities.filter(
281
+ (e) =>
282
+ !e.metadata?.isolatedDataStructure || options.force || options.forceAll,
283
+ ).length;
284
+ const WORKER_ENTITY_THRESHOLD = 500;
285
+ if (entitiesNeedingGeneration < WORKER_ENTITY_THRESHOLD) {
286
+ console.log(
287
+ `CodeYam: Skipping worker thread for DS prep (${entitiesNeedingGeneration} entities < ${WORKER_ENTITY_THRESHOLD} threshold)`,
288
+ );
289
+ skipWorkerPool();
290
+ }
291
+
292
+ const sequential =
293
+ DEBUG_SEQUENTIAL_EXECUTION || options.sequentialDataStructurePrep;
294
+
295
+ if (sequential) {
296
+ // Sequential execution for debugging - process one entity at a time
297
+ for (const entity of entities) {
298
+ await processEntity(entity);
299
+ }
300
+ } else {
301
+ // Parallel execution for speed
302
+ await Promise.all(entities.map(processEntity));
303
+ }
291
304
  }
292
305
 
293
306
  /**
@@ -337,19 +350,33 @@ async function getEntityDataStructureAndFunctionCalls({
337
350
  functionName: importedExport.name,
338
351
  });
339
352
 
340
- // If no signature found, this function doesn't exist in the analysis
341
- if (!signatureSchema) {
342
- return acc;
343
- }
344
-
345
353
  const returnValueSchema = getReturnValue(dataStructure, {
346
354
  functionName: importedExport.name,
347
355
  });
348
356
 
357
+ // If neither signature nor return value found, check if this function has matching
358
+ // external function calls. External functions (like useLoaderData from react-router)
359
+ // don't have entries in functionResults, so getReturnValue returns null for them.
360
+ // But their return values ARE traced in externalFunctionCalls via perVariableSchemas.
361
+ // We need to check for matching calls before skipping.
362
+ if (!signatureSchema && !returnValueSchema) {
363
+ const hasMatchingExternalCall =
364
+ dataStructure.externalFunctionCalls?.some(
365
+ (fc) =>
366
+ fc.name === importedExport.name ||
367
+ fc.name.startsWith(importedExport.name + '<'),
368
+ );
369
+
370
+ // Only skip if there are no matching external function calls
371
+ if (!hasMatchingExternalCall) {
372
+ return acc;
373
+ }
374
+ }
375
+
349
376
  // Clone schemas before deduplication to avoid mutating shared references
350
377
  // getReturnValue() and getFunctionSignature() return direct references, so we need
351
378
  // to clone them before passing to deduplicateFunctionSchemas (which may mutate)
352
- const clonedSignatureSchema = { ...signatureSchema };
379
+ const clonedSignatureSchema = { ...(signatureSchema ?? {}) };
353
380
  const clonedReturnValueSchema = { ...(returnValueSchema ?? {}) };
354
381
 
355
382
  acc[importedExport.filePath] ||= {};
@@ -362,6 +389,170 @@ async function getEntityDataStructureAndFunctionCalls({
362
389
  getSourceEquivalencies(dataStructure, importedExport.name) ?? {},
363
390
  };
364
391
 
392
+ // Also create variable-qualified entries to preserve distinct return type schemas
393
+ // when the same function is called multiple times with different type parameters
394
+ // (e.g., useFetcher<UserData>() vs useFetcher<ReportData>()).
395
+ //
396
+ // Each parameterized call is a SEPARATE entry in externalFunctionCalls, so we need
397
+ // to iterate over ALL matching calls (not just the first one).
398
+ const matchingCalls = dataStructure.externalFunctionCalls.filter(
399
+ (fc) =>
400
+ fc.name === importedExport.name ||
401
+ fc.name.startsWith(importedExport.name + '<'),
402
+ );
403
+
404
+ for (const efc of matchingCalls) {
405
+ // Check if this call has perVariableSchemas (multiple calls with variable tracking)
406
+ if (efc?.perVariableSchemas) {
407
+ // Check if perVariableSchemas has indexed keys (e.g., "fetcher[1]") which indicates
408
+ // variable reuse with DIFFERENT call signatures (e.g., let fetcher = useFetcher<A>(); fetcher = useFetcher<B>();)
409
+ // In this case, we need to create SEPARATE entries for each call signature.
410
+ const perVarKeys = Object.keys(efc.perVariableSchemas);
411
+ const hasIndexedKeys = perVarKeys.some((key) => /\[\d+\]$/.test(key));
412
+
413
+ if (
414
+ hasIndexedKeys &&
415
+ efc.callSignatureToVariable &&
416
+ efc.allCallSignatures
417
+ ) {
418
+ // Variable reuse case: create separate entries for each call signature
419
+ // Map from call signature to its variable key in perVariableSchemas
420
+ // e.g., useFetcher<ConfigData>() -> 'fetcher', useFetcher<SettingsData>() -> 'fetcher[1]'
421
+ const varNameCounts: Record<string, number> = {};
422
+ for (const callSig of efc.allCallSignatures) {
423
+ const varName = efc.callSignatureToVariable[callSig];
424
+ if (!varName) continue;
425
+
426
+ // Track occurrence count for this variable name
427
+ const occurrence = varNameCounts[varName] ?? 0;
428
+ varNameCounts[varName] = occurrence + 1;
429
+
430
+ // Get the key in perVariableSchemas (indexed if reused)
431
+ const perVarKey =
432
+ occurrence === 0 ? varName : `${varName}[${occurrence}]`;
433
+ const varSchema = efc.perVariableSchemas[perVarKey];
434
+
435
+ if (varSchema && Object.keys(varSchema).length > 0) {
436
+ // Create entry with this call signature as the key
437
+ const rewrittenSchema: Record<string, string> = {};
438
+ rewrittenSchema[`${callSig}.functionCallReturnValue`] =
439
+ 'object';
440
+
441
+ for (const [path, type] of Object.entries(varSchema)) {
442
+ const rewrittenPath = path.startsWith(callSig)
443
+ ? path
444
+ : `${callSig}.${path}`;
445
+ rewrittenSchema[rewrittenPath] = type;
446
+ }
447
+
448
+ acc[importedExport.filePath][callSig] = {
449
+ signatureSchema: deduplicateFunctionSchemas({
450
+ ...signatureSchema,
451
+ }),
452
+ returnValueSchema:
453
+ deduplicateFunctionSchemas(rewrittenSchema),
454
+ usageEquivalencies:
455
+ getUsageEquivalencies(dataStructure, importedExport.name) ??
456
+ {},
457
+ sourceEquivalencies:
458
+ getSourceEquivalencies(
459
+ dataStructure,
460
+ importedExport.name,
461
+ ) ?? {},
462
+ };
463
+ }
464
+ }
465
+ } else {
466
+ // Destructuring case: const { a, b, c } = useLoaderData()
467
+ // Merge all variable schemas into a single entry with the call signature as key
468
+ const callSignatureKey = efc.callSignature;
469
+
470
+ // Merge all variable schemas by prepending the call signature to each path.
471
+ // perVariableSchemas paths are like "functionCallReturnValue.entities.sha"
472
+ // We need to prefix them with the call signature to get:
473
+ // "useLoaderData<typeof loader>().functionCallReturnValue.entities.sha"
474
+ const mergedReturnValueSchema: Record<string, string> = {};
475
+
476
+ // Set the top-level return value as object since it contains named properties
477
+ mergedReturnValueSchema[
478
+ `${callSignatureKey}.functionCallReturnValue`
479
+ ] = 'object';
480
+
481
+ for (const [varName, perVarSchema] of Object.entries(
482
+ efc.perVariableSchemas,
483
+ )) {
484
+ for (const [path, type] of Object.entries(perVarSchema)) {
485
+ // Only prepend the call signature if the path doesn't already have it.
486
+ // perVariableSchemas paths may already include the call signature prefix
487
+ // (e.g., "useCustomSizes(projectSlug).functionCallReturnValue.customSizes")
488
+ // depending on how they were built. If so, use the path as-is.
489
+ const rewrittenPath = path.startsWith(callSignatureKey)
490
+ ? path
491
+ : `${callSignatureKey}.${path}`;
492
+ mergedReturnValueSchema[rewrittenPath] = type;
493
+ }
494
+ }
495
+
496
+ acc[importedExport.filePath][callSignatureKey] = {
497
+ signatureSchema: deduplicateFunctionSchemas({
498
+ ...signatureSchema,
499
+ }),
500
+ returnValueSchema: deduplicateFunctionSchemas(
501
+ mergedReturnValueSchema,
502
+ ),
503
+ usageEquivalencies:
504
+ getUsageEquivalencies(dataStructure, importedExport.name) ?? {},
505
+ sourceEquivalencies:
506
+ getSourceEquivalencies(dataStructure, importedExport.name) ??
507
+ {},
508
+ };
509
+ }
510
+ } else if (efc?.receivingVariableNames?.length === 1) {
511
+ // For parameterized calls like useFetcher<UserData>(), each is a separate entry
512
+ // with a single receivingVariableName. Use the call signature as the key.
513
+ const varName = efc.receivingVariableNames[0];
514
+
515
+ // Use the call signature as the key (e.g., "useFetcher<UserData>()")
516
+ const callSignatureKey = efc.callSignature;
517
+
518
+ // PREFER perVariableSchemas over getReturnValue() when available
519
+ // perVariableSchemas has the SPECIFIC schema for this parameterized call,
520
+ // while getReturnValue() may return merged schemas from multiple calls
521
+ let parameterizedReturnValue: Record<string, string> | null = null;
522
+
523
+ if (efc.perVariableSchemas && efc.perVariableSchemas[varName]) {
524
+ // Use the specific schema from perVariableSchemas
525
+ parameterizedReturnValue = efc.perVariableSchemas[varName] ?? null;
526
+ }
527
+
528
+ // Fallback to getReturnValue if perCallSignatureSchemas not available
529
+ if (!parameterizedReturnValue) {
530
+ parameterizedReturnValue = getReturnValue(dataStructure, {
531
+ functionName: efc.name, // Use the full parameterized name
532
+ });
533
+ }
534
+
535
+ if (
536
+ parameterizedReturnValue &&
537
+ Object.keys(parameterizedReturnValue).length > 0
538
+ ) {
539
+ acc[importedExport.filePath][callSignatureKey] = {
540
+ signatureSchema: deduplicateFunctionSchemas({
541
+ ...signatureSchema,
542
+ }),
543
+ returnValueSchema: deduplicateFunctionSchemas({
544
+ ...parameterizedReturnValue,
545
+ }),
546
+ usageEquivalencies:
547
+ getUsageEquivalencies(dataStructure, importedExport.name) ?? {},
548
+ sourceEquivalencies:
549
+ getSourceEquivalencies(dataStructure, importedExport.name) ??
550
+ {},
551
+ };
552
+ }
553
+ }
554
+ }
555
+
365
556
  return acc;
366
557
  },
367
558
  {} as {
@@ -382,6 +573,42 @@ async function getEntityDataStructureAndFunctionCalls({
382
573
  },
383
574
  );
384
575
 
576
+ // Add same-file child components to dependencySchemas.
577
+ // Same-file components (e.g., AgentCard defined in the same file as AgentTranscriptsPage)
578
+ // appear in externalFunctionCalls and functionResults but NOT in importedExports or
579
+ // nodeModuleImports. Without this, their signatures are missing from dependencySchemas
580
+ // and enrichArrayTypesFromChildSignatures can't find child component field accesses.
581
+ const allDependencyNames = new Set(allDependencies.map((d) => d.name));
582
+
583
+ for (const efc of dataStructure.externalFunctionCalls) {
584
+ // Skip if already covered by importedExports or nodeModuleImports
585
+ if (allDependencyNames.has(efc.name)) continue;
586
+
587
+ const signatureSchema = getFunctionSignature(dataStructure, {
588
+ functionName: efc.name,
589
+ });
590
+
591
+ const returnValueSchema = getReturnValue(dataStructure, {
592
+ functionName: efc.name,
593
+ });
594
+
595
+ // Only add if we have signature or return value data
596
+ if (!signatureSchema && !returnValueSchema) continue;
597
+
598
+ const clonedSignatureSchema = { ...(signatureSchema ?? {}) };
599
+ const clonedReturnValueSchema = { ...(returnValueSchema ?? {}) };
600
+
601
+ const entityFilePath = entity.filePath;
602
+ dependencySchemas[entityFilePath] ||= {};
603
+ dependencySchemas[entityFilePath][efc.name] = {
604
+ signatureSchema: deduplicateFunctionSchemas(clonedSignatureSchema),
605
+ returnValueSchema: deduplicateFunctionSchemas(clonedReturnValueSchema),
606
+ usageEquivalencies: getUsageEquivalencies(dataStructure, efc.name) ?? {},
607
+ sourceEquivalencies:
608
+ getSourceEquivalencies(dataStructure, efc.name) ?? {},
609
+ };
610
+ }
611
+
385
612
  const rawReturnValue =
386
613
  getReturnValue(dataStructure, { fillInUnknowns: false }) ?? {};
387
614
 
@@ -394,15 +621,54 @@ async function getEntityDataStructureAndFunctionCalls({
394
621
  // Get enriched conditional usages with source tracing
395
622
  const conditionalUsages = getConditionalUsages(dataStructure);
396
623
 
624
+ // Get conditional effects (setter calls inside conditionals)
625
+ const conditionalEffects = getConditionalEffects(dataStructure);
626
+
627
+ // Get compound conditionals (grouped conditions that must all be true)
628
+ const compoundConditionals = getCompoundConditionals(dataStructure);
629
+ const rawUsageEquivalencies = getUsageEquivalencies(dataStructure);
630
+ const rawSourceEquivalencies = getSourceEquivalencies(dataStructure);
631
+
632
+ // Get child boundary gating conditions for child component flow merging
633
+ const childBoundaryGatingConditions =
634
+ getChildBoundaryGatingConditions(dataStructure);
635
+
636
+ // Get JSX rendering usages for array size and text length flow generation
637
+ const jsxRenderingUsages = getJsxRenderingUsages(dataStructure);
638
+
639
+ const equivalentSignatureVariables =
640
+ getEquivalentSignatureVariables(dataStructure);
641
+
397
642
  const isolatedDataStructure = {
398
643
  signatureSchema: deduplicateFunctionSchemas(clonedRawSignature),
399
644
  returnValueSchema: deduplicateFunctionSchemas(clonedRawReturnValue),
400
- equivalentSignatureVariables:
401
- getEquivalentSignatureVariables(dataStructure),
645
+ equivalentSignatureVariables,
402
646
  dependencySchemas,
403
647
  environmentVariables: dataStructure.environmentVariables,
404
648
  conditionalUsages:
405
649
  Object.keys(conditionalUsages).length > 0 ? conditionalUsages : undefined,
650
+ // Include conditional effects for execution flow generation
651
+ conditionalEffects:
652
+ conditionalEffects.length > 0 ? conditionalEffects : undefined,
653
+ // Include compound conditionals for complete execution flow generation
654
+ // These capture grouped conditions like (a || b) && !c && !d
655
+ compoundConditionals:
656
+ compoundConditionals.length > 0 ? compoundConditionals : undefined,
657
+ // Include root entity's equivalencies so they can be used during merge.
658
+ // These show how the parent's data flows to/from child components.
659
+ // E.g., for SurveysList, usageEquivalencies shows surveys[] → SurveyCard().signature[0].survey
660
+ usageEquivalencies: rawUsageEquivalencies ?? {},
661
+ sourceEquivalencies: rawSourceEquivalencies ?? {},
662
+ // Include child boundary gating conditions for child component flow merging
663
+ // Maps child component names to the conditions that must be true for them to render
664
+ childBoundaryGatingConditions:
665
+ Object.keys(childBoundaryGatingConditions).length > 0
666
+ ? childBoundaryGatingConditions
667
+ : undefined,
668
+ // Include JSX rendering usages for array size and text length flow generation
669
+ // These track arrays rendered via .map() and strings interpolated in JSX
670
+ jsxRenderingUsages:
671
+ jsxRenderingUsages.length > 0 ? jsxRenderingUsages : undefined,
406
672
  };
407
673
 
408
674
  const functionCalls: Record<string, string[]> = {};
@@ -415,31 +681,6 @@ async function getEntityDataStructureAndFunctionCalls({
415
681
  efc.callSignature.startsWith(entityName),
416
682
  );
417
683
 
418
- // DEBUG: Log external function calls info for useFetcher
419
- if (entityName === 'useFetcher' || entityName.includes('Fetcher')) {
420
- console.log(
421
- 'CodeYam DEBUG prepareDataStructures:',
422
- JSON.stringify(
423
- {
424
- entityName,
425
- filePath,
426
- totalExternalFunctionCalls:
427
- dataStructure.externalFunctionCalls.length,
428
- matchingCallsCount: matchingCalls.length,
429
- matchingCalls: matchingCalls.map((efc) => ({
430
- name: efc.name,
431
- callSignature: efc.callSignature,
432
- allCallSignatures: efc.allCallSignatures,
433
- receivingVariableNames: efc.receivingVariableNames,
434
- callSignatureToVariable: efc.callSignatureToVariable,
435
- })),
436
- },
437
- null,
438
- 2,
439
- ),
440
- );
441
- }
442
-
443
684
  // Collect all call signatures from all matching efc entries
444
685
  // Each efc may have just one callSignature, or allCallSignatures if merged
445
686
  const allSignatures: string[] = [];
@@ -485,6 +726,7 @@ async function getEntityDataStructureAndFunctionCalls({
485
726
  ) {
486
727
  variableNames.push(...aggregatedReceivingVariableNames);
487
728
  }
729
+
488
730
  if (variableNames.length > 0) {
489
731
  callVariableNames[entityName] = variableNames;
490
732
  }
@@ -682,9 +924,21 @@ export function determineMockedDependencies(entity: Entity) {
682
924
  // A schema with only "EntityName(): function" just indicates the entity is callable,
683
925
  // it doesn't mean there's actual return data to mock
684
926
  const hasReturnValue = hasActualReturnValueData(entityReturnValueSchema);
685
- const complexReturnValue = Object.values(
686
- entityReturnValueSchema ?? {},
687
- ).some((value) => value === 'object' || value === 'array');
927
+ // Check for complex return types (object/array), accounting for nullable types
928
+ // e.g., 'object', 'object | null', 'array | undefined' should all count as complex.
929
+ // Also detect when functionCallReturnValue has nested child properties — this
930
+ // proves it's a structured type even if its declared type is still 'unknown'.
931
+ const returnValueKeys = Object.keys(entityReturnValueSchema ?? {});
932
+ const complexReturnValue =
933
+ Object.values(entityReturnValueSchema ?? {}).some((value) => {
934
+ const baseType = value?.split(' | ')[0];
935
+ return baseType === 'object' || baseType === 'array';
936
+ }) ||
937
+ returnValueKeys.some(
938
+ (key) =>
939
+ key.includes('functionCallReturnValue.') ||
940
+ key.includes('functionCallReturnValue['),
941
+ );
688
942
 
689
943
  // Check if this is a validation function that should always be mocked
690
944
  const isValidationFn = isValidationFunction(entityName);
@@ -704,14 +958,28 @@ export function determineMockedDependencies(entity: Entity) {
704
958
  entityReturnValueSchema,
705
959
  );
706
960
 
961
+ // Check if returnValueSchema is completely empty (no traced calls at all)
962
+ // This indicates a side-effect function that we couldn't trace
963
+ const returnValueSchemaEmpty =
964
+ Object.keys(entityReturnValueSchema ?? {}).length === 0;
965
+
707
966
  const entityShouldBeMocked =
708
967
  !onlyHasJsxComponents &&
709
968
  (isValidationFn ||
710
969
  hasChainedCallsWithNoReturn ||
970
+ // If entity takes no args AND has return value, it reads from external source
971
+ // Examples: useParams(), useAuth(), getConfig()
972
+ (emptySignature && hasReturnValue) ||
973
+ // If entity takes no args AND returnValueSchema is completely empty,
974
+ // it's a side-effect function calling external services
975
+ // Examples: logPageView(), initializeAnalytics(), trackEvent()
976
+ // NOTE: We don't mock entities that have function markers but no return value
977
+ // (like React components: FileProvider() has 'function' type but no return data)
978
+ (emptySignature && returnValueSchemaEmpty) ||
711
979
  ((signatureHasFunctions || returnValueHasFunctions) &&
712
980
  hasReturnValue &&
713
- ((emptySignature && hasReturnValue) ||
714
- (!complexSignature && complexReturnValue))));
981
+ !complexSignature &&
982
+ complexReturnValue));
715
983
 
716
984
  if (entityShouldBeMocked) {
717
985
  mockedEntities.push({