@codeyam/codeyam-cli 0.1.0-staging.1669d45 → 0.1.0-staging.2a88920

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 (437) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +5 -5
  4. package/analyzer-template/packages/ai/index.ts +15 -2
  5. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +87 -51
  6. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +98 -9
  8. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +139 -23
  9. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +6 -126
  10. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +555 -28
  11. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +88 -7
  12. package/analyzer-template/packages/ai/src/lib/completionCall.ts +198 -34
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +772 -243
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +205 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +43 -1
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +122 -15
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +160 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +319 -88
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  24. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  25. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  26. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  27. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +642 -7
  28. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +35 -6
  29. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +383 -6
  30. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
  31. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1299 -51
  32. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  33. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
  34. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  35. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  36. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  37. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +23 -6
  38. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  39. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +179 -45
  40. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +26 -4
  41. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  42. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
  43. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  44. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  45. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  46. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  47. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  48. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  49. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  50. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  51. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +30 -19
  52. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -4
  53. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  54. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  55. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  56. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  57. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  58. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +189 -76
  59. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +29 -0
  60. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +77 -9
  61. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +118 -10
  62. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +276 -17
  63. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  64. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  65. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  66. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  67. package/analyzer-template/packages/aws/package.json +2 -2
  68. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -1
  69. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  70. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  71. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  72. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  73. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  74. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  75. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  76. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  77. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  78. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -1
  80. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  82. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  83. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  85. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  86. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  87. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  88. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  89. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  90. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  91. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  92. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  94. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  95. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  96. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  97. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  98. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  99. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  100. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  101. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  102. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  103. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  104. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  105. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  106. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  107. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  108. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  109. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  110. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  111. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  112. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  113. package/analyzer-template/packages/github/dist/types/index.d.ts +1 -1
  114. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  115. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  116. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +25 -1
  117. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  118. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  119. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  120. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
  121. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  122. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  123. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  124. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  125. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  126. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  127. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  128. package/analyzer-template/packages/github/package.json +1 -1
  129. package/analyzer-template/packages/types/index.ts +1 -0
  130. package/analyzer-template/packages/types/src/types/Analysis.ts +25 -0
  131. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  132. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +70 -6
  133. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  134. package/analyzer-template/packages/utils/dist/types/index.d.ts +1 -1
  135. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  136. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  137. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +25 -1
  138. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  139. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  140. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  141. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
  142. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  143. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  144. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  145. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  146. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  147. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  148. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  149. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  150. package/analyzer-template/playwright/capture.ts +20 -8
  151. package/analyzer-template/playwright/captureStatic.ts +1 -1
  152. package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
  153. package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
  154. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  155. package/analyzer-template/project/constructMockCode.ts +367 -37
  156. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  157. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  158. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  159. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  160. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  161. package/analyzer-template/project/orchestrateCapture.ts +71 -6
  162. package/analyzer-template/project/reconcileMockDataKeys.ts +152 -9
  163. package/analyzer-template/project/runAnalysis.ts +4 -0
  164. package/analyzer-template/project/start.ts +35 -11
  165. package/analyzer-template/project/writeMockDataTsx.ts +127 -4
  166. package/analyzer-template/project/writeScenarioComponents.ts +101 -8
  167. package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
  168. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
  169. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  170. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
  171. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  172. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  173. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  174. package/background/src/lib/virtualized/project/constructMockCode.js +300 -7
  175. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  176. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  177. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  178. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  179. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  180. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  181. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  182. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  183. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  184. package/background/src/lib/virtualized/project/orchestrateCapture.js +58 -6
  185. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  186. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +126 -9
  187. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  188. package/background/src/lib/virtualized/project/runAnalysis.js +3 -0
  189. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  190. package/background/src/lib/virtualized/project/start.js +32 -11
  191. package/background/src/lib/virtualized/project/start.js.map +1 -1
  192. package/background/src/lib/virtualized/project/writeMockDataTsx.js +101 -4
  193. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  194. package/background/src/lib/virtualized/project/writeScenarioComponents.js +57 -8
  195. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  196. package/codeyam-cli/src/cli.js +2 -0
  197. package/codeyam-cli/src/cli.js.map +1 -1
  198. package/codeyam-cli/src/commands/debug.js +7 -5
  199. package/codeyam-cli/src/commands/debug.js.map +1 -1
  200. package/codeyam-cli/src/commands/memory.js +273 -0
  201. package/codeyam-cli/src/commands/memory.js.map +1 -0
  202. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +4 -0
  203. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  204. package/codeyam-cli/src/utils/analysisRunner.js +21 -2
  205. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  206. package/codeyam-cli/src/utils/install-skills.js +42 -6
  207. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  208. package/codeyam-cli/src/utils/queue/job.js +1 -0
  209. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  210. package/codeyam-cli/src/utils/queue/manager.js +6 -0
  211. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  212. package/codeyam-cli/src/utils/rules/index.js +5 -0
  213. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  214. package/codeyam-cli/src/utils/rules/parser.js +106 -0
  215. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  216. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  217. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  218. package/codeyam-cli/src/utils/rules/staleness.js +132 -0
  219. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  220. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +2 -0
  221. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  222. package/codeyam-cli/src/webserver/app/lib/database.js +7 -3
  223. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  224. package/codeyam-cli/src/webserver/bootstrap.js +40 -0
  225. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  226. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-DsN1wKrm.js +11 -0
  227. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-COi5OvsN.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
  228. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BwdQv49w.js → EntityTypeIcon-Ba2JVPzP.js} +1 -1
  229. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CEleMv_j.js → InlineSpinner-C8lyxW9k.js} +1 -1
  230. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-D68KarMg.js → InteractivePreview-aht4aafF.js} +2 -2
  231. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-L75Wvqgw.js → LibraryFunctionPreview-CVtiBnY5.js} +1 -1
  232. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-C53WM8qn.js → LoadingDots-B0GLXMsr.js} +1 -1
  233. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CrNkmy4i.js → LogViewer-xgeCVgSM.js} +1 -1
  234. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-OApQuNyq.js +16 -0
  235. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CQifa1n-.js → SafeScreenshot-DuDvi0jm.js} +1 -1
  236. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-CyaBFX7l.js → ScenarioViewer-DzccYyI8.js} +3 -13
  237. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-D36O1rzU.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
  238. package/codeyam-cli/src/webserver/build/client/assets/_index-BwqWJOgH.js +11 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BwavGCpm.js +32 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  241. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  242. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  243. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-DgTPh8H-.js → chevron-down-Cx24_aWc.js} +1 -1
  244. package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-DdQKK6on.js → chunk-EPOLDU6W-CXRTFQ3F.js} +1 -1
  245. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-Dmr2bb1R.js → circle-check-BOARzkeR.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/client/assets/copy-Bb-80kDT.js +6 -0
  247. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-Do4ZLUYa.js → createLucideIcon-BdhJEx6B.js} +1 -1
  248. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BBnGWYga.js +1 -0
  249. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CbdFyxZh.js → entity._sha._-BJUiQqZF.js} +12 -12
  250. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js → entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js} +1 -1
  251. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-wDWZZO1W.js → entity._sha_.create-scenario-D1T4TGjf.js} +1 -1
  252. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMbl7MeQ.js → entity._sha_.edit._scenarioId-CTBG2mmz.js} +1 -1
  253. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-5wRKRIH9.js → entry.client-CS2cb_eZ.js} +1 -1
  254. package/codeyam-cli/src/webserver/build/client/assets/file-code-Dhef1kWN.js +6 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DD3SDH7t.js → fileTableUtils-DMJ7zii9.js} +1 -1
  256. package/codeyam-cli/src/webserver/build/client/assets/files-CJ6lTdTA.js +1 -0
  257. package/codeyam-cli/src/webserver/build/client/assets/{git-zXjT7J0G.js → git-CPTZZ-JZ.js} +8 -8
  258. package/codeyam-cli/src/webserver/build/client/assets/globals-D3yhhV8x.css +1 -0
  259. package/codeyam-cli/src/webserver/build/client/assets/{index-DLbXwndH.js → index-B1h680n5.js} +1 -1
  260. package/codeyam-cli/src/webserver/build/client/assets/{index-gPZ-lad1.js → index-lzqtyFU8.js} +1 -1
  261. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BsPXJ81F.js → loader-circle-B7B9V-bu.js} +1 -1
  262. package/codeyam-cli/src/webserver/build/client/assets/manifest-a78b90a2.js +1 -0
  263. package/codeyam-cli/src/webserver/build/client/assets/memory--GCbFsBE.js +92 -0
  264. package/codeyam-cli/src/webserver/build/client/assets/root-eVAaavTS.js +62 -0
  265. package/codeyam-cli/src/webserver/build/client/assets/{search-P2FKIUql.js → search-CxXUmBSd.js} +1 -1
  266. package/codeyam-cli/src/webserver/build/client/assets/{settings-B2eDuBj8.js → settings-CS5f3WzT.js} +1 -1
  267. package/codeyam-cli/src/webserver/build/client/assets/{simulations-L18M6-kN.js → simulations-DwFIBT09.js} +1 -1
  268. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-BDz7kbVA.js → triangle-alert-B6LgvRJg.js} +1 -1
  269. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-29dDmbH8.js → useCustomSizes-C1v1PQzo.js} +1 -1
  270. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BUm0UVJm.js → useLastLogLine-aSv48UbS.js} +1 -1
  271. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-CkIOKTrZ.js → useReportContext-DYxHZQuP.js} +1 -1
  272. package/codeyam-cli/src/webserver/build/client/assets/{useToast-KKw5kTn-.js → useToast-mBRpZPiu.js} +1 -1
  273. package/codeyam-cli/src/webserver/build/server/assets/index-BM6TDT1Y.js +1 -0
  274. package/codeyam-cli/src/webserver/build/server/assets/server-build-dYC34MHw.js +257 -0
  275. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  276. package/codeyam-cli/src/webserver/build-info.json +5 -5
  277. package/codeyam-cli/templates/codeyam-memory-hook.sh +200 -0
  278. package/codeyam-cli/templates/codeyam:debug.md +47 -3
  279. package/codeyam-cli/templates/codeyam:diagnose.md +203 -25
  280. package/codeyam-cli/templates/codeyam:memory.md +341 -0
  281. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  282. package/codeyam-cli/templates/rule-reflection-hook.py +160 -0
  283. package/codeyam-cli/templates/rules-instructions.md +93 -0
  284. package/package.json +8 -5
  285. package/packages/ai/index.js +7 -3
  286. package/packages/ai/index.js.map +1 -1
  287. package/packages/ai/src/lib/analyzeScope.js +70 -29
  288. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  289. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  290. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  291. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +78 -8
  292. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  293. package/packages/ai/src/lib/astScopes/methodSemantics.js +109 -23
  294. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  295. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +1 -102
  296. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  297. package/packages/ai/src/lib/astScopes/processExpression.js +440 -27
  298. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  299. package/packages/ai/src/lib/completionCall.js +161 -30
  300. package/packages/ai/src/lib/completionCall.js.map +1 -1
  301. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +589 -166
  302. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  303. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +179 -0
  304. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  305. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  306. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  307. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  308. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  309. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  310. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  311. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +41 -1
  312. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  313. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +104 -11
  314. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  315. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +159 -0
  316. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  317. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  318. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  319. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +265 -79
  320. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  321. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  322. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  323. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  324. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  325. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  326. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  327. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  328. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  329. package/packages/ai/src/lib/generateEntityScenarioData.js +525 -8
  330. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  331. package/packages/ai/src/lib/generateEntityScenarios.js +26 -2
  332. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  333. package/packages/ai/src/lib/generateExecutionFlows.js +281 -4
  334. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  335. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +946 -42
  336. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  337. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  338. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  339. package/packages/ai/src/lib/mergeStatements.js +70 -51
  340. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  341. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  342. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  343. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  344. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  345. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +15 -7
  346. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  347. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  348. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  349. package/packages/ai/src/lib/resolvePathToControllable.js +155 -41
  350. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
  351. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  352. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  353. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  354. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  355. package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
  356. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  357. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  358. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  359. package/packages/analyze/src/lib/analysisContext.js +30 -5
  360. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  361. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  362. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  363. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  364. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  365. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  366. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  367. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  368. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  369. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  370. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  371. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  372. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  373. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +21 -9
  374. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  375. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -4
  376. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  377. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  378. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  379. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  380. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  381. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  382. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  383. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  384. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  385. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  386. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  387. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +160 -68
  388. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  389. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +25 -8
  390. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  391. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +71 -9
  392. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  393. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +57 -9
  394. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  395. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +233 -9
  396. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  397. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  398. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  399. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  400. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  401. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  402. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  403. package/packages/database/src/lib/kysely/db.js +8 -1
  404. package/packages/database/src/lib/kysely/db.js.map +1 -1
  405. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  406. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  407. package/packages/database/src/lib/loadAnalyses.js +45 -2
  408. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  409. package/packages/database/src/lib/loadAnalysis.js +8 -0
  410. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  411. package/packages/database/src/lib/loadBranch.js +11 -1
  412. package/packages/database/src/lib/loadBranch.js.map +1 -1
  413. package/packages/database/src/lib/loadCommit.js +7 -0
  414. package/packages/database/src/lib/loadCommit.js.map +1 -1
  415. package/packages/database/src/lib/loadCommits.js +22 -1
  416. package/packages/database/src/lib/loadCommits.js.map +1 -1
  417. package/packages/database/src/lib/loadEntities.js +23 -4
  418. package/packages/database/src/lib/loadEntities.js.map +1 -1
  419. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  420. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  421. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  422. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  423. package/packages/types/index.js.map +1 -1
  424. package/packages/utils/src/lib/safeFileName.js +29 -3
  425. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  426. package/scripts/finalize-analyzer.cjs +3 -3
  427. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +0 -1
  428. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +0 -11
  429. package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +0 -11
  430. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +0 -37
  431. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +0 -1
  432. package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +0 -1
  433. package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +0 -1
  434. package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +0 -1
  435. package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +0 -57
  436. package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +0 -1
  437. package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +0 -228
