@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
@@ -67,8 +67,9 @@ export default async function loadBranch({ projectId, id, ref, name, sha, pullRe
67
67
  async function loadCommitsForBranch(branchId) {
68
68
  const db = getDatabase();
69
69
  const { jsonArrayFrom } = getJsonHelper();
70
+ const startTime = Date.now();
70
71
  try {
71
- return await db
72
+ const commits = await db
72
73
  .selectFrom('commits')
73
74
  .selectAll()
74
75
  .select((eb) => [
@@ -81,6 +82,15 @@ async function loadCommitsForBranch(branchId) {
81
82
  .where('commits.branch_id', '=', branchId)
82
83
  .orderBy('commits.committed_at', 'desc')
83
84
  .execute();
85
+ const queryTime = Date.now() - startTime;
86
+ // DEBUG: Log slow queries (includes files column which can be 1MB+)
87
+ if (queryTime > 100) {
88
+ const totalFilesSize = commits.reduce((sum, c) => {
89
+ return sum + (c.files ? JSON.stringify(c.files).length : 0);
90
+ }, 0);
91
+ console.log(`CodeYam DEBUG: [CommitFilesTiming] loadCommitsForBranch took ${queryTime}ms (${commits.length} commits, totalFiles: ${Math.round(totalFilesSize / 1024)}KB)`, { branchId });
92
+ }
93
+ return commits;
84
94
  }
85
95
  catch (error) {
86
96
  awsLog('CodeYam Error: Loading commits for branch', error, { branchId });
@@ -1 +1 @@
1
- {"version":3,"file":"loadBranch.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadBranch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadBranch.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadBranch.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ async function loadAnalysesForCommit(commitId) {
39
39
  }
40
40
  export default async function loadCommit({ id, projectId, sha, branchId, }) {
41
41
  const db = getDatabase();
42
+ const startTime = Date.now();
42
43
  try {
43
44
  let query = db
44
45
  .selectFrom('commits')
@@ -58,6 +59,7 @@ export default async function loadCommit({ id, projectId, sha, branchId, }) {
58
59
  }
59
60
  query = query.orderBy('committed_at', 'desc').limit(1);
60
61
  const commit = await query.executeTakeFirst();
62
+ const queryTime = Date.now() - startTime;
61
63
  if (!commit) {
62
64
  awsLog('CodeYam Error: Commit not found', null, {
63
65
  id,
@@ -67,6 +69,11 @@ export default async function loadCommit({ id, projectId, sha, branchId, }) {
67
69
  });
68
70
  return null;
69
71
  }
72
+ // DEBUG: Log slow queries (includes files column which can be 1MB+)
73
+ if (queryTime > 100) {
74
+ const filesSize = commit.files ? JSON.stringify(commit.files).length : 0;
75
+ console.log(`CodeYam DEBUG: [CommitFilesTiming] loadCommit took ${queryTime}ms (files: ${Math.round(filesSize / 1024)}KB)`, { sha: commit.sha });
76
+ }
70
77
  // Load branch and mergedBranch separately
71
78
  const [branch, mergedBranch, analyses] = await Promise.all([
72
79
  commit.branch_id
@@ -1 +1 @@
1
- {"version":3,"file":"loadCommit.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,UAAU,MAAM,cAAc,CAAC;AAOtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AASvE,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACjD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,OAAO,CACL,CAAC,MAAM,EAAE;aACN,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC;aAC1B,gBAAgB,EAAE,CAAC,IAAI,IAAI,CAC/B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,0CAA0C,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IACnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,EAAE;aACtB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,CAAC,UAAU,CAAC;aACrB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAC1C,aAAa,CACX,EAAE;aACC,UAAU,CAAC,WAAW,CAAC;aACvB,MAAM,CAAC,qBAAqB,CAAC;aAC7B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,aAAa,CAAC;aACrD,OAAO,EAAc,CACzB,CAAC,EAAE,CAAC,WAAW,CAAC,CAClB;aACA,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC;aACjC,OAAO,EAAE,CAAC;QAEb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,4CAA4C,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,EACvC,EAAE,EACF,SAAS,EACT,GAAG,EACH,QAAQ,GACO;IACf,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,IAAI,KAAK,GAAG,EAAE;aACX,UAAU,CAAC,SAAS,CAAC;aACrB,SAAS,CAAC,SAAS,CAAC;aACpB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAC1C,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CACxC,CAAC;QAEJ,IAAI,EAAE,EAAE,CAAC;YACP,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,iCAAiC,EAAE,IAAI,EAAE;gBAC9C,EAAE;gBACF,SAAS;gBACT,GAAG;gBACH,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0CAA0C;QAC1C,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzD,MAAM,CAAC,SAAS;gBACd,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC;gBACvC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACzB,MAAM,CAAC,gBAAgB;gBACrB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACzB,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,QAAQ,GAAa;YACzB,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,IAAI,SAAS;YAC3B,YAAY,EAAE,YAAY,IAAI,SAAS;YACvC,QAAQ;SACT,CAAC;QAEF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,8CAA8C,EAAE,KAAK,EAAE;YAC5D,EAAE;YACF,SAAS;YACT,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,sBAAsB,CACpC,EAA0C;IAE1C,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3C,OAAO,cAAc,CACnB,EAAE;SACC,UAAU,CAAC,cAAc,CAAC;SAC1B,MAAM,CAAC;QACN,UAAU;QACV,yCAAyC;QACzC,yBAAyB;KAC1B,CAAC;SACD,KAAK,CACJ,uBAAuB,EACvB,GAAG,EACH,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CACzC,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loadCommit.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadCommit.ts"],"names":[],"mappings":"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"}
@@ -94,12 +94,13 @@ async function loadEntitiesForCommits(commitIds) {
94
94
  return new Map();
95
95
  }
96
96
  }
97
- export default async function loadCommits({ projectId, branchId, ids, shas, fileNames, limit = 10, }) {
97
+ export default async function loadCommits({ projectId, branchId, ids, shas, fileNames, limit = 10, skipRelations = false, }) {
98
98
  if (!projectId && !ids) {
99
99
  throw new Error('Must provide projectId or ids');
100
100
  }
101
101
  const db = getDatabase();
102
102
  const { jsonObjectFrom } = getJsonHelper();
103
+ const startTime = Date.now();
103
104
  try {
104
105
  let query = db
105
106
  .selectFrom('commits')
@@ -144,9 +145,29 @@ export default async function loadCommits({ projectId, branchId, ids, shas, file
144
145
  .orderBy('committed_at', 'desc')
145
146
  .limit(limit)
146
147
  .execute();
148
+ const queryTime = Date.now() - startTime;
147
149
  if (!commits || commits.length === 0) {
148
150
  return [];
149
151
  }
152
+ // DEBUG: Log slow queries (includes files column which can be 1MB+)
153
+ if (queryTime > 100) {
154
+ const totalFilesSize = commits.reduce((sum, c) => {
155
+ return sum + (c.files ? JSON.stringify(c.files).length : 0);
156
+ }, 0);
157
+ console.log(`CodeYam DEBUG: [CommitFilesTiming] loadCommits took ${queryTime}ms (${commits.length} commits, totalFiles: ${Math.round(totalFilesSize / 1024)}KB)`);
158
+ }
159
+ // When skipRelations is true, just return commits without loading related data
160
+ // This is much faster for queries that only need commit metadata
161
+ if (skipRelations) {
162
+ const dbCommits = commits.map((commit) => ({
163
+ ...commit,
164
+ branch: undefined,
165
+ mergedBranch: undefined,
166
+ analyses: [],
167
+ entities: [],
168
+ }));
169
+ return dbCommits.map(dbToCommit);
170
+ }
150
171
  const commitIds = commits.map((c) => c.id);
151
172
  // Load all relations in parallel
152
173
  const [branchesMap, analysesMap, entitiesMap] = await Promise.all([
@@ -1 +1 @@
1
- {"version":3,"file":"loadCommits.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadCommits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadCommits.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadCommits.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import dbToEntity from "./dbToEntity.js";
2
2
  import { getDatabase } from "./kysely/db.js";
3
- export default async function loadEntities({ projectId, branchId, fileIds, filePaths, names, shas, }) {
3
+ export default async function loadEntities({ projectId, branchId, fileIds, filePaths, names, shas, excludeMetadata, }) {
4
4
  if ((fileIds && fileIds.length == 0) ||
5
5
  (filePaths && filePaths.length == 0) ||
6
6
  (names && names.length == 0) ||
@@ -18,6 +18,7 @@ export default async function loadEntities({ projectId, branchId, fileIds, fileP
18
18
  filePaths,
19
19
  names,
20
20
  shas: chunk,
21
+ excludeMetadata,
21
22
  });
22
23
  if (chunkEntities) {
23
24
  allEntities.push(...chunkEntities);
@@ -27,9 +28,27 @@ export default async function loadEntities({ projectId, branchId, fileIds, fileP
27
28
  }
28
29
  const db = getDatabase();
29
30
  try {
30
- const query = db
31
- .selectFrom('entities')
32
- .selectAll('entities')
31
+ // When excludeMetadata is true, select all columns except the large metadata column
32
+ // This dramatically speeds up list queries (41MB+ of JSON avoided)
33
+ const baseQuery = excludeMetadata
34
+ ? db
35
+ .selectFrom('entities')
36
+ .select([
37
+ 'entities.project_id',
38
+ 'entities.file_id',
39
+ 'entities.commit_id',
40
+ 'entities.name',
41
+ 'entities.sha',
42
+ 'entities.entity_type',
43
+ 'entities.file_path',
44
+ 'entities.description',
45
+ 'entities.documentation',
46
+ 'entities.quality',
47
+ 'entities.created_at',
48
+ 'entities.updated_at',
49
+ ])
50
+ : db.selectFrom('entities').selectAll('entities');
51
+ const query = baseQuery
33
52
  .$if(!!branchId, (qb) => qb
34
53
  .innerJoin('entity_branches', 'entity_branches.entity_sha', 'entities.sha')
35
54
  .where('entity_branches.branch_id', '=', branchId))
@@ -1 +1 @@
1
- {"version":3,"file":"loadEntities.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadEntities.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntities.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@ async function loadCommitsForEntities(commitIds) {
78
78
  }
79
79
  const db = getDatabase();
80
80
  const { jsonArrayFrom } = getJsonHelper();
81
+ const startTime = Date.now();
81
82
  try {
82
83
  const commits = await db
83
84
  .selectFrom('commits')
@@ -91,6 +92,14 @@ async function loadCommitsForEntities(commitIds) {
91
92
  ])
92
93
  .where('commits.id', 'in', commitIds)
93
94
  .execute();
95
+ const queryTime = Date.now() - startTime;
96
+ // DEBUG: Log slow queries (includes files column which can be 1MB+)
97
+ if (queryTime > 100) {
98
+ const totalFilesSize = commits.reduce((sum, c) => {
99
+ return sum + (c.files ? JSON.stringify(c.files).length : 0);
100
+ }, 0);
101
+ console.log(`CodeYam DEBUG: [CommitFilesTiming] loadCommitsForEntities took ${queryTime}ms (${commits.length} commits, totalFiles: ${Math.round(totalFilesSize / 1024)}KB)`);
102
+ }
94
103
  return new Map(commits.map((commit) => [commit.id, commit]));
95
104
  }
96
105
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"loadEntityBranches.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntityBranches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadEntityBranches.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadEntityBranches.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { getDatabase } from "./kysely/db.js";
2
2
  import { awsLog } from "../../../../packages/utils/index.js";
3
3
  import { deepMerge } from "./jsonUpdateUtils.js";
4
- import dbToCommit from "./dbToCommit.js";
5
4
  export default async function updateCommitMetadata({ commitId, commitSha, metadataUpdate, runStatusUpdate, archiveCurrentRun, updateCallback, }) {
6
5
  try {
7
6
  return await getDatabase()
8
7
  .transaction()
9
8
  .execute(async (trx) => {
9
+ // Only select what we need - the files column can be 1MB+ and kills performance
10
+ // If updateCallback is provided, it might need the full commit, so use selectAll
10
11
  const commit = await trx
11
12
  .selectFrom('commits')
12
- .selectAll()
13
+ .select(['id', 'metadata'])
13
14
  .$if(!!commitId, (qb) => qb.where('id', '=', commitId))
14
15
  .$if(!!commitSha, (qb) => qb.where('sha', '=', commitSha))
15
16
  .executeTakeFirst();
@@ -71,14 +72,14 @@ export default async function updateCommitMetadata({ commitId, commitSha, metada
71
72
  }
72
73
  // Allow callback to perform complex atomic updates
73
74
  if (updateCallback) {
74
- await updateCallback(updatedMetadata, dbToCommit(commit));
75
+ await updateCallback(updatedMetadata);
75
76
  }
76
77
  try {
77
78
  const result = await trx
78
79
  .updateTable('commits')
79
80
  .set({ metadata: JSON.stringify(updatedMetadata) })
80
81
  .where('id', '=', commit.id)
81
- .returningAll()
82
+ .returning(['id']) // Don't return all columns - files can be 1MB+
82
83
  .executeTakeFirst();
83
84
  if (!result) {
84
85
  awsLog(`CodeYam Error: updateCommitMetadata(): Failed to update commit ${commitId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"updateCommitMetadata.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/updateCommitMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateCommitMetadata.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/updateCommitMetadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAsEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkBxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAuEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkBxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,10 +1,36 @@
1
- export default function safeFileName(name) {
1
+ /**
2
+ * Simple hash function for generating unique suffixes.
3
+ * Uses djb2 algorithm - fast and produces good distribution.
4
+ * Not cryptographically secure, but sufficient for filename uniqueness.
5
+ */
6
+ function simpleHash(str) {
7
+ let hash = 5381;
8
+ for (let i = 0; i < str.length; i++) {
9
+ hash = (hash * 33) ^ str.charCodeAt(i);
10
+ }
11
+ // Convert to unsigned 32-bit and then to hex
12
+ return (hash >>> 0).toString(16).padStart(8, '0');
13
+ }
14
+ export default function safeFileName(name, options = {}) {
15
+ const { maxLength } = options;
2
16
  // Replace unsafe characters with underscores, preserving original casing
3
17
  // Then trim leading/trailing underscores to avoid malformed route segments
4
- const safeSlug = name.replace(/[^a-zA-Z0-9_]+/g, '_').replace(/^_+|_+$/g, '');
18
+ let safeSlug = name.replace(/[^a-zA-Z0-9_]+/g, '_').replace(/^_+|_+$/g, '');
5
19
  if (!safeSlug)
6
20
  return '';
7
21
  // Ensure it starts with a capital letter (for consistency with Remix routes)
8
- return safeSlug.slice(0, 1).toUpperCase() + safeSlug.slice(1);
22
+ safeSlug = safeSlug.slice(0, 1).toUpperCase() + safeSlug.slice(1);
23
+ // If maxLength is specified and the slug exceeds it, truncate and add a hash
24
+ if (maxLength && safeSlug.length > maxLength) {
25
+ // Create an 8-character hash of the full name for uniqueness
26
+ const hash = simpleHash(name);
27
+ // Reserve space for underscore + hash (9 chars total)
28
+ const truncateLength = maxLength - 9;
29
+ const truncated = safeSlug.substring(0, truncateLength);
30
+ // Remove trailing underscore if present (from mid-word truncation)
31
+ const cleanTruncated = truncated.replace(/_+$/, '');
32
+ safeSlug = `${cleanTruncated}_${hash}`;
33
+ }
34
+ return safeSlug;
9
35
  }
10
36
  //# sourceMappingURL=safeFileName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safeFileName.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/safeFileName.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAY;IAC/C,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,6EAA6E;IAC7E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"safeFileName.js","sourceRoot":"","sources":["../../../../../../packages/utils/src/lib/safeFileName.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,6CAA6C;IAC7C,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAWD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,IAAY,EACZ,UAA+B,EAAE;IAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE5E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,6EAA6E;IAC7E,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAElE,6EAA6E;IAC7E,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC7C,6DAA6D;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAE9B,sDAAsD;QACtD,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAExD,mEAAmE;QACnE,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEpD,QAAQ,GAAG,GAAG,cAAc,IAAI,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -49,8 +49,8 @@ async function finalizeAnalyzerTemplate() {
49
49
  // even when running from a global install context
50
50
  await execAsync('npm', ['install', '--include=dev'], analyzerTemplatePath);
51
51
 
52
- console.log('🎭 Installing Playwright browsers...');
53
- await execAsync('npx', ['playwright', 'install'], analyzerTemplatePath);
52
+ console.log('🎭 Installing Playwright chromium browser...');
53
+ await execAsync('npx', ['playwright', 'install', 'chromium'], analyzerTemplatePath);
54
54
 
55
55
  console.log('🔨 Building analyzer template...');
56
56
  await execAsync('npm', ['run', 'build'], analyzerTemplatePath);
@@ -71,7 +71,7 @@ async function finalizeAnalyzerTemplate() {
71
71
  console.error('You can try manually running:');
72
72
  console.error(` cd ${analyzerTemplatePath}`);
73
73
  console.error(' npm install');
74
- console.error(' npx playwright install');
74
+ console.error(' npx playwright install chromium');
75
75
  console.error(' npm run build');
76
76
  console.error('');
77
77
  process.exit(1);
@@ -1 +0,0 @@
1
- import{c as C,r as u,j as e,L as N}from"./chunk-EPOLDU6W-DdQKK6on.js";import{u as E}from"./useToast-KKw5kTn-.js";import{f as T,g as F}from"./fileTableUtils-DD3SDH7t.js";import{T as D}from"./TruncatedFilePath-D36O1rzU.js";import{S as k}from"./SafeScreenshot-CQifa1n-.js";import{L as P}from"./LibraryFunctionPreview-L75Wvqgw.js";import{T as B}from"./triangle-alert-BDz7kbVA.js";import{E as v}from"./EntityTypeIcon-BwdQv49w.js";import{E as I}from"./EntityTypeBadge-COi5OvsN.js";function w(s){return`${s.filePath||""}::${s.name}`}function S(s,i){const n=C(),{showToast:d}=E(),[l,o]=u.useState(new Map);u.useEffect(()=>{if(n.state==="idle"&&n.data){const t=n.data;t!=null&&t.error&&d(`Error: ${t.error}`,"error",6e3)}},[n.state,n.data,d]),u.useEffect(()=>{var r;if(l.size===0)return;const t=new Set;(r=i==null?void 0:i.jobs)==null||r.forEach(c=>{var x;(x=c.entityShas)==null||x.forEach(m=>{l.forEach((b,j)=>{b===m&&t.add(j)})})}),s==null||s.forEach(c=>{l.forEach((x,m)=>{x===c&&t.add(m)})}),t.size>0&&o(c=>{const x=new Map(c);return t.forEach(m=>x.delete(m)),x})},[i,s,l]);const h=u.useCallback(t=>{console.log("Generate analysis clicked for entity:",t.sha,t.name);const r=w(t);o(x=>new Map(x).set(r,t.sha));const c=new FormData;c.append("entitySha",t.sha),c.append("filePath",t.filePath||""),n.submit(c,{method:"post",action:"/api/analyze"})},[n]),g=u.useCallback(t=>{const r=t.filter(m=>m.entityType==="visual"||m.entityType==="library");console.log("Generate analysis for all entities:",r.length),o(m=>{const b=new Map(m);return r.forEach(j=>b.set(w(j),j.sha)),b});const c=r.map(m=>m.sha).join(","),x=new FormData;x.append("entityShas",c),n.submit(x,{method:"post",action:"/api/analyze"})},[n]),a=u.useCallback(t=>(s==null?void 0:s.includes(t))??!1,[s]),y=u.useCallback(t=>{const r=w(t);return l.has(r)},[l]),p=u.useCallback(t=>{var r;return((r=i==null?void 0:i.jobs)==null?void 0:r.some(c=>{var x;return(x=c.entityShas)==null?void 0:x.includes(t)}))??!1},[i]),f=u.useMemo(()=>Array.from(l.keys()),[l]);return{isAnalyzing:n.state!=="idle",handleGenerateSimulation:h,handleGenerateAllSimulations:g,isEntityBeingAnalyzed:a,isEntityPending:y,isEntityInQueue:p,pendingEntityKeys:f}}function G({showActions:s=!1,sortOrder:i="desc",onSortChange:n,onAnalyzeAll:d,analyzeAllDisabled:l=!1,analyzeAllText:o="Analyze All"}){return e.jsx("div",{className:"bg-[#efefef] rounded-lg mb-2 text-[11px] font-normal leading-[16px] text-[#3e3e3e] uppercase",children:e.jsxs("div",{className:"flex justify-between items-center px-3 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4"}),e.jsx("span",{children:"FILE"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"100px"},children:e.jsx("span",{children:"UNCOMMITTED"})}),e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"70px"},children:e.jsx("span",{children:"SIMULATIONS"})}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("span",{className:"text-center",style:{width:"70px"},children:"ENTITIES"}),e.jsxs("div",{className:"flex items-center justify-center gap-1 cursor-pointer hover:text-[#232323] transition-colors",style:{width:"116px"},onClick:n,role:"button",tabIndex:0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),n==null||n())},children:[e.jsx("span",{children:"MODIFIED"}),e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:i==="asc"?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease"},children:e.jsx("path",{d:"M3 5L6 8L9 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),s&&e.jsx("div",{className:"text-center",style:{width:"127px"},children:d&&e.jsx("button",{onClick:d,disabled:l,className:"bg-[#005c75] text-white rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#004a5e] transition-colors cursor-pointer disabled:bg-gray-400 disabled:cursor-not-allowed whitespace-nowrap px-3 py-1.5 normal-case",title:l?o:"Analyze all entities",children:o})})]})]})]})})}function M({status:s,variant:i="compact"}){const n={modified:{label:"M",bgColor:"bg-[#f59e0c]"},added:{label:"A",bgColor:"bg-emerald-500"},deleted:{label:"D",bgColor:"bg-red-500",showWarning:!0},renamed:{label:"R",bgColor:"bg-indigo-500"},untracked:{label:"U",bgColor:"bg-purple-500"}},d={modified:{label:"MODIFIED",textColor:"#BB6BD9"},added:{label:"ADDED",textColor:"#F2994A"},deleted:{label:"DELETED",textColor:"#EF4444"},renamed:{label:"RENAMED",textColor:"#3B82F6"},untracked:{label:"UNTRACKED",textColor:"#6B7280"}};if(i==="full"){const o=d[s]||{label:"UNKNOWN",textColor:"#6B7280"};return e.jsx("div",{className:"bg-[#f9f9f9] inline-flex items-center justify-center px-[5px] py-0 rounded",style:{height:"22px"},children:e.jsx("span",{className:"text-[10px] font-['IBM_Plex_Sans'] font-medium leading-[22px]",style:{color:o.textColor},children:o.label})})}const l=n[s]||{label:"?",bgColor:"bg-gray-500"};return e.jsxs("div",{className:"inline-flex items-center gap-1",children:[e.jsx("span",{className:`inline-flex items-center justify-center w-5 h-5 text-[11px] font-bold text-white rounded ${l.bgColor}`,title:s,children:l.label}),l.showWarning&&e.jsx("span",{className:"inline-flex items-center justify-center w-3 h-3 text-[10px] text-amber-600",title:"Warning: File will be deleted",children:"⚠"})]})}function U({filePath:s,isExpanded:i,onToggle:n,fileStatus:d,simulationPreviews:l,entityCount:o,state:h,lastModified:g,actionButton:a,uncommittedCount:y,children:p,isNotAnalyzable:f=!1,isUncommitted:t=!1}){return e.jsxs("div",{className:"bg-white overflow-hidden",style:i?{border:"1px solid #e1e1e1",borderLeft:"4px solid #005C75",borderRadius:"8px"}:{borderBottom:"1px solid #e1e1e1"},children:[e.jsxs("div",{className:`flex justify-between items-center p-3 cursor-pointer select-none transition-colors ${f?"opacity-50":"hover:bg-gray-200"}`,style:{outlineColor:"#005C75"},onClick:n,role:"button",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())},children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4 inline-flex items-center justify-center shrink-0",style:{transform:i?"rotate(90deg)":"none"},children:e.jsx("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M1.5 1.268L8.5 6L1.5 10.732V1.268Z",fill:i?"#3e3e3e":"#c7c7c7"})})}),e.jsx("img",{src:"/icons/file-icon.svg",alt:"file",className:"w-4 h-5 shrink-0"}),e.jsx(D,{filePath:s}),d&&e.jsx(M,{status:typeof d=="string"?d:d.status,variant:"full"}),t&&h==="out-of-date"&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fdf9c9",color:"#c69538",height:"22px"},children:"Out of date"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"100px"},children:(t||h==="out-of-date")&&e.jsxs("div",{className:"flex gap-1.5 items-center",children:[t&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fff3cd",color:"#856404",height:"22px"},children:"Uncommitted"}),h==="out-of-date"&&!t&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fdf9c9",color:"#c69538",height:"22px"},children:"Out of date"})]})}),e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"70px"},children:l}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("div",{className:"flex items-center justify-center",style:{width:"70px"},children:e.jsx("div",{className:"bg-[#f9f9f9] flex items-center justify-center px-2 rounded whitespace-nowrap",style:{height:"26px"},children:e.jsxs("span",{className:"text-[13px] text-[#3e3e3e]",children:[o," ",o===1?"entity":"entities"]})})}),e.jsx("div",{className:"text-[12px] text-gray-600 text-center",style:{width:"116px"},children:T(g)}),e.jsx("div",{style:{width:"127px"},className:"flex justify-center",children:a})]})]})]}),i&&p&&e.jsx("div",{className:"bg-gray-50 py-2 rounded-bl-[4px] rounded-br-[4px] flex flex-col gap-1",children:p})]})}function H({entities:s,maxPreviews:i=3}){var d,l,o,h,g;const n=[];for(const a of s){if(n.length>=i)break;const y=((l=(d=a.analyses)==null?void 0:d[0])==null?void 0:l.scenarios)||[];if(a.entityType==="library"){const p=y.find(f=>{var t,r;return((t=f.metadata)==null?void 0:t.executionResult)||((r=f.metadata)==null?void 0:r.error)});p&&n.push({type:"library",scenario:p,entitySha:a.sha})}else if(a.entityType==="visual"){const p=y.find(f=>{var t,r;return(r=(t=f.metadata)==null?void 0:t.screenshotPaths)==null?void 0:r[0]});if(p){const f=(h=(o=p.metadata)==null?void 0:o.screenshotPaths)==null?void 0:h[0],t=!!((g=p.metadata)!=null&&g.error);f&&n.push({type:"screenshot",screenshot:f,hasError:t,scenario:p,entitySha:a.sha})}}}return n.length===0?e.jsx("span",{className:"text-gray-400 font-light text-[14px]",children:"—"}):e.jsx(e.Fragment,{children:n.map((a,y)=>{if(a.type==="screenshot"&&a.screenshot){const p=a.hasError?"border-red-400":"border-gray-200";return e.jsxs(N,{to:a.scenario?`/entity/${a.entitySha}/scenarios/${a.scenario.id}`:`/entity/${a.entitySha}`,className:`relative w-[50px] h-[38px] border ${p} rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center cursor-pointer transition-all hover:scale-105 hover:shadow-md`,onClick:f=>f.stopPropagation(),children:[e.jsx(k,{screenshotPath:a.screenshot,alt:`Preview ${y+1}`,className:"max-w-full max-h-full object-contain object-center"}),a.hasError&&e.jsx("div",{className:"absolute top-0 right-0 w-4 h-4 bg-red-500 text-white flex items-center justify-center text-[10px] rounded-bl",title:"Error during capture",children:e.jsx(B,{size:12,color:"white"})})]},`screenshot-${y}`)}return a.type==="library"&&a.scenario&&a.entitySha?e.jsx(P,{scenario:a.scenario,entitySha:a.entitySha,size:"small",showBorder:!0},`library-${y}`):null})})}function J({entity:s,isActivelyAnalyzing:i,isQueued:n,onGenerateSimulation:d}){var p,f;const l=i||n?[{entityShas:[s.sha]}]:[],o=F(s,l,i),h=s.entityType==="visual"||s.entityType==="library",g=h&&(o==="not-analyzed"||o==="out-of-date")&&!i&&!n,y=(((f=(p=s.analyses)==null?void 0:p[0])==null?void 0:f.scenarios)||[]).filter(t=>{var r,c;return(c=(r=t.metadata)==null?void 0:r.screenshotPaths)==null?void 0:c[0]});return e.jsxs("div",{className:"bg-white rounded-lg",children:[e.jsxs(N,{to:`/entity/${s.sha}`,className:"flex items-center justify-between p-3 transition-colors hover:bg-gray-100 cursor-pointer",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4 shrink-0"}),s.entityType==="type"?e.jsx("div",{className:"bg-[#ffe1e1] inline-flex items-center justify-center px-[4px] rounded-[4px]",style:{height:"18px",width:"18px"},children:e.jsx("div",{className:"w-[10px] h-[10px] flex items-center justify-center",children:e.jsx(v,{type:"type"})})}):e.jsx(v,{type:s.entityType||"other"}),e.jsx("span",{className:`font-['IBM_Plex_Sans'] text-[14px] leading-[18px] text-black ${h?"font-medium":"font-normal"}`,children:s.name}),e.jsx(I,{type:s.entityType||"other"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{style:{width:"160px"}}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("div",{style:{width:"70px"}}),e.jsx("div",{style:{width:"116px"}}),e.jsx("div",{style:{width:"127px"},className:"flex justify-center items-center",children:h?o==="queued"?e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#cbf3fa",color:"#3098b4",height:"26px"},children:[e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#3098b4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("polyline",{points:"12,6 12,12 16,14"})]}),"Queued"]}):o==="analyzing"?e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#ffdbf6",color:"#ff2ab5",height:"26px"},children:[e.jsxs("svg",{width:"8",height:"8",viewBox:"0 0 9 9",fill:"none",className:"animate-spin",children:[e.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"#FFF4FC",strokeWidth:"1",fill:"none"}),e.jsx("path",{d:"M4.5 1C2.57 1 1 2.57 1 4.5C1 5.6 1.5 6.58 2.28 7.23",stroke:"#FF2AB5",strokeWidth:"1",strokeLinecap:"round",fill:"none"})]}),"Analyzing..."]}):o==="up-to-date"?e.jsx("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#e8ffe6",color:"#00925d",height:"26px"},children:"Up to date"}):o==="out-of-date"?e.jsx("button",{onClick:t=>{t.preventDefault(),t.stopPropagation(),d(s)},className:"bg-[#e0e9ec] text-[#005c75] rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#d0dfe5] transition-colors cursor-pointer px-[15px] py-0 h-[28px]",children:"Re-Analyze"}):g&&e.jsx("button",{onClick:t=>{t.preventDefault(),t.stopPropagation(),d(s)},className:"bg-[#e0e9ec] text-[#005c75] rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#d0dfe5] transition-colors cursor-pointer px-[15px] py-0 h-[28px]",children:"Analyze"}):e.jsx("span",{className:"text-[12px] text-gray-400",children:"Not Analyzable"})})]})]})]}),y.length>0&&e.jsx("div",{className:"px-3 pb-3 pt-0 flex items-center gap-2 pl-[52px]",children:y.map((t,r)=>{var x,m;const c=(m=(x=t.metadata)==null?void 0:x.screenshotPaths)==null?void 0:m[0];return c?e.jsx(N,{to:`/entity/${s.sha}?scenario=${t.id}`,className:"relative w-[120px] h-[90px] border border-gray-200 rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center hover:border-gray-400 transition-colors",onClick:b=>b.stopPropagation(),children:e.jsx(k,{screenshotPath:c,alt:t.name,className:"max-w-full max-h-full object-contain object-center"})},t.id):null})})]})}export{J as E,G as F,H as S,U as a,S as u};
@@ -1,11 +0,0 @@
1
- import{r as t,c as D,j as e}from"./chunk-EPOLDU6W-DdQKK6on.js";import{c as v}from"./createLucideIcon-Do4ZLUYa.js";import{C as $}from"./circle-check-Dmr2bb1R.js";import{T as j}from"./triangle-alert-BDz7kbVA.js";/**
2
- * @license lucide-react v0.556.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const T=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],R=v("bug",T);/**
7
- * @license lucide-react v0.556.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const E=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],N=v("settings",E);function F(a){return a.scenarioName&&a.entityName?`${a.entityName} → "${a.scenarioName}"`:a.entityName?a.entityName:a.scenarioId?`Scenario: ${a.scenarioId.slice(0,8)}...`:a.entitySha?`Entity: ${a.entitySha.slice(0,8)}...`:"General feedback"}function Y({isOpen:a,onClose:k,context:r,defaultEmail:w="",screenshotDataUrl:d}){const[u,h]=t.useState(""),[x,S]=t.useState(w),[m,y]=t.useState(!1),[l,g]=t.useState(!1),[C,b]=t.useState(null),[o,p]=t.useState(null),i=D(),n=i.state!=="idle";if(i.data&&!l&&!o){const s=i.data;s.success&&s.reportId?(g(!0),b(s.reportId)):s.error&&p(s.error)}const I=async()=>{p(null);const s=new FormData;if(s.append("issueType","other"),s.append("description",u),s.append("email",x),s.append("source",r.source),s.append("entitySha",r.entitySha||""),s.append("scenarioId",r.scenarioId||""),s.append("analysisId",r.analysisId||""),s.append("currentUrl",r.currentUrl),s.append("entityName",r.entityName||""),s.append("entityType",r.entityType||""),s.append("scenarioName",r.scenarioName||""),s.append("errorMessage",r.errorMessage||""),d)try{const z=await(await fetch(d)).blob();s.append("screenshot",z,"screenshot.jpg")}catch(f){console.error("Failed to convert screenshot:",f)}i.submit(s,{method:"post",action:"/api/generate-report",encType:"multipart/form-data"})},c=()=>{h(""),y(!1),g(!1),b(null),p(null),k()},M=s=>{s.key==="Escape"&&c()};return a?e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",onKeyDown:M,children:e.jsxs("div",{className:"bg-white rounded-lg max-w-lg w-full p-6 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[n?e.jsx("div",{className:"animate-spin",children:e.jsx(N,{size:24,style:{strokeWidth:1.5}})}):l?e.jsx($,{size:24,style:{color:"#10B981",strokeWidth:1.5}}):e.jsx(R,{size:24,style:{color:"#005C75",strokeWidth:1.5}}),e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:l?"Report Submitted":"Report Issue"})]}),e.jsx("button",{onClick:c,className:"text-gray-400 hover:text-gray-600 transition-colors cursor-pointer","aria-label":"Close",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),l?e.jsxs("div",{children:[e.jsxs("div",{className:"mb-6 p-4 bg-green-50 rounded-lg border border-green-200",children:[e.jsx("p",{className:"text-sm text-green-800 font-medium mb-1",children:"Thank you for your feedback!"}),e.jsxs("p",{className:"text-xs text-green-700",children:["Report ID:"," ",e.jsx("code",{className:"bg-green-100 px-1 rounded",children:C})]})]}),e.jsx("p",{className:"text-sm text-gray-600 mb-6",children:"The CodeYam team will investigate and may reach out if you provided an email address."}),e.jsx("div",{className:"flex justify-end",children:e.jsx("button",{onClick:c,className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] transition-colors cursor-pointer",children:"Done"})})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"mb-4 p-3 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-sm font-medium text-gray-900",title:`${r.source}${r.entitySha?` • Entity: ${r.entitySha}`:""}${r.scenarioId?` • Scenario: ${r.scenarioId}`:""}${r.analysisId?` • Analysis: ${r.analysisId}`:""}`,children:F(r)}),e.jsx("button",{type:"button",onClick:()=>y(!m),className:"text-xs text-gray-500 hover:text-gray-700 underline cursor-pointer",children:m?"Hide":"Details"})]}),m&&e.jsxs("div",{className:"mt-2 pt-2 border-t border-gray-200 text-xs text-gray-600 space-y-1 break-all",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Source:"})," ",r.source]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"URL:"})," ",r.currentUrl]}),r.entitySha&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Entity:"})," ",e.jsx("code",{className:"bg-gray-100 px-1 rounded",children:r.entitySha})]}),r.scenarioId&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Scenario:"})," ",e.jsx("code",{className:"bg-gray-100 px-1 rounded",children:r.scenarioId})]}),r.analysisId&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Analysis:"})," ",e.jsx("code",{className:"bg-gray-100 px-1 rounded",children:r.analysisId})]})]})]}),d&&e.jsxs("div",{className:"mb-4 p-3 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-2",children:"Screenshot (will be included in report)"}),e.jsx("img",{src:d,alt:"Page screenshot",className:"w-full max-h-[150px] object-contain rounded border border-gray-300"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"description",className:"block text-sm font-medium text-gray-700 mb-2",children:"What happened?"}),e.jsx("textarea",{id:"description",value:u,onChange:s=>h(s.target.value),placeholder:"Optional: Describe what you expected vs what happened...",rows:4,className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75] resize-none"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 mb-2",children:"Your email"}),e.jsx("input",{id:"email",type:"email",value:x,onChange:s=>S(s.target.value),placeholder:"you@example.com",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"})]}),e.jsxs("div",{className:"mb-6 p-3 bg-amber-50 rounded-lg border border-amber-200 flex gap-2",children:[e.jsx(j,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"#D97706"}}),e.jsxs("div",{className:"text-xs text-amber-800",children:[e.jsx("p",{className:"font-medium mb-1",children:"Source code will be uploaded"}),e.jsx("p",{children:"This report includes your project source code, git history, and CodeYam logs. Only submit if you're comfortable sharing this with the CodeYam team."})]})]}),n&&e.jsx("div",{className:"mb-4 text-center",children:e.jsx("p",{className:"text-sm text-gray-600",children:i.formData?"Uploading report...":"Creating archive..."})}),o&&e.jsxs("div",{className:"mb-4 p-3 bg-red-50 rounded-lg border border-red-200 flex gap-2",children:[e.jsx(j,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"#DC2626"}}),e.jsxs("div",{className:"text-xs text-red-800",children:[e.jsx("p",{className:"font-medium mb-1",children:"Upload failed"}),e.jsx("p",{children:o})]})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:c,disabled:n,className:"px-4 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-300 transition-colors disabled:opacity-50 cursor-pointer",children:"Cancel"}),e.jsx("button",{onClick:()=>void I(),disabled:n,className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed flex items-center gap-2 cursor-pointer",children:n?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"animate-spin",children:e.jsx(N,{size:16,style:{strokeWidth:1.5}})}),"Submitting..."]}):o?"Try Again":"Submit Report"})]})]})]})}):null}export{R as B,Y as R,N as S};
@@ -1,11 +0,0 @@
1
- import{r as h,j as e,L as p,w as se,u as te,c as ne,e as ae}from"./chunk-EPOLDU6W-DdQKK6on.js";import{u as le}from"./useLastLogLine-BUm0UVJm.js";import{u as re}from"./useToast-KKw5kTn-.js";import{u as oe}from"./useReportContext-CkIOKTrZ.js";import{L as ie}from"./LogViewer-CrNkmy4i.js";import{I as k,C as U,E as ce}from"./EntityTypeIcon-BwdQv49w.js";import{S as Y}from"./SafeScreenshot-CQifa1n-.js";import{c as P}from"./createLucideIcon-Do4ZLUYa.js";import{C as de}from"./circle-check-Dmr2bb1R.js";import{L as C}from"./loader-circle-BsPXJ81F.js";/**
2
- * @license lucide-react v0.556.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const xe=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],me=P("folder-open",xe);/**
7
- * @license lucide-react v0.556.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const he=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],pe=P("zap",he);function ue({recentSimulations:u}){const y=h.useMemo(()=>{const a=new Map;return u.forEach(n=>{const d=n.entitySha,c=a.get(d);c?c.push(n):a.set(d,[n])}),Array.from(a.entries()).map(([n,d])=>({entitySha:n,entityName:d[0].entityName,scenarios:d}))},[u]);return e.jsxs("section",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsx("div",{className:"flex justify-between items-start mb-5",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-[22px] font-semibold text-gray-900 m-0 mb-1",children:"Recent Simulations"}),e.jsx("p",{className:"text-sm text-gray-500 m-0",children:u.length>0?`Latest ${u.length} captured screenshot${u.length!==1?"s":""}`:"No simulations captured yet"})]})}),u.length>0?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-6 mb-5",children:y.map(a=>e.jsxs("div",{children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center bg-purple-100",children:e.jsx(k,{size:16,style:{color:"#8B5CF6"}})}),e.jsx(p,{to:`/entity/${a.entitySha}`,className:"text-sm font-semibold text-gray-900 no-underline hover:text-gray-700 transition-colors",children:a.entityName})]}),e.jsx("div",{className:"grid grid-cols-4 gap-3",children:a.scenarios.map((n,d)=>e.jsx(p,{to:n.scenarioId?`/entity/${n.entitySha}/scenarios/${n.scenarioId}`:`/entity/${n.entitySha}`,className:"aspect-4/3 border border-gray-200 rounded-lg overflow-hidden bg-gray-50 transition-all flex items-center justify-center hover:scale-105",onMouseEnter:c=>{c.currentTarget.style.borderColor="#005C75",c.currentTarget.style.boxShadow="0 4px 12px rgba(0, 92, 117, 0.2)"},onMouseLeave:c=>{c.currentTarget.style.borderColor="#E5E7EB",c.currentTarget.style.boxShadow="none"},title:n.scenarioName,children:e.jsx(Y,{screenshotPath:n.screenshotPath,alt:n.scenarioName,className:"max-w-full max-h-full object-contain object-center"})},n.scenarioId||`${n.entitySha}-${d}`))})]},a.entitySha))}),e.jsx(p,{to:"/simulations",className:"block text-center p-3 rounded-lg no-underline font-semibold text-sm transition-all",style:{color:"#005C75",backgroundColor:"#F6F9FC"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#EEF4F8",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#F6F9FC",children:"View All Recent Simulations →"})]}):e.jsxs("div",{className:"py-12 px-6 text-center rounded-lg w-full flex flex-col items-center justify-center min-h-50 border border-dashed",style:{backgroundColor:"#F2F7F8",borderColor:"#BBCCD3"},children:[e.jsx("div",{className:"mb-4 rounded-full flex items-center justify-center",style:{width:"48px",height:"48px",backgroundColor:"#E5EFF1"},children:e.jsx(k,{size:24,style:{color:"#7A9BA5"},strokeWidth:1.5})}),e.jsx("p",{className:"text-sm font-medium m-0",style:{color:"#5A7380"},children:"No simulations captured yet."}),e.jsxs("p",{className:"text-xs m-0 mt-2",style:{color:"#7A9BA5"},children:["Trigger an analysis from the"," ",e.jsx(p,{to:"/git",className:"underline hover:no-underline",style:{color:"#7A9BA5"},children:"Git"})," ","or"," ",e.jsx(p,{to:"/files",className:"underline hover:no-underline",style:{color:"#7A9BA5"},children:"Files"})," ","page."]})]})]})}const ge="/assets/codeyam-name-logo-CvKwUgHo.svg",Ee=()=>[{title:"Dashboard - CodeYam"},{name:"description",content:"CodeYam project dashboard"}],Fe=se(function(){var _,H;const{stats:y,uncommittedFiles:a,uncommittedEntitiesList:n,recentSimulations:d,visualEntitiesForSimulation:c,projectSlug:f,queueState:$,currentCommit:S}=te(),x=ne(),q=ae(),{showToast:b}=re();oe({source:"dashboard"});const[Q,Z]=h.useState(new Set),[m,G]=h.useState(null),[O,B]=h.useState(!1),[M,E]=h.useState(!1),{lastLine:F,isCompleted:D}=le(f,!!m),{simulatingEntity:A,scenarios:N,scenarioStatuses:K,allScenariosCaptured:T}=h.useMemo(()=>{var r,w;const s={simulatingEntity:null,scenarios:[],scenarioStatuses:[],allScenariosCaptured:!1};if(!m)return s;const i=c==null?void 0:c.find(z=>z.sha===m);if(!i)return s;const l=(r=i.analyses)==null?void 0:r[0],o=(l==null?void 0:l.scenarios)||[],t=((w=l==null?void 0:l.status)==null?void 0:w.scenarios)||[],j=t.filter(z=>z.screenshotFinishedAt).length,g=o.length>0&&j===o.length;return{simulatingEntity:i,scenarios:o,scenarioStatuses:t,allScenariosCaptured:g}},[m,c]);h.useEffect(()=>{(D||T)&&G(null)},[D,T]);const L=(_=S==null?void 0:S.metadata)==null?void 0:_.currentRun,V=new Set((L==null?void 0:L.currentEntityShas)||[]),I=new Set($.jobs.flatMap(s=>s.entityShas||[])),R=new Set(((H=$.currentlyExecuting)==null?void 0:H.entityShas)||[]),W=n.filter(s=>s.entityType==="visual"||s.entityType==="library"),v=W.filter(s=>!V.has(s.sha)&&!I.has(s.sha)&&!R.has(s.sha)),X=()=>{if(v.length===0){b("All entities are already queued or analyzing","info",3e3);return}const s=v.map(i=>i.sha);E(!0),b(`Starting analysis for ${v.length} entities...`,"info",3e3),x.submit({entityShas:s.join(",")},{method:"post",action:"/api/analyze"})};h.useEffect(()=>{if(x.state==="idle"&&x.data){const s=x.data;s.success?(console.log("[Analyze All] Success:",s.message),b(`Analysis started for ${s.entityCount} entities in ${s.fileCount} files. Watch the logs for progress.`,"success",6e3),E(!1)):s.error&&(console.error("[Analyze All] Error:",s.error),b(`Error: ${s.error}`,"error",8e3),E(!1))}},[x.state,x.data,b]);const J=s=>{Z(i=>{const l=new Set(i);return l.has(s)?l.delete(s):l.add(s),l})},ee=[{label:"Total Entities",value:y.totalEntities,iconType:"folder",link:"/files",color:"#005C75",tooltip:"In CodeYam, an entity is a discrete, analyzable unit of code that can be independently simulated and tested."},{label:"Analyzed Entities",value:y.entitiesWithAnalyses,iconType:"check",link:"/simulations",color:"#10B981",tooltip:"Entities that have been analyzed by CodeYam and have generated scenarios."},{label:"Visual Components",value:y.visualEntities,iconType:"image",link:"/files?entityType=visual",color:"#8B5CF6",tooltip:"React components and visual elements that can be rendered and captured as screenshots."},{label:"Library Functions",value:y.libraryEntities,iconType:"code-xml",link:"/files?entityType=library",color:"#0DBFE9",tooltip:"Reusable functions and utilities that can be independently tested."}];return e.jsx("div",{className:"bg-cygray-10 min-h-screen",children:e.jsxs("div",{className:"px-20 pt-8 pb-12",children:[e.jsxs("header",{className:"mb-8 flex justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("img",{src:ge,alt:"CodeYam",className:"h-3.5"}),e.jsx("span",{className:"text-gray-400 text-sm",children:"|"}),e.jsx("h1",{className:"text-sm font-mono font-normal text-gray-400 m-0",children:f?f.replace(/-/g," ").replace(/\b\w/g,s=>s.toUpperCase()):"Project"})]}),q.state==="loading"&&e.jsx("div",{className:"text-blue-600 text-sm font-medium animate-pulse",children:"🔄 Updating..."})]}),e.jsx("div",{className:"flex items-center justify-between gap-3",children:ee.map((s,i)=>e.jsx(p,{to:s.link,className:"flex-1 bg-white rounded-xl border border-gray-200 overflow-hidden flex transition-all hover:shadow-lg no-underline cursor-pointer",style:{borderLeft:`4px solid ${s.color}`},children:e.jsxs("div",{className:"px-6 py-6 flex flex-col gap-3 flex-1",children:[e.jsxs("div",{className:"flex md:justify-between md:items-start md:flex-row flex-col",children:[e.jsxs("div",{className:"flex items-center gap-1.5 group relative",children:[e.jsx("span",{className:"text-xs text-gray-700 font-medium font-mono uppercase",children:s.label}),e.jsxs("svg",{className:"w-3 h-3 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10",strokeWidth:"2"}),e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 16v-4m0-4h.01"})]}),e.jsx("div",{className:"absolute left-0 top-full mt-2 hidden group-hover:block z-50 w-80",children:e.jsxs("div",{className:"bg-gray-900 text-white text-xs rounded-lg px-3 py-2 shadow-lg",children:[s.tooltip,e.jsx("div",{className:"absolute -top-1 left-4 w-2 h-2 bg-gray-900 transform rotate-45"})]})})]}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 sm:hidden md:flex",style:{color:s.color},children:"View All →"})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"rounded-lg p-2 leading-none shrink-0",style:{backgroundColor:`${s.color}15`},children:[s.iconType==="folder"&&e.jsx(me,{size:20,style:{color:s.color}}),s.iconType==="check"&&e.jsx(de,{size:20,style:{color:s.color}}),s.iconType==="image"&&e.jsx(k,{size:20,style:{color:s.color}}),s.iconType==="code-xml"&&e.jsx(U,{size:20,style:{color:s.color}})]}),e.jsx("div",{className:"text-3xl font-semibold font-mono text-gray-900 leading-none",children:s.value.toLocaleString("en-US")})]}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 md:hidden",style:{color:s.color},children:"View All →"})]})]})},i))}),e.jsxs("div",{className:"mt-12 grid gap-8 items-start",style:{gridTemplateColumns:"repeat(auto-fit, minmax(500px, 1fr))"},children:[e.jsxs("section",{id:"uncommitted",className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsxs("div",{className:"flex justify-between items-start mb-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-[22px] font-semibold text-gray-900 m-0 mb-1",children:"Uncommitted Changes"}),e.jsx("p",{className:"text-sm text-gray-500 m-0",children:a.length>0?`${a.length} file${a.length!==1?"s":""} with ${n.length} uncommitted entit${n.length!==1?"ies":"y"}`:"No uncommitted changes detected"})]}),W.length>0&&e.jsx("button",{onClick:X,disabled:x.state!=="idle"||M||v.length===0,className:"px-5 py-2.5 text-white border-none rounded-lg text-sm font-semibold cursor-pointer transition-all hover:-translate-y-px disabled:bg-gray-400 disabled:cursor-not-allowed disabled:translate-y-0",style:{backgroundColor:"#005C75"},onMouseEnter:s=>s.currentTarget.style.backgroundColor="#004560",onMouseLeave:s=>s.currentTarget.style.backgroundColor="#005C75",children:x.state!=="idle"||M?"Starting analysis...":v.length===0?"All Queued":"Analyze All"})]}),a.length>0?e.jsx("div",{className:"flex flex-col gap-3",children:a.map(([s,i])=>{const l=Q.has(s),o=i.editedEntities||[];return e.jsxs("div",{className:"bg-white border border-gray-200 border-l-4 rounded-lg overflow-hidden",style:{borderLeftColor:"#005C75"},children:[e.jsx("div",{className:"p-4 cursor-pointer select-none transition-colors hover:bg-gray-50",onClick:()=>J(s),role:"button",tabIndex:0,children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-gray-500 text-xs w-4 shrink-0",children:l?"▼":"▶"}),e.jsxs("svg",{width:"16",height:"20",viewBox:"0 0 12 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"shrink-0",children:[e.jsxs("g",{clipPath:"url(#clip0_784_10666)",children:[e.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H8.73194L12 3.3616V13.4414C12 14.8545 10.8545 16 9.44143 16H2.55857C1.14551 16 0 14.8545 0 13.4414V2.55857Z",fill:"#DDDDFE"}),e.jsx("path",{d:"M8.72656 3.3307H11.9906L8.72656 0V3.3307Z",fill:"#306AFF"}),e.jsx("line",{x1:"1.8125",y1:"5.94825",x2:"10.0235",y2:"5.94825",stroke:"#306AFF",strokeWidth:"1.27929"}),e.jsx("line",{x1:"1.8125",y1:"8.82715",x2:"6.01207",y2:"8.82715",stroke:"#306AFF",strokeWidth:"1.27929"}),e.jsx("line",{x1:"1.8125",y1:"11.7061",x2:"10.0235",y2:"11.7061",stroke:"#306AFF",strokeWidth:"1.27929"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_784_10666",children:e.jsx("rect",{width:"12",height:"16",fill:"white"})})})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"font-normal text-gray-900 text-sm block truncate",children:s}),e.jsxs("span",{className:"text-xs text-gray-500",children:[o.length," entit",o.length!==1?"ies":"y"]})]})]})}),l&&e.jsx("div",{className:"border-t border-gray-200 bg-gray-50 p-3 flex flex-col gap-2",children:o.length>0?o.map(t=>{const j=V.has(t.sha),g=I.has(t.sha)||R.has(t.sha);return e.jsxs(p,{to:`/entity/${t.sha}`,className:"flex items-center gap-4 p-4 bg-white border border-gray-200 rounded-lg no-underline transition-all hover:shadow-md hover:-translate-y-0.5",style:{borderColor:"inherit"},onMouseEnter:r=>r.currentTarget.style.borderColor="#005C75",onMouseLeave:r=>r.currentTarget.style.borderColor="inherit",children:[e.jsxs("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center",style:{backgroundColor:t.entityType==="visual"?"#8B5CF615":t.entityType==="library"?"#6366F1":"#EC4899"},children:[t.entityType==="visual"&&e.jsx(k,{size:16,style:{color:"#8B5CF6"}}),t.entityType==="library"&&e.jsx(U,{size:16,className:"text-white"}),t.entityType==="other"&&e.jsx(pe,{size:16,className:"text-white"})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[e.jsx("div",{className:"font-semibold text-gray-900 text-sm",children:t.name}),t.entityType==="visual"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#8B5CF60D",color:"#8B5CF6"},children:"Visual"}),t.entityType==="library"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#0DBFE90D",color:"#0DBFE9"},children:"Library"}),t.entityType==="other"&&e.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#EC48990D",color:"#EC4899"},children:"Other"})]}),t.description&&e.jsx("div",{className:"text-sm text-gray-500 mt-1 overflow-hidden text-ellipsis whitespace-nowrap",children:t.description})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[j&&e.jsxs("div",{className:"px-2 py-1 bg-pink-100 rounded text-xs text-pink-700 font-semibold flex items-center gap-1.5",children:[e.jsx(C,{size:14,className:"animate-spin"}),"Analyzing..."]}),!j&&g&&e.jsx("div",{className:"px-2 py-1 bg-purple-50 border border-purple-300 rounded text-xs text-purple-700 font-semibold",children:"⏳ Queued"}),!j&&!g&&e.jsx("button",{onClick:r=>{r.preventDefault(),r.stopPropagation(),b(`Starting analysis for ${t.name}...`,"info",3e3),x.submit({entityShas:t.sha},{method:"post",action:"/api/analyze"})},disabled:x.state!=="idle",className:"px-3 py-1.5 text-white border-none rounded text-xs font-medium cursor-pointer transition-all disabled:bg-gray-400 disabled:cursor-not-allowed",style:{backgroundColor:"#005C75"},onMouseEnter:r=>r.currentTarget.style.backgroundColor="#004560",onMouseLeave:r=>r.currentTarget.style.backgroundColor="#005C75",children:"Analyze"})]})]},t.sha)}):e.jsx("div",{className:"text-sm text-gray-500 italic p-2",children:"No entity changes detected in this file"})})]},s)})}):e.jsxs("div",{className:"py-12 px-6 text-center flex flex-col items-center rounded-lg min-h-50 justify-center border border-dashed",style:{backgroundColor:"#F2F7F8",borderColor:"#BBCCD3"},children:[e.jsx("div",{className:"mb-4 rounded-full flex items-center justify-center",style:{width:"48px",height:"48px",backgroundColor:"#E5EFF1"},children:e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"#7A9BA5",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.jsx("polyline",{points:"14 2 14 8 20 8"}),e.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"12"}),e.jsx("line",{x1:"9",y1:"15",x2:"15",y2:"15"})]})}),e.jsx("p",{className:"text-sm font-medium m-0",style:{color:"#5A7380"},children:"No Uncommitted Changes."})]})]}),!m&&e.jsx(ue,{recentSimulations:d}),m&&e.jsxs("section",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsx("div",{className:"flex justify-between items-start mb-5",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-[22px] font-semibold text-gray-900 m-0 mb-1",children:"Recent Simulations"}),e.jsx("p",{className:"text-sm text-gray-500 m-0",children:d.length>0?`Latest ${d.length} captured screenshot${d.length!==1?"s":""}`:"No simulations captured yet"})]})}),m&&e.jsxs("div",{className:"p-0 bg-white rounded-lg flex flex-col gap-0",children:[A&&e.jsx("div",{className:"p-4 rounded-t-lg",style:{backgroundColor:"#F0F5F8",borderBottom:"2px solid #005C75"},children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-[32px] leading-none",children:e.jsx(ce,{type:"visual"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"text-base font-bold mb-1",style:{color:"#005C75"},children:["Generating Simulations for ",A.name]}),e.jsx("div",{className:"text-[13px] text-gray-500 font-mono overflow-hidden text-ellipsis whitespace-nowrap",children:A.filePath})]})]})}),T?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-emerald-600 font-medium p-4 bg-emerald-50",children:[e.jsx("span",{className:"text-lg",children:"✅"}),e.jsxs("span",{children:["Complete (",N.length," scenario",N.length!==1?"s":"",")"]})]}):F?e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(C,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap font-mono text-xs",title:F,children:F}),f&&e.jsx("button",{onClick:()=>B(!0),className:"px-2 py-1.5 bg-gray-500 text-white border-none rounded-md text-[13px] font-medium cursor-pointer transition-all whitespace-nowrap self-start hover:bg-gray-600 hover:-translate-y-px",title:"View analysis logs",children:"📋 Logs"})]}):x.state!=="idle"?e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(C,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:"Initializing analysis..."})]}):e.jsxs("div",{className:"flex items-center justify-between gap-1.5 text-sm font-medium p-4 bg-gray-50",style:{color:"#005C75"},children:[e.jsx(C,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap",children:"Starting analysis..."})]}),N.length>0&&e.jsx("div",{className:"flex gap-2 flex-wrap p-4 bg-white border-t border-gray-200",children:N.slice(0,8).map((s,i)=>{var g,r;const l=(r=(g=s.metadata)==null?void 0:g.screenshotPaths)==null?void 0:r[0],o=K.find(w=>w.name===s.name),t=(o==null?void 0:o.screenshotStartedAt)&&!(o!=null&&o.screenshotFinishedAt);return l?e.jsx(p,{to:`/entity/${m}`,className:"w-20 h-15 border-2 border-gray-200 rounded overflow-hidden bg-gray-50 cursor-pointer transition-all flex items-center justify-center no-underline hover:border-blue-600 hover:scale-105 hover:shadow-md",children:e.jsx(Y,{screenshotPath:l,alt:s.name,title:s.name,className:"max-w-full max-h-full object-contain object-center"})},i):e.jsx("div",{className:"w-20 h-15 border-2 border-dashed border-gray-300 rounded bg-gray-50 flex items-center justify-center text-2xl",title:`Capturing ${s.name}...`,children:e.jsx("span",{className:t?"animate-pulse":"text-gray-400",children:t?"⋯":"⏹️"})},i)})})]})]})]}),O&&f&&e.jsx(ie,{projectSlug:f,onClose:()=>B(!1)})]})})});export{Fe as default,Ee as meta};