@@ -121,10 +121,11 @@ const validateFiles = async () => {
121
121
  }
122
122
  };
123
123
 
124
- const createLinePrefixer = (stream, processName, outputStream) => {
124
+ const createLinePrefixer = (stream, processName, outputStream, onActivity) => {
125
125
  let buffer = '';
126
126
 
127
127
  stream.on('data', (chunk) => {
128
+ if (onActivity) onActivity();
128
129
  buffer += chunk.toString();
129
130
  const lines = buffer.split('\n');
130
131
 
@@ -147,19 +148,20 @@ const createLinePrefixer = (stream, processName, outputStream) => {
147
148
  };
148
149
 
149
150
  const spawnProcess = (command, args, processName, env = {}) => {
150
- return new Promise((resolve, reject) => {
151
- const childProcess = spawn(command, args, {
152
- shell: true,
153
- stdio: ['inherit', 'pipe', 'pipe'], // Inherit stdin, pipe stdout/stderr
154
- env: { ...process.env, ...env },
155
- });
151
+ const childProcess = spawn(command, args, {
152
+ stdio: ['inherit', 'pipe', 'pipe'],
153
+ env: { ...process.env, ...env },
154
+ });
156
155
 
157
- console.log(`Started ${processName} process with PID ${childProcess.pid}`);
158
- childProcesses.add(childProcess);
156
+ console.log(`Started ${processName} process with PID ${childProcess.pid}`);
157
+ childProcesses.add(childProcess);
159
158
 
160
- // Set up prefixed output for stdout and stderr
161
- createLinePrefixer(childProcess.stdout, processName, process.stdout);
162
- createLinePrefixer(childProcess.stderr, processName, process.stderr);
159
+ let lastActivityTime = Date.now();
160
+ const updateActivity = () => { lastActivityTime = Date.now(); };
161
+
162
+ const promise = new Promise((resolve, reject) => {
163
+ createLinePrefixer(childProcess.stdout, processName, process.stdout, updateActivity);
164
+ createLinePrefixer(childProcess.stderr, processName, process.stderr, updateActivity);
163
165
 
164
166
  childProcess.on('close', (code, signal) => {
165
167
  console.log(
@@ -169,7 +171,6 @@ const spawnProcess = (command, args, processName, env = {}) => {
169
171
  if (code === 0) {
170
172
  resolve();
171
173
  } else if (code === null && signal && isCleaningUp) {
172
- // Process was killed by signal during cleanup - this is expected, not an error
173
174
  console.log(
174
175
  `${processName} process was terminated by ${signal} during cleanup`,
175
176
  );
@@ -189,11 +190,13 @@ const spawnProcess = (command, args, processName, env = {}) => {
189
190
  reject(error);
190
191
  });
191
192
  });
193
+
194
+ return { promise, childProcess, getLastActivity: () => lastActivityTime };
192
195
  };
193
196
 
194
197
  const startPlaywrightCapture = () => {
195
198
  console.log('Starting Playwright capture service...');
196
- return spawnProcess(
199
+ const { promise } = spawnProcess(
197
200
  'node',
198
201
  [
199
202
  '--enable-source-maps',
@@ -204,40 +207,65 @@ const startPlaywrightCapture = () => {
204
207
  'playwright',
205
208
  { PROJECT_URL: 'http://localhost:3000' },
206
209
  );
210
+ return promise;
207
211
  };
208
212
 
209
213
  const runProjectSimulation = async (analysisIds) => {
210
- try {
211
- // server now uses rsync, so project directory is guaranteed clean, just ensure it exists
212
- await fs.mkdir(FIXED_PROJECT_PATH, { recursive: true });
214
+ await fs.mkdir(FIXED_PROJECT_PATH, { recursive: true });
213
215
 
214
- const analysisIdString = analysisIds.join(',');
215
- console.log(
216
- `Starting project simulation for analysis IDs: ${analysisIdString}`,
217
- );
216
+ const analysisIdString = analysisIds.join(',');
217
+ console.log(
218
+ `Starting project simulation for analysis IDs: ${analysisIdString}`,
219
+ );
218
220
 
219
- return spawnProcess(
220
- 'node',
221
- [
222
- '--enable-source-maps',
223
- './dist/project/start.js',
224
- '--packageManager',
225
- process.env.PACKAGE_MANAGER,
226
- '--absoluteProjectRootPath',
227
- FIXED_PROJECT_PATH,
228
- '--absoluteTempPath',
229
- FIXED_TEMP_PATH,
230
- '--port',
231
- '3000',
232
- '--framework',
233
- process.env.FRAMEWORK,
234
- ],
235
- 'project',
236
- { ANALYSIS_IDS: analysisIdString, READY_TO_BE_CAPTURED: 'true' },
237
- );
238
- } catch (error) {
239
- throw new Error(`Failed to run project simulation: ${error.message}`);
221
+ return spawnProcess(
222
+ 'node',
223
+ [
224
+ '--enable-source-maps',
225
+ './dist/project/start.js',
226
+ '--packageManager',
227
+ process.env.PACKAGE_MANAGER,
228
+ '--absoluteProjectRootPath',
229
+ FIXED_PROJECT_PATH,
230
+ '--absoluteTempPath',
231
+ FIXED_TEMP_PATH,
232
+ '--port',
233
+ '3000',
234
+ '--framework',
235
+ process.env.FRAMEWORK,
236
+ ],
237
+ 'project',
238
+ { ANALYSIS_IDS: analysisIdString, READY_TO_BE_CAPTURED: 'true' },
239
+ );
240
+ };
241
+
242
+ const killChildProcess = async (childProcess, processName) => {
243
+ if (!childProcess || childProcess.exitCode !== null || childProcess.killed) {
244
+ return;
240
245
  }
246
+ console.log(`Killing ${processName} process (PID ${childProcess.pid}) after timeout/stall`);
247
+ try {
248
+ process.kill(childProcess.pid, 'SIGTERM');
249
+ } catch (err) { /* already dead */ }
250
+
251
+ await new Promise((resolve) => {
252
+ const checkInterval = setInterval(() => {
253
+ if (!isProcessAlive(childProcess.pid)) {
254
+ clearInterval(checkInterval);
255
+ resolve();
256
+ }
257
+ }, 500);
258
+ setTimeout(() => {
259
+ clearInterval(checkInterval);
260
+ if (isProcessAlive(childProcess.pid)) {
261
+ try { process.kill(childProcess.pid, 'SIGKILL'); } catch (err) { /* ignore */ }
262
+ console.log(`Force-killed ${processName} process (PID ${childProcess.pid})`);
263
+ }
264
+ resolve();
265
+ }, 5000);
266
+ });
267
+
268
+ childProcesses.delete(childProcess);
241
269
  };
242
270
 
243
271
  const isQueueNotExistsError = (error) => {
@@ -317,19 +345,38 @@ const processWorkMessage = async (sqs, message, queueUrl, controlQueueUrl) => {
317
345
  }, timeoutMs);
318
346
  });
319
347
 
320
- try {
321
- // Race between the actual work and the timeout
322
- await Promise.race([
323
- runProjectSimulation(body.analysisIds),
324
- timeoutPromise,
325
- ]);
348
+ let projectProcess = null;
349
+ let stallHandle = null;
350
+ let batchSuccess = false;
326
351
 
352
+ try {
353
+ const { promise: simulationPromise, childProcess, getLastActivity } =
354
+ await runProjectSimulation(body.analysisIds);
355
+ projectProcess = childProcess;
356
+
357
+ // Stall detection: abort if no output for 10 minutes
358
+ const STALL_TIMEOUT_MS = 10 * 60 * 1000;
359
+ const stallPromise = new Promise((_, reject) => {
360
+ stallHandle = setInterval(() => {
361
+ const silentMs = Date.now() - getLastActivity();
362
+ if (silentMs >= STALL_TIMEOUT_MS) {
363
+ reject(new Error(`Project process stalled (no output for ${Math.round(silentMs / 60000)} min)`));
364
+ }
365
+ }, 60000);
366
+ });
367
+
368
+ await Promise.race([simulationPromise, timeoutPromise, stallPromise]);
369
+
370
+ batchSuccess = true;
327
371
  console.log(`Successfully processed analysis IDs: ${analysisIdString}`);
328
372
  } finally {
373
+ if (stallHandle) clearInterval(stallHandle);
329
374
  if (visibilityInterval) clearInterval(visibilityInterval);
330
375
  if (timeoutHandle) clearTimeout(timeoutHandle);
331
376
 
332
- // Send batch completion notification to control queue
377
+ await killChildProcess(projectProcess, 'project');
378
+
379
+ // Send batch completion notification to control queue with success/failure status
333
380
  try {
334
381
  await sqs.send(
335
382
  new SendMessageCommand({
@@ -337,11 +384,12 @@ const processWorkMessage = async (sqs, message, queueUrl, controlQueueUrl) => {
337
384
  MessageBody: JSON.stringify({
338
385
  type: 'batch_completed',
339
386
  analysisIds: body.analysisIds,
387
+ success: batchSuccess,
340
388
  }),
341
389
  }),
342
390
  );
343
391
  console.log(
344
- `Sent batch completion notification for ${body.analysisIds.length} analyses`,
392
+ `Sent batch completion notification (success=${batchSuccess}) for ${body.analysisIds.length} analyses`,
345
393
  );
346
394
  } catch (error) {
347
395
  // Log error but don't fail - orchestrator will eventually timeout/abandon
@@ -48,6 +48,11 @@ export default async function analyzeBaselineCommit({ project, projectAnalyzer,
48
48
  entitiesAnalyzedAt: now,
49
49
  },
50
50
  archiveCurrentRun: true,
51
+ updateCallback(metadata) {
52
+ if (metadata.currentRun?.captureCompletedAt) {
53
+ metadata.currentRun.completedAt = now;
54
+ }
55
+ },
51
56
  });
52
57
  awsLog(`CodeYam: Marking baseline completed for project ${project.slug}`);
53
58
  project.metadata = await updateProjectMetadata({
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeBaselineCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeBaselineCommit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzeBaselineCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeBaselineCommit.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,11 @@ export default async function analyzeRegularCommit({ project, projectAnalyzer, c
148
148
  // In local mode (CLI), let job.js handle archiving after BOTH analysis AND capture complete
149
149
  // In cloud mode (Docker), archive immediately after analysis completes
150
150
  archiveCurrentRun: !isLocalMode,
151
+ updateCallback(metadata) {
152
+ if (metadata.currentRun?.captureCompletedAt) {
153
+ metadata.currentRun.completedAt = now;
154
+ }
155
+ },
151
156
  });
152
157
  }
153
158
  if (backgroundJob) {
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeRegularCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeRegularCommit.ts"],"names":[],"mappings":"AASA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA6B1D,KAAK,UAAU,yBAAyB,CACtC,QAAkB,EAClB,UAAoB,EACpB,OAAwB,EACxB,WAAqB;IAErB,MAAM,iBAAiB,GAAe,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,CAChC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,IAAI,CACA,CAAC;QACd,IACE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB;YACpC,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAEnC,SAAS;QAEX,+FAA+F;QAC/F,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5D,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,QAAQ,GAAG,CACT,MAAM,2BAA2B,CAAC;gBAChC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;aAC7B,CAAC,CACH,CAAC,CAAC,CAAC,CAAC;YAEL,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACjD,OAAO,EACP,eAAe,EACf,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,GAAG,EAAE,EACf,OAAO,EACP,KAAK,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,GAAG,EAAE,EACpB,SAAS,EACT,mBAAmB,GACM;IACzB,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,eAAe,CAAC;IAEjC,IAAI,SAAS,GAAuB,SAAS,CAAC;IAE9C,uCAAuC;IACvC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC;gBACxC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,GAAG,EAAE,WAAW;aACjB,CAAC,CAAC;YACH,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAEhC,gDAAgD;YAChD,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;YACvD,CAAC;YAED,UAAU,GAAG,MAAM,CAAC,KAAK;iBACtB,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACtB,+CAA+C;gBAC/C,MAAM,IAAI,GAAG,SAAS;oBACpB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC9D,OAAO,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC,CAAC;YAEnB,MAAM,wBAAwB,GAAG,MAAM,oBAAoB,CAAC;gBAC1D,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC/C,CAAC,CAAC;YAEH,KAAK,MAAM,sBAAsB,IAAI,wBAAwB,EAAE,CAAC;gBAC9D,sBAAsB,CAAC,MAAM,GAAG,KAAK,CAAC;YACxC,CAAC;YAED,MAAM,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC3C,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,eAAe,EAAE;gBACf,WAAW;gBACX,SAAS;gBACT,cAAc,EAAE,SAAS;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAmB,CAAC;QAC3D,OAAO;QACP,eAAe;QACf,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,UAAU;QACV,WAAW;QACX,eAAe;QACf,KAAK;QACL,OAAO;QACP,SAAS;QACT,mBAAmB;KACpB,CAAC,CAAC;IACH,IAAI,QAAQ,GAAG,YAAY,CAAC;IAE5B,0CAA0C;IAC1C,MAAM,kBAAkB,GACtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,eAAe;QACf,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAExB,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACT,8DAA8D,CAC/D,CAAC;QACJ,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,sCAAsC,CAAC,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GACtC,MAAM,gCAAgC,CAAC;YACrC,QAAQ;YACR,OAAO;YACP,eAAe;YACf,MAAM;YACN,OAAO;YACP,KAAK;SACN,CAAC,CAAC;QAEL,QAAQ,GAAG,oBAAoB,CAAC;IAClC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,CACvD,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,CACZ,CAAC;IAEF,gBAAgB,CACd,CAAC,EACD,sBAAsB,iBAAiB,CAAC,MAAM,gCAAgC,CAC/E,CAAC;IAEF,MAAM,CACJ,4BAA4B,EAC5B,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;QAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAChC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;QACtC,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC,CAAC,CACJ,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC3C,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,eAAe,EAAE;gBACf,mBAAmB,EAAE,GAAG;aACzB;YACD,cAAc,EAAE;gBACd,kBAAkB,EAAE,GAAG;aACxB;YACD,4FAA4F;YAC5F,uEAAuE;YACvE,iBAAiB,EAAE,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,2BAA2B,CAAC,aAAa,EAAE;YAC/C,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS;YAC3C,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,SAAS,EACP,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;wBAC3D,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,eAAe;QACf,iBAAiB;QACjB,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"analyzeRegularCommit.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/analyzeRegularCommit.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,8 @@ export default async function captureLibraryFunctionDirect(analysis, scenario) {
56
56
  targetScenario.metadata.executionResult = executionResult;
57
57
  }
58
58
  });
59
- // Mark scenario as complete
60
- await updateFreshAnalysisStatus(analysis.id, (freshStatus, inAnalysis) => {
59
+ // Mark scenario as complete (use WithScenarios variant to get actual scenario count)
60
+ await updateFreshAnalysisStatusWithScenarios(analysis.id, (freshStatus, dbScenarios, _inAnalysis) => {
61
61
  freshStatus.scenarios || (freshStatus.scenarios = []);
62
62
  const scenarioStatus = freshStatus.scenarios.find((s) => s.name === scenario.name);
63
63
  if (scenarioStatus) {
@@ -71,7 +71,7 @@ export default async function captureLibraryFunctionDirect(analysis, scenario) {
71
71
  });
72
72
  }
73
73
  // Check if all scenarios are done
74
- const allScenariosAvailable = freshStatus.scenarios.length >= inAnalysis.scenarios?.length;
74
+ const allScenariosAvailable = freshStatus.scenarios.length >= dbScenarios.length;
75
75
  if (allScenariosAvailable &&
76
76
  freshStatus.scenarios.every((s) => !!s.finishedAt)) {
77
77
  freshStatus.finishedAt = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"captureLibraryFunctionDirect.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/captureLibraryFunctionDirect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureLibraryFunctionDirect.js","sourceRoot":"","sources":["../../../../../../../background/src/lib/virtualized/project/captureLibraryFunctionDirect.ts"],"names":[],"mappings":"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"}