@codeyam/codeyam-cli 0.1.0-staging.8aea589 → 0.1.0-staging.ad31e3e

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 (418) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +8 -7
  4. package/analyzer-template/packages/ai/index.ts +2 -1
  5. package/analyzer-template/packages/ai/package.json +2 -2
  6. package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
  7. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
  9. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
  11. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +127 -4
  12. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1821 -542
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  25. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
  26. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  27. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
  28. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
  29. package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
  30. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +32 -8
  31. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
  32. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
  33. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
  34. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
  35. package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
  36. package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
  37. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
  38. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
  39. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
  40. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
  41. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
  42. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
  43. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
  44. package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
  45. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +39 -0
  46. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +18 -6
  47. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
  48. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
  49. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
  50. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +8 -6
  51. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
  52. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
  53. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
  54. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
  55. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
  56. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
  57. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
  58. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
  59. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
  60. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  61. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  62. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  63. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  64. package/analyzer-template/packages/aws/package.json +5 -4
  65. package/analyzer-template/packages/aws/s3/index.ts +4 -0
  66. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  67. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
  68. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  69. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  70. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  71. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  72. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  73. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  74. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  75. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  76. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  77. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  78. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  79. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
  80. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
  82. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
  84. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
  86. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  87. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  88. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  89. package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
  90. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  91. package/analyzer-template/packages/github/dist/utils/index.js +2 -0
  92. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  94. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  95. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  96. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  97. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  98. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  99. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  100. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  101. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  102. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  103. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  104. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  105. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  106. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  107. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  108. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  109. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  110. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  111. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  112. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  113. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
  114. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
  115. package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
  116. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  117. package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
  118. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  119. package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
  120. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  121. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  122. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  123. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  124. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  125. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  126. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  127. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  128. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  129. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  130. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  131. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  132. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  133. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  134. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  135. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  136. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  137. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  138. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  139. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  140. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  141. package/analyzer-template/packages/utils/index.ts +2 -0
  142. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  143. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +2 -1
  144. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  145. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
  146. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  147. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
  148. package/analyzer-template/project/constructMockCode.ts +170 -6
  149. package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
  150. package/analyzer-template/project/startScenarioCapture.ts +24 -0
  151. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  152. package/analyzer-template/project/writeMockDataTsx.ts +125 -4
  153. package/analyzer-template/project/writeScenarioComponents.ts +199 -45
  154. package/analyzer-template/project/writeUniversalMocks.ts +66 -8
  155. package/background/src/lib/virtualized/project/constructMockCode.js +158 -7
  156. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  157. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
  158. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  159. package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
  160. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  161. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  162. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  163. package/background/src/lib/virtualized/project/writeMockDataTsx.js +95 -3
  164. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  165. package/background/src/lib/virtualized/project/writeScenarioComponents.js +144 -28
  166. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  167. package/background/src/lib/virtualized/project/writeUniversalMocks.js +56 -7
  168. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  169. package/codeyam-cli/src/cli.js +6 -0
  170. package/codeyam-cli/src/cli.js.map +1 -1
  171. package/codeyam-cli/src/codeyam-cli.js +0 -0
  172. package/codeyam-cli/src/commands/debug.js +221 -0
  173. package/codeyam-cli/src/commands/debug.js.map +1 -0
  174. package/codeyam-cli/src/commands/init.js +4 -23
  175. package/codeyam-cli/src/commands/init.js.map +1 -1
  176. package/codeyam-cli/src/commands/report.js +102 -0
  177. package/codeyam-cli/src/commands/report.js.map +1 -0
  178. package/codeyam-cli/src/commands/setup-sandbox.js +164 -0
  179. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  180. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  181. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  182. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
  183. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  184. package/codeyam-cli/src/utils/analyzer.js +30 -0
  185. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  186. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  187. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  188. package/codeyam-cli/src/utils/generateReport.js +213 -0
  189. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  190. package/codeyam-cli/src/utils/install-skills.js +7 -0
  191. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  192. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
  193. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  194. package/codeyam-cli/src/utils/queue/job.js +5 -1
  195. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  196. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
  197. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  198. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  199. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  200. package/codeyam-cli/src/webserver/app/lib/database.js +50 -2
  201. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  202. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-D5ZHFomX.js +1 -0
  203. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-B0oiPem-.js → InteractivePreview-XDSzQLOY.js} +3 -3
  204. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-BYVx9KFp.js +3 -0
  205. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-BKKG1s2B.js → LogViewer-CRcT5fOZ.js} +1 -1
  206. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BORLgi0X.js +1 -0
  207. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Bual6h18.js +1 -0
  208. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-YUMa-.js +6 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-4D2vLLJz.js +5 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/_index-BC200mfN.js +1 -0
  211. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CxvZPkCv.js +10 -0
  212. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  213. package/codeyam-cli/src/webserver/build/client/assets/chart-column-B8fb6wnw.js +1 -0
  214. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-De6i8FUT.js +26 -0
  215. package/codeyam-cli/src/webserver/build/client/assets/circle-alert-IdsgAK39.js +1 -0
  216. package/codeyam-cli/src/webserver/build/client/assets/circle-check-BACUUf75.js +1 -0
  217. package/codeyam-cli/src/webserver/build/client/assets/clock-vWeoCemX.js +1 -0
  218. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CS7XDrKv.js +1 -0
  219. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DIOEw_3i.js +1 -0
  220. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-BHiWkb_W.js → entity._sha._-C6fctQ5v.js} +10 -10
  221. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-C3FZJx1w.js +1 -0
  222. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-YJz_igar.js +5 -0
  223. package/codeyam-cli/src/webserver/build/client/assets/entityStatus-BEqj2qBy.js +1 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DiP0q291.js +5 -0
  225. package/codeyam-cli/src/webserver/build/client/assets/file-text-LM0mgxXE.js +1 -0
  226. package/codeyam-cli/src/webserver/build/client/assets/files-Dxh9CcaV.js +1 -0
  227. package/codeyam-cli/src/webserver/build/client/assets/git-BXmqrWCH.js +12 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/globals-BGS74ED-.css +1 -0
  229. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
  230. package/codeyam-cli/src/webserver/build/client/assets/index-D-zYbzFZ.js +8 -0
  231. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-BXPKbHEb.js +1 -0
  232. package/codeyam-cli/src/webserver/build/client/assets/manifest-e039ab42.js +1 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/root-D0s7DnXb.js +16 -0
  234. package/codeyam-cli/src/webserver/build/client/assets/settings-5zF_GOcS.js +1 -0
  235. package/codeyam-cli/src/webserver/build/client/assets/settings-Dc4MlMpK.js +1 -0
  236. package/codeyam-cli/src/webserver/build/client/assets/simulations-BQ-02-jB.js +1 -0
  237. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-D7k-ArFa.js +1 -0
  238. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-Lumm1t01.js → useLastLogLine-AlhS7g5F.js} +1 -1
  239. package/codeyam-cli/src/webserver/build/client/assets/useToast-Ddo4UQv7.js +1 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/zap-_jw-9DCp.js +1 -0
  241. package/codeyam-cli/src/webserver/build/server/assets/index-iaMjuNME.js +1 -0
  242. package/codeyam-cli/src/webserver/build/server/assets/server-build-CpyX1FZX.js +169 -0
  243. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  244. package/codeyam-cli/src/webserver/build-info.json +5 -5
  245. package/codeyam-cli/src/webserver/server.js +1 -1
  246. package/codeyam-cli/src/webserver/server.js.map +1 -1
  247. package/codeyam-cli/templates/codeyam-setup-skill.md +70 -85
  248. package/codeyam-cli/templates/debug-command.md +125 -0
  249. package/package.json +9 -11
  250. package/packages/ai/index.js +1 -2
  251. package/packages/ai/index.js.map +1 -1
  252. package/packages/ai/src/lib/analyzeScope.js +13 -0
  253. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  254. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
  255. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  256. package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
  257. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  258. package/packages/ai/src/lib/astScopes/paths.js +28 -3
  259. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  260. package/packages/ai/src/lib/astScopes/processExpression.js +111 -3
  261. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  262. package/packages/ai/src/lib/checkAllAttributes.js +1 -3
  263. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  264. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1320 -396
  265. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  266. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
  267. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  268. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
  269. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  270. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
  271. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  272. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  273. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  274. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  275. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  276. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
  277. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  278. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  279. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  280. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
  281. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  282. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  283. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  284. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  285. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  286. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
  287. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  288. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  289. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  290. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
  291. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  292. package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
  293. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  294. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  295. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  296. package/packages/ai/src/lib/generateEntityKeyAttributes.js +32 -8
  297. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  298. package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
  299. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  300. package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
  301. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  302. package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
  303. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  304. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
  305. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  306. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  307. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  308. package/packages/ai/src/lib/modelInfo.js +15 -0
  309. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  310. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
  311. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  312. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  313. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  314. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
  315. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  316. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
  317. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  318. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  319. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  320. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
  321. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  322. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
  323. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  324. package/packages/ai/src/lib/types/index.js +2 -0
  325. package/packages/ai/src/lib/types/index.js.map +1 -1
  326. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  327. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  328. package/packages/analyze/src/lib/FileAnalyzer.js +17 -5
  329. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  330. package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
  331. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  332. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
  333. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  334. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
  335. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  336. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
  337. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  338. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  339. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  340. package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
  341. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  342. package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
  343. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  344. package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
  345. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  346. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
  347. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  348. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
  349. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  350. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
  351. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  352. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
  353. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  354. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
  355. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  356. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  357. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  358. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  359. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  360. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  361. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  362. package/packages/supabase/src/lib/kysely/db.js +3 -0
  363. package/packages/supabase/src/lib/kysely/db.js.map +1 -1
  364. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  365. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  366. package/packages/utils/index.js +2 -0
  367. package/packages/utils/index.js.map +1 -1
  368. package/packages/utils/src/lib/Semaphore.js +40 -0
  369. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  370. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  371. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  372. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  373. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  374. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  375. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  376. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  377. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  378. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  379. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  380. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  381. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-rqv54FUY.js +0 -1
  382. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DqXXjAJ7.js +0 -3
  383. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DU_jxCPD.js +0 -1
  384. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-5DY-YIxu.js +0 -6
  385. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DmjXUj6m.js +0 -5
  386. package/codeyam-cli/src/webserver/build/client/assets/_index-DvSrcxsk.js +0 -1
  387. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CsaMd9mb.js +0 -10
  388. package/codeyam-cli/src/webserver/build/client/assets/chart-column-VXBS6qOn.js +0 -1
  389. package/codeyam-cli/src/webserver/build/client/assets/circle-alert-n5GUC2AS.js +0 -1
  390. package/codeyam-cli/src/webserver/build/client/assets/clock-DKqtX8js.js +0 -1
  391. package/codeyam-cli/src/webserver/build/client/assets/components-Dj-Ggnl2.js +0 -40
  392. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BbR3FwNc.js +0 -1
  393. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-L7M9Vr5z.js +0 -1
  394. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-C9w-q7P3.js +0 -5
  395. package/codeyam-cli/src/webserver/build/client/assets/entry.client-CdGoUs8A.js +0 -1
  396. package/codeyam-cli/src/webserver/build/client/assets/file-text-B6Er7j5k.js +0 -1
  397. package/codeyam-cli/src/webserver/build/client/assets/files-KcDVw1FY.js +0 -1
  398. package/codeyam-cli/src/webserver/build/client/assets/git-B9uZ8eSJ.js +0 -12
  399. package/codeyam-cli/src/webserver/build/client/assets/globals-B0f88RTV.css +0 -1
  400. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-v3c6DFp4.js +0 -1
  401. package/codeyam-cli/src/webserver/build/client/assets/manifest-fca08d7e.js +0 -1
  402. package/codeyam-cli/src/webserver/build/client/assets/root-Cf8VBqIb.js +0 -16
  403. package/codeyam-cli/src/webserver/build/client/assets/search-DA14wXpu.js +0 -1
  404. package/codeyam-cli/src/webserver/build/client/assets/settings-COJUrwGu.js +0 -1
  405. package/codeyam-cli/src/webserver/build/client/assets/settings-NU_ZquhK.js +0 -1
  406. package/codeyam-cli/src/webserver/build/client/assets/simulations-CNaMJ-nR.js +0 -1
  407. package/codeyam-cli/src/webserver/build/client/assets/useToast-BRShB17p.js +0 -1
  408. package/codeyam-cli/src/webserver/build/client/assets/zap-BvukH0eN.js +0 -1
  409. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  410. package/codeyam-cli/src/webserver/build/client/favicon.svg +0 -13
  411. package/codeyam-cli/src/webserver/build/server/assets/index-DHr4rT4u.js +0 -1
  412. package/codeyam-cli/src/webserver/build/server/assets/server-build-Bi1mj14J.js +0 -166
  413. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  414. package/codeyam-cli/src/webserver/public/favicon.svg +0 -13
  415. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  416. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  417. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  418. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
@@ -1 +0,0 @@
1
- import{u as J,b as K,d as ee,r as d,j as e,L as m}from"./components-Dj-Ggnl2.js";import{u as se}from"./useLastLogLine-Lumm1t01.js";import{u as te,C as le}from"./useToast-BRShB17p.js";import{L as ne}from"./LogViewer-BKKG1s2B.js";import{I as b,C as V,E as ae}from"./EntityTypeIcon-rqv54FUY.js";import{S as H}from"./SafeScreenshot-DU_jxCPD.js";import{c as re}from"./file-text-B6Er7j5k.js";import{S as ie}from"./settings-COJUrwGu.js";import{Z as oe}from"./zap-BvukH0eN.js";import{L as w}from"./loader-circle-v3c6DFp4.js";import"./chart-column-VXBS6qOn.js";const ce=[["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"}]],de=re("folder-open",ce),Ne=()=>[{title:"Dashboard - CodeYam"},{name:"description",content:"CodeYam project dashboard"}];function we(){const{stats:j,uncommittedFiles:g,uncommittedEntitiesList:C,recentSimulations:h,visualEntitiesForSimulation:y,projectSlug:v,queueState:F,currentCommit:_}=J(),i=K(),W=ee(),{showToast:x}=te(),[I,P]=d.useState(new Set),[o,T]=d.useState(null),[R,A]=d.useState(!1),[L,k]=d.useState(!1),{lastLine:S,isCompleted:z,resetLogs:Z}=se(v,!!o),{simulatingEntity:f,scenarios:N,scenarioStatuses:U,allScenariosCaptured:E}=d.useMemo(()=>{const s={simulatingEntity:null,scenarios:[],scenarioStatuses:[],allScenariosCaptured:!1};if(!o)return s;const t=y?.find(r=>r.sha===o);if(!t)return s;const l=t.analyses?.[0],a=l?.scenarios||[],n=l?.status?.scenarios||[],u=n.filter(r=>r.screenshotFinishedAt).length,p=a.length>0&&u===a.length;return{simulatingEntity:t,scenarios:a,scenarioStatuses:n,allScenariosCaptured:p}},[o,y]);d.useEffect(()=>{(z||E)&&T(null)},[z,E]);const q=_?.metadata?.currentRun,$=new Set(q?.currentEntityShas||[]),M=new Set(F.jobs.flatMap(s=>s.entityShas||[])),B=new Set(F.currentlyExecuting?.entityShas||[]),D=C.filter(s=>s.entityType==="visual"||s.entityType==="library"),c=D.filter(s=>!$.has(s.sha)&&!M.has(s.sha)&&!B.has(s.sha)),Q=()=>{if(c.length===0){x("All entities are already queued or analyzing","info",3e3);return}console.log("Analyzing uncommitted entities not yet queued:",c.length),console.log("Entity SHAs:",c.map(s=>s.sha)),k(!0),x(`Starting analysis for ${c.length} entities...`,"info",3e3),i.submit({entityShas:c.map(s=>s.sha).join(",")},{method:"post",action:"/api/analyze"})};d.useEffect(()=>{if(i.state==="idle"&&i.data){const s=i.data;s.success?(console.log("[Analyze All] Success:",s.message),x(`Analysis started for ${s.entityCount} entities in ${s.fileCount} files. Watch the logs for progress.`,"success",6e3),k(!1)):s.error&&(console.error("[Analyze All] Error:",s.error),x(`Error: ${s.error}`,"error",8e3),k(!1))}},[i.state,i.data,x]);const Y=(s,t)=>{console.log("Simulating entity:",s);const l=y?.find(a=>a.sha===s);T(s),Z(),x(`Starting analysis for ${l?.name||"entity"}...`,"info",3e3),i.submit({entitySha:s,filePath:t},{method:"post",action:"/api/analyze"})},O=s=>{P(t=>{const l=new Set(t);return l.has(s)?l.delete(s):l.add(s),l})},G=d.useMemo(()=>{const s=new Map;return h.forEach(t=>{const l=t.entitySha;s.has(l)||s.set(l,[]),s.get(l).push(t)}),Array.from(s.entries()).map(([t,l])=>({entitySha:t,entityName:l[0].entityName,scenarios:l}))},[h]),X=[{label:"Total Entities",value:j.totalEntities,iconType:"folder",link:"/files",color:"#F59E0B"},{label:"Analyzed Entities",value:j.entitiesWithAnalyses,iconType:"check",link:"/simulations",color:"#10B981"},{label:"Visual Components",value:j.visualEntities,iconType:"image",link:"/files?entityType=visual",color:"#8B5CF6"},{label:"Library Functions",value:j.libraryEntities,iconType:"code-xml",link:"/files?entityType=library",color:"#0DBFE9"}];return e.jsx("div",{className:"bg-cygray-10 min-h-screen",children:e.jsxs("div",{className:"py-6 px-12",children:[e.jsxs("header",{className:"mb-8 flex justify-between items-center",children:[e.jsx("div",{children:e.jsx("h1",{className:"text-3xl font-bold text-gray-900 m-0 mb-2",children:"CodeYam"})}),W.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:X.map((s,t)=>e.jsx(m,{to:s.link,className:"flex-1 bg-white rounded-xl border border-gray-200 overflow-hidden flex transition-all hover:shadow-lg hover:-translate-y-0.5 no-underline",style:{borderLeft:`4px solid ${s.color}`},children:e.jsxs("div",{className:"px-6 py-4 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.jsx("div",{className:"text-xs text-gray-700 font-medium",children:s.label}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 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 flex-shrink-0",style:{backgroundColor:`${s.color}15`},children:[s.iconType==="folder"&&e.jsx(de,{size:20,style:{color:s.color}}),s.iconType==="check"&&e.jsx(le,{size:20,style:{color:s.color}}),s.iconType==="image"&&e.jsx(b,{size:20,style:{color:s.color}}),s.iconType==="gear"&&e.jsx(ie,{size:20,style:{color:s.color}}),s.iconType==="code-xml"&&e.jsx(V,{size:20,style:{color:s.color}})]}),e.jsx("div",{className:"text-2xl font-bold text-gray-900 leading-none",children:s.value})]}),e.jsx("div",{className:"text-xs font-medium transition-colors flex items-center gap-1 md:hidden",style:{color:s.color},children:"View All →"})]})]})},t))}),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:g.length>0?`${g.length} file${g.length!==1?"s":""} with ${C.length} uncommitted entit${C.length!==1?"ies":"y"}`:"No uncommitted changes detected"})]}),D.length>0&&e.jsx("button",{onClick:Q,disabled:i.state!=="idle"||L||c.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:i.state!=="idle"||L?"Starting analysis...":c.length===0?"All Queued":`Analyze All (${c.length})`})]}),g.length>0?e.jsx("div",{className:"flex flex-col gap-3",children:g.map(([s,t])=>{const l=I.has(s),a=t.editedEntities||[];return e.jsxs("div",{className:"bg-white border border-gray-200 border-l-4 rounded-lg overflow-hidden",style:{borderLeftColor:"#306AFF"},children:[e.jsx("div",{className:"p-4 cursor-pointer select-none transition-colors hover:bg-gray-50",onClick:()=>O(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:[a.length," entit",a.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:a.length>0?a.map(n=>{const u=$.has(n.sha),p=M.has(n.sha)||B.has(n.sha);return e.jsxs(m,{to:`/entity/${n.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:n.entityType==="visual"?"#8B5CF615":n.entityType==="library"?"#6366F1":"#EC4899"},children:[n.entityType==="visual"&&e.jsx(b,{size:16,style:{color:"#8B5CF6"}}),n.entityType==="library"&&e.jsx(V,{size:16,className:"text-white"}),n.entityType==="other"&&e.jsx(oe,{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:n.name}),n.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"}),n.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"}),n.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"})]}),n.description&&e.jsx("div",{className:"text-sm text-gray-500 mt-1 overflow-hidden text-ellipsis whitespace-nowrap",children:n.description})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[u&&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(w,{size:14,className:"animate-spin"}),"Analyzing..."]}),!u&&p&&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"}),!u&&!p&&e.jsx("button",{onClick:r=>{r.preventDefault(),r.stopPropagation(),x(`Starting analysis for ${n.name}...`,"info",3e3),i.submit({entityShas:n.sha},{method:"post",action:"/api/analyze"})},disabled:i.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"})]})]},n.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 bg-gray-50 rounded-lg min-h-[200px] justify-center",children:[e.jsxs("svg",{width:"52",height:"68",viewBox:"0 0 26 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"mb-4 opacity-40",children:[e.jsxs("g",{clipPath:"url(#clip0_784_10631)",children:[e.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H18.9423L26.0318 7.14651V31.4562C26.0318 32.8693 24.8863 34.0148 23.4732 34.0148H2.55857C1.14551 34.0148 0 32.8693 0 31.4562V2.55857Z",fill:"#D9D9D9"}),e.jsx("path",{d:"M18.9453 7.08081H26.0261L18.9453 0V7.08081Z",fill:"#646464"}),e.jsx("line",{x1:"3.92188",y1:"13.3633",x2:"21.7341",y2:"13.3633",stroke:"#646464",strokeWidth:"1.27929"}),e.jsx("line",{x1:"3.92188",y1:"19.4863",x2:"13.0321",y2:"19.4863",stroke:"#646464",strokeWidth:"1.27929"}),e.jsx("line",{x1:"3.92188",y1:"25.6016",x2:"21.7341",y2:"25.6016",stroke:"#646464",strokeWidth:"1.27929"})]}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0_784_10631",children:e.jsx("rect",{width:"26",height:"34",fill:"white"})})})]}),e.jsx("p",{className:"text-sm font-medium text-gray-400 m-0 mb-2",children:"No Uncommitted Changes."})]})]}),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:h.length>0?`Latest ${h.length} captured screenshot${h.length!==1?"s":""}`:"No simulations captured yet"})]})}),h.length>0&&!o?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"space-y-6 mb-5",children:G.map(s=>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(b,{size:16,style:{color:"#8B5CF6"}})}),e.jsx(m,{to:`/entity/${s.entitySha}`,className:"text-sm font-semibold text-gray-900 no-underline hover:text-gray-700 transition-colors",children:s.entityName})]}),e.jsx("div",{className:"grid grid-cols-4 gap-3",children:s.scenarios.map((t,l)=>e.jsx(m,{to:t.scenarioId?`/entity/${t.entitySha}/scenarios/${t.scenarioId}`:`/entity/${t.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:a=>{a.currentTarget.style.borderColor="#005C75",a.currentTarget.style.boxShadow="0 4px 12px rgba(0, 92, 117, 0.2)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="#E5E7EB",a.currentTarget.style.boxShadow="none"},title:`${t.scenarioName}`,children:e.jsx(H,{screenshotPath:t.screenshotPath,alt:t.scenarioName,className:"max-w-full max-h-full object-contain object-center"})},l))})]},s.entitySha))}),e.jsx(m,{to:"/recent",className:"block text-center p-3 rounded-lg no-underline font-semibold text-sm transition-all",style:{color:"#005C75",backgroundColor:"#F6F9FC"},onMouseEnter:s=>s.currentTarget.style.backgroundColor="#EEF4F8",onMouseLeave:s=>s.currentTarget.style.backgroundColor="#F6F9FC",children:"View All Recent Simulations →"})]}):o?e.jsxs("div",{className:"p-0 bg-white rounded-lg flex flex-col gap-0",children:[f&&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(ae,{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 ",f.name]}),e.jsx("div",{className:"text-[13px] text-gray-500 font-mono overflow-hidden text-ellipsis whitespace-nowrap",children:f.filePath})]})]})}),E?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":"",")"]})]}):S?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(w,{size:18,className:"animate-spin shrink-0"}),e.jsx("span",{className:"flex-1 overflow-hidden text-ellipsis whitespace-nowrap font-mono text-xs",title:S,children:S}),v&&e.jsx("button",{onClick:()=>A(!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"})]}):i.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(w,{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(w,{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,t)=>{const l=s.metadata?.screenshotPaths?.[0],a=U.find(p=>p.name===s.name),n=a?.screenshotStartedAt&&!a?.screenshotFinishedAt;return l?e.jsx(m,{to:`/entity/${o}`,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(H,{screenshotPath:l,alt:s.name,title:s.name,className:"max-w-full max-h-full object-contain object-center"})},t):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:n?"animate-pulse":"text-gray-400",children:n?"⋯":"âšī¸"})},t)})})]}):e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsxs("div",{className:"py-12 px-6 text-center bg-gray-50 rounded-lg w-full flex flex-col items-center justify-center min-h-[200px]",children:[e.jsx("div",{className:"mb-4 bg-[#efefef] rounded-lg p-3",children:e.jsx(b,{size:28,style:{color:"#999999"},strokeWidth:1.5})}),e.jsx("p",{className:"text-gray-700 m-0 font-semibold",children:"Start by analyzing your first component below."})]}),(y?.length??0)>0?e.jsx(e.Fragment,{children:e.jsx("div",{className:"flex flex-col gap-3 mt-6 w-full",children:(o&&f?[f]:y||[]).map(s=>e.jsx("div",{className:"flex flex-col gap-3",children:e.jsxs("div",{className:"flex items-center gap-4 p-4 bg-white border border-gray-200 rounded-lg transition-colors",style:{borderLeft:"4px solid #8B5CF6"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#F9FAFB"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="white"},children:[e.jsxs(m,{to:`/entity/${s.sha}`,className:"flex items-center gap-4 flex-1 min-w-0 no-underline",children:[e.jsx("div",{className:"shrink-0 rounded-lg p-1.5 flex items-center justify-center bg-purple-100",children:e.jsx(b,{size:16,style:{color:"#8B5CF6"}})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"font-semibold text-gray-900 text-sm mb-1",children:s.name}),e.jsx("div",{className:"text-xs text-gray-500 font-mono overflow-hidden text-ellipsis whitespace-nowrap",children:s.filePath})]})]}),e.jsx("button",{onClick:()=>Y(s.sha,s.filePath||""),disabled:i.state!=="idle"||o!==null,className:"px-4 py-2 text-white border-none rounded text-sm font-medium cursor-pointer transition-all whitespace-nowrap shrink-0 disabled:bg-gray-400 disabled:cursor-not-allowed disabled:translate-y-0",style:{backgroundColor:"#005C75"},onMouseEnter:t=>t.currentTarget.style.backgroundColor="#004560",onMouseLeave:t=>t.currentTarget.style.backgroundColor="#005C75",title:o?"Please wait for current analysis to complete":"Analyze this entity",children:"Analyze"})]})},s.sha))})}):e.jsx("p",{className:"text-base text-gray-600 m-0 mb-6 leading-relaxed mt-6",children:"Run analysis on your visual components to create simulations and capture screenshots"})]})]})]}),R&&v&&e.jsx(ne,{projectSlug:v,onClose:()=>A(!1)})]})})}export{we as default,Ne as meta};
@@ -1,10 +0,0 @@
1
- import{b as E,j as e,L as g,u as L,f as q,r as A,d as D}from"./components-Dj-Ggnl2.js";import{S as K}from"./settings-COJUrwGu.js";import{c as T,F as C}from"./file-text-B6Er7j5k.js";import{L as F}from"./LogViewer-BKKG1s2B.js";import{u as I}from"./useLastLogLine-Lumm1t01.js";import{C as $,S as z}from"./ScenarioPreview-5DY-YIxu.js";import{C as W}from"./chart-column-VXBS6qOn.js";import{C as B}from"./circle-alert-n5GUC2AS.js";import"./SafeScreenshot-DU_jxCPD.js";import"./LibraryFunctionPreview-DqXXjAJ7.js";const H=[["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}]],_=T("cog",H);const Q=[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]],J=T("list-todo",Q);const V=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],M=T("pause",V);function O(s){const t=Date.now(),c=new Date(s).getTime(),l=t-c,i=Math.floor(l/6e4),a=Math.floor(i/60);return i<1?"just now":i<60?`${i}m ago`:a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function R({state:s,currentRun:t}){E();const c=t?.currentEntityShas&&t.currentEntityShas.length>0;return!s.currentlyExecuting&&(!s.jobs||s.jobs.length===0)?null:e.jsxs("div",{className:"bg-white border-2 rounded-xl shadow-lg p-5 mb-6",style:{borderColor:"#005C75"},children:[s.currentlyExecuting&&!c&&e.jsxs("div",{className:"mb-4 border-2 rounded-lg p-3",style:{backgroundColor:"#e8f1f5",borderColor:"#005C75"},children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(K,{size:20,className:"animate-spin",style:{color:"#005C75"}}),e.jsx("span",{className:"text-sm font-bold",style:{color:"#003d52"},children:"Starting analysis..."})]}),e.jsxs("p",{className:"text-xs mb-2",style:{color:"#004a5e"},children:["Booting analyzer for"," ",s.currentlyExecuting.entities?.length||s.currentlyExecuting.entityShas?.length||1," ",(s.currentlyExecuting.entities?.length||s.currentlyExecuting.entityShas?.length)===1?"entity":"entities"]}),s.currentlyExecuting.entities&&s.currentlyExecuting.entities.length>0&&e.jsxs("div",{className:"space-y-1 mt-2 max-h-[100px] overflow-y-auto bg-white rounded-md p-2 border",style:{borderColor:"#b3d9e6"},children:[s.currentlyExecuting.entities.slice(0,3).map(l=>e.jsxs(g,{to:`/entity/${l.sha}`,className:"flex items-center gap-1.5 text-xs hover:underline font-medium truncate",title:`${l.name} - ${l.filePath}`,style:{color:"#005C75"},onMouseEnter:i=>i.currentTarget.style.color="#003d52",onMouseLeave:i=>i.currentTarget.style.color="#005C75",children:[e.jsx(C,{size:12,style:{strokeWidth:1.5,flexShrink:0}}),e.jsxs("span",{className:"truncate",children:[l.name,e.jsxs("span",{className:"text-gray-400 ml-1",children:["(",l.filePath,")"]})]})]},l.sha)),s.currentlyExecuting.entities.length>3&&e.jsxs("div",{className:"text-xs italic",style:{color:"#005C75"},children:["+",s.currentlyExecuting.entities.length-3," more entities"]})]}),e.jsx("p",{className:"text-xs mt-2",style:{color:"#005C75"},children:"This may take 2-3 minutes for environment setup"})]}),s.jobs.length>0&&e.jsxs("div",{className:"space-y-2",children:[s.jobs.slice(0,5).map((l,i)=>{l.entities?.length||l.entityShas?.length,l.filePaths?.length,l.entityNames?.[0];const a=l.entities&&l.entities.length>0;return e.jsx("div",{className:"flex items-start gap-3",children:e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:["Job ",i+1]}),e.jsx("span",{className:"text-xs text-gray-400",children:"â€ĸ"}),e.jsx("span",{className:"text-xs text-gray-500",children:O(l.queuedAt)})]}),a&&e.jsxs("div",{className:"space-y-1 mt-2 max-h-[120px] overflow-y-auto bg-white rounded-md p-2 border border-gray-200",children:[l.entities.slice(0,5).map(n=>e.jsxs(g,{to:`/entity/${n.sha}`,className:"flex items-center gap-1.5 text-xs hover:underline font-medium truncate",title:`${n.name} - ${n.filePath}`,style:{color:"#005C75"},onMouseEnter:u=>u.currentTarget.style.color="#003d52",onMouseLeave:u=>u.currentTarget.style.color="#005C75",children:[e.jsx(C,{size:12,style:{strokeWidth:1.5,flexShrink:0}}),e.jsxs("span",{className:"truncate",children:[n.name,e.jsxs("span",{className:"text-gray-400 ml-1",children:["(",n.filePath,")"]})]})]},n.sha)),l.entities.length>5&&e.jsxs("div",{className:"text-xs text-gray-500 italic",children:["+",l.entities.length-5," more entities"]})]}),l.type==="recapture"&&l.scenarioId&&e.jsxs("div",{className:"text-xs text-gray-500 mt-1 font-mono",children:["Scenario: ",l.scenarioId]})]})},l.id)}),s.jobs.length>5&&e.jsxs("div",{className:"text-xs text-gray-500 text-center py-2",children:["+",s.jobs.length-5," more jobs in queue"]})]})]})}function U({activeTab:s,hasCurrentActivity:t,queuedCount:c,historicCount:l}){const i=[{id:"current",label:"Current Activity",hasContent:t,count:null},{id:"queued",label:"Queued Activity",hasContent:c>0,count:c},{id:"historic",label:"Historic Activity",hasContent:l>0,count:l}];return e.jsx("div",{className:"border-b border-gray-200 mb-6",children:e.jsx("nav",{className:"flex gap-8",children:i.map(a=>{const n=s===a.id;return e.jsx(g,{to:a.id==="current"?"/activity":`/activity/${a.id}`,className:`
2
- relative pb-4 px-2 text-sm font-medium transition-colors
3
- ${n?"border-b-2":"text-gray-500 hover:text-gray-700"}
4
- `,style:n?{color:"#005C75",borderColor:"#005C75"}:{},children:e.jsxs("span",{className:"flex items-center gap-2",children:[a.label,a.count!==null&&a.count>0&&e.jsx("span",{className:`
5
- inline-flex items-center justify-center px-2 py-0.5 text-xs font-semibold rounded-full
6
- ${n?"":"bg-gray-200 text-gray-700"}
7
- `,style:n?{backgroundColor:"#e8f1f5",color:"#005C75"}:{},children:a.count}),a.count===null&&a.hasContent&&e.jsx("span",{className:`
8
- inline-block w-2 h-2 rounded-full
9
- ${n?"":"bg-gray-400"}
10
- `,style:n?{backgroundColor:"#005C75"}:{}})]})},a.id)})})})}function G(s){const t=new Date(s),l=Math.floor((new Date().getTime()-t.getTime())/1e3);if(l<60)return"just now";const i=Math.floor(l/60);if(i<60)return`${i}m ago`;const a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function X({currentlyExecuting:s,currentRun:t,state:c,projectSlug:l,commitSha:i,onShowLogs:a,recentCompletedRuns:n,totalCompletedRuns:u}){const[h,P]=A.useState({}),[p,j]=A.useState({isKilling:!1,current:0,total:0}),w=D(),k=!!s,y=s?.entities||[],x=!!t?.analysisCompletedAt,N=k,{lastLine:v}=I(l,N);return A.useEffect(()=>{if(!t)return;const r=[t.analyzerPid,t.capturePid].filter(o=>!!o);if(r.length===0)return;const m=async()=>{try{const d=await(await fetch(`/api/process-status?pids=${r.join(",")}`)).json();if(d.processes){const b={};d.processes.forEach(S=>{b[S.pid]={isRunning:S.isRunning,processName:S.processName}}),P(b)}}catch(o){console.error("Failed to fetch process statuses:",o)}};m();const f=setInterval(()=>void m(),5e3);return()=>clearInterval(f)},[t?.analyzerPid,t?.capturePid]),N?e.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-6",style:{borderWidth:"2px",borderColor:"#005C75"},children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[e.jsx("div",{className:"p-2 bg-gray-100 rounded-full animate-spin",children:e.jsx(_,{size:24,className:"text-gray-700"})}),e.jsx("h3",{className:"text-xl font-bold text-gray-900",children:x?"Capture in Progress":"Analysis in Progress"})]}),e.jsx("button",{onClick:a,className:"px-4 py-2 text-white rounded-md text-sm font-semibold transition-colors",style:{backgroundColor:"#005C75"},onMouseEnter:r=>r.currentTarget.style.backgroundColor="#003d52",onMouseLeave:r=>r.currentTarget.style.backgroundColor="#005C75",children:"View Logs"})]}),x&&(t?.readyToBeCaptured??0)>0&&e.jsxs("div",{className:"rounded-md p-4 mb-4",style:{backgroundColor:"#f0f5f8",borderColor:"#b3d9e8",borderWidth:"1px"},children:[e.jsx("p",{className:"text-sm font-semibold mb-1",style:{color:"#00263d"},children:"Capture Progress:"}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("p",{className:"text-sm",style:{color:"#004560"},children:[t?.capturesCompleted??0," of"," ",t?.readyToBeCaptured??0," entities captured"]}),e.jsx("div",{className:"flex-1 rounded-full h-2",style:{backgroundColor:"#b3d9e8"},children:e.jsx("div",{className:"h-2 rounded-full transition-all duration-300",style:{backgroundColor:"#005C75",width:`${(t?.capturesCompleted??0)/(t?.readyToBeCaptured??1)*100}%`}})})]})]}),y&&y.length>0&&e.jsxs("div",{className:"mb-4",children:[e.jsxs("p",{className:"text-sm font-semibold text-gray-700 mb-2",children:[x?"Capturing":"Analyzing"," ",y.length," ",y.length===1?"Entity":"Entities",":"]}),e.jsx("div",{className:"space-y-3",children:y.map(r=>{const m=r.analyses?.[0],f=m?.scenarios||[],o=m?.status;return e.jsxs("div",{className:"bg-gray-50 rounded-md p-3",children:[e.jsxs(g,{to:`/entity/${r.sha}`,className:"flex items-center gap-1.5 text-sm hover:underline font-medium truncate mb-2",title:`${r.name} - ${r.filePath}`,style:{color:"#005C75"},onMouseEnter:d=>d.currentTarget.style.color="#003d52",onMouseLeave:d=>d.currentTarget.style.color="#005C75",children:[e.jsx(C,{size:14,style:{strokeWidth:1.5,flexShrink:0}}),e.jsxs("span",{className:"truncate",children:[r.name,e.jsxs("span",{className:"text-gray-500 ml-2 text-xs",children:["(",r.filePath,")"]})]})]}),f.length>0&&e.jsx("div",{className:"flex gap-2 flex-wrap",children:f.slice(0,5).map((d,b)=>d.id?e.jsx(z,{scenario:d,entity:{sha:r.sha,entityType:r.entityType},analysisStatus:o,queueState:c,processIsRunning:N,size:"small"},b):null)})]},r.sha)})})]}),v&&e.jsxs("div",{className:"flex flex-col gap-2 mb-4",children:[e.jsx("p",{className:"text-sm font-semibold text-gray-700",children:"Current Step:"}),e.jsx("p",{className:"text-sm text-gray-600 font-mono",children:v})]}),(t?.analyzerPid||t?.capturePid)&&e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("p",{className:"text-sm font-semibold text-gray-700",children:"Running Processes:"}),e.jsxs("div",{className:"flex items-center justify-between bg-gray-50 rounded-md p-3",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[t.analyzerPid&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-xs font-mono bg-gray-200 px-2 py-1 rounded",children:["Analyzer: ",t.analyzerPid]}),h[t.analyzerPid]&&e.jsx("span",{className:`text-xs px-2 py-1 rounded ${h[t.analyzerPid].isRunning?"bg-green-100 text-green-700":"bg-red-100 text-red-700"}`,children:h[t.analyzerPid].isRunning?"Running":"Stopped"})]}),t.capturePid&&e.jsxs(e.Fragment,{children:[t.analyzerPid&&e.jsx("span",{className:"text-gray-400",children:"|"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-xs font-mono bg-gray-200 px-2 py-1 rounded",children:["Capture: ",t.capturePid]}),h[t.capturePid]&&e.jsx("span",{className:`text-xs px-2 py-1 rounded ${h[t.capturePid].isRunning?"bg-green-100 text-green-700":"bg-red-100 text-red-700"}`,children:h[t.capturePid].isRunning?"Running":"Stopped"})]})]})]}),(h[t.analyzerPid]?.isRunning||h[t.capturePid]?.isRunning)&&e.jsxs("div",{className:"flex items-center gap-3",children:[p.isKilling&&e.jsxs("span",{className:"text-xs text-gray-600 font-medium",children:["Killing process ",p.current," of"," ",p.total,"..."]}),e.jsx("button",{onClick:()=>{const r=[t.analyzerPid,t.capturePid].filter(o=>!!o&&h[o]?.isRunning);if(r.length===0)return;const m=r.join(", ");if(!confirm(`Are you sure you want to kill all running processes (${m})?`))return;j({isKilling:!0,current:1,total:r.length}),(async()=>{for(let o=0;o<r.length;o++){const d=r[o];try{await fetch("/api/kill-process",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pid:d,commitSha:i||""})})}catch(b){console.error(`Failed to kill process ${d}:`,b)}o<r.length-1&&j({isKilling:!0,current:o+2,total:r.length})}j({isKilling:!1,current:0,total:0}),w.revalidate()})()},disabled:p.isKilling,className:"px-3 py-1 bg-red-600 text-white rounded-md text-xs font-semibold hover:bg-red-700 transition-colors whitespace-nowrap disabled:opacity-50 disabled:cursor-not-allowed",children:p.isKilling?"Killing...":"Kill All Processes"})]})]})]})]}):e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-gray-50 rounded-xl p-12 text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("div",{className:"p-2 bg-gray-200 rounded-lg",children:e.jsx(M,{size:20,className:"text-gray-600"})})}),e.jsx("h3",{className:"text-xl font-semibold text-gray-700 mb-2",children:"No Current Activity"}),e.jsxs("p",{className:"text-gray-500",children:["There are no analyses currently running. Trigger an analysis from the"," ",e.jsx(g,{to:"/git",className:"text-[#005C75] underline hover:text-[#004a5e]",children:"Git"})," ","or"," ",e.jsx(g,{to:"/files",className:"text-[#005C75] underline hover:text-[#004a5e]",children:"Files"})," ","page."]})]}),n&&n.length>0&&e.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-4",children:"Recent Completed Analyses"}),e.jsx("div",{className:"space-y-3",children:n.map(r=>{const m=r.analysisCompletedAt||r.archivedAt||r.createdAt,f=r.entities&&r.entities.length>0;return e.jsxs("div",{className:"bg-green-50 border border-green-200 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx($,{size:18,className:"text-green-600"}),e.jsx("span",{className:"text-sm font-semibold text-gray-900",children:"Completed"}),e.jsx("span",{className:"text-xs text-gray-400",children:"â€ĸ"}),e.jsx("span",{className:"text-xs text-gray-500",children:m?G(m):"Unknown"})]}),f&&e.jsxs("div",{className:"ml-7 space-y-1",children:[r.entities.slice(0,3).map(o=>e.jsxs(g,{to:`/entity/${o.sha}`,className:"flex items-center gap-1.5 text-sm hover:underline truncate",title:`${o.name} - ${o.filePath}`,style:{color:"#005C75"},onMouseEnter:d=>d.currentTarget.style.color="#003d52",onMouseLeave:d=>d.currentTarget.style.color="#005C75",children:[e.jsx(C,{size:14,style:{strokeWidth:1.5,flexShrink:0}}),e.jsxs("span",{className:"truncate",children:[o.name,e.jsxs("span",{className:"text-gray-400 ml-1 text-xs",children:["(",o.filePath,")"]})]})]},o.sha)),r.entities.length>3&&e.jsxs("div",{className:"text-xs text-gray-500 italic",children:["+",r.entities.length-3," more entities"]})]})]},r.id)})}),u>3&&e.jsx("div",{className:"mt-4 text-center",children:e.jsx(g,{to:"/activity/historic",className:"text-sm font-medium",style:{color:"#005C75"},onMouseEnter:r=>r.currentTarget.style.color="#003d52",onMouseLeave:r=>r.currentTarget.style.color="#005C75",children:"View All Historic Activity →"})})]})]})}function Y({queueJobs:s,state:t,currentRun:c}){return!s||s.length===0?e.jsxs("div",{className:"bg-gray-50 rounded-xl p-12 text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("div",{className:"p-3 bg-gray-200 rounded-lg",children:e.jsx(J,{size:20,className:"text-gray-600"})})}),e.jsx("h3",{className:"text-xl font-semibold text-gray-700 mb-2",children:"No Queued Jobs"}),e.jsx("p",{className:"text-gray-500",children:"Analysis jobs will appear here when they are queued but not yet started."})]}):e.jsx("div",{children:e.jsx(R,{state:t,currentRun:c})})}function Z({historicalRuns:s,totalHistoricalRuns:t,currentPage:c,totalPages:l,tab:i}){return t===0?e.jsxs("div",{className:"bg-gray-50 rounded-xl p-12 text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("div",{className:"p-3 bg-gray-200 rounded-lg",children:e.jsx(W,{size:20,className:"text-gray-600"})})}),e.jsx("h3",{className:"text-xl font-semibold text-gray-700 mb-2",children:"No Historic Activity"}),e.jsx("p",{className:"text-gray-500",children:"Completed analyses will appear here for historical reference."})]}):e.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[e.jsx("div",{className:"space-y-3",children:s.map(a=>{const n=!!a.failedAt,u=a.readyToBeCaptured,h=a.capturesCompleted??0,P=u===void 0?!0:u===0||h>=u,p=!n&&!!a.analysisCompletedAt&&P,j=a.createdAt?new Date(a.createdAt):null,w=a.failedAt?new Date(a.failedAt):a.analysisCompletedAt?new Date(a.analysisCompletedAt):null,k=j&&w?(w.getTime()-j.getTime())/1e3:null,y=a.entities&&a.entities.length>0;return e.jsx("div",{className:`border rounded-lg p-4 ${n?"bg-red-50 border-red-200":p?"bg-green-50 border-green-200":"bg-gray-50 border-gray-200"}`,children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n?e.jsx(B,{size:20,className:"text-red-500"}):p?e.jsx($,{size:20,className:"text-green-500"}):e.jsx(M,{size:20,className:"text-gray-400"}),e.jsx("span",{className:"text-sm font-semibold text-gray-900",children:n?"Failed":p?"Completed":"Incomplete"}),e.jsx("span",{className:"text-xs text-gray-400",children:"â€ĸ"}),e.jsx("span",{className:"text-xs text-gray-500",children:a.archivedAt?new Date(a.archivedAt).toLocaleString():a.createdAt?new Date(a.createdAt).toLocaleString():"Unknown"})]}),y&&e.jsxs("div",{className:"ml-7 mt-2 space-y-2 max-h-[300px] overflow-y-auto bg-white rounded-md p-2 border border-gray-200",children:[a.entities.slice(0,5).map(x=>{const N=x.analyses?.[0],v=N?.scenarios||[];return e.jsxs("div",{className:"pb-2 border-b last:border-b-0 border-gray-100",children:[e.jsxs(g,{to:`/entity/${x.sha}`,className:"flex items-center gap-1.5 text-xs hover:underline font-medium truncate mb-1",title:`${x.name} - ${x.filePath}`,style:{color:"#005C75"},onMouseEnter:r=>r.currentTarget.style.color="#003d52",onMouseLeave:r=>r.currentTarget.style.color="#005C75",children:[e.jsx(C,{size:12,style:{strokeWidth:1.5,flexShrink:0}}),e.jsxs("span",{className:"truncate",children:[x.name,e.jsxs("span",{className:"text-gray-400 ml-1",children:["(",x.filePath,")"]})]})]}),v.length>0&&e.jsx("div",{className:"flex gap-1.5 flex-wrap mt-1.5",children:v.slice(0,5).map((r,m)=>r.id?e.jsx(z,{scenario:r,entity:{sha:x.sha,entityType:x.entityType},analysisStatus:N?.status,queueState:void 0,processIsRunning:!1,size:"small"},m):null)})]},x.sha)}),a.entities.length>5&&e.jsxs("div",{className:"text-xs text-gray-500 italic pt-1",children:["+",a.entities.length-5," more entities"]})]}),a.failureReason&&e.jsx("p",{className:"text-xs text-red-600 mt-2 font-mono ml-7",children:a.failureReason})]}),k!==null&&e.jsxs("div",{className:"text-xs text-gray-500",children:[k.toFixed(1),"s"]})]})},a.id)})}),l>1&&e.jsxs("div",{className:"mt-6 flex items-center justify-between border-t border-gray-200 pt-4",children:[e.jsxs("div",{className:"text-sm text-gray-600",children:["Showing ",(c-1)*20+1," -"," ",Math.min(c*20,t)," of"," ",t," runs"]}),e.jsxs("div",{className:"flex gap-2",children:[c>1&&e.jsx(g,{to:`/activity/${i}?page=${c-1}`,className:"px-3 py-1 bg-gray-100 text-gray-700 rounded-md text-sm font-medium hover:bg-gray-200 transition-colors",children:"Previous"}),c<l&&e.jsx(g,{to:`/activity/${i}?page=${c+1}`,className:"px-3 py-1 bg-gray-100 text-gray-700 rounded-md text-sm font-medium hover:bg-gray-200 transition-colors",children:"Next"})]})]})]})}function de(){const s=L(),t=q(),[c,l]=A.useState(!1),i=t.tab||"current";return e.jsxs("div",{className:"px-36 py-12",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-2",children:"Activity"}),e.jsx("p",{className:"text-gray-600",children:"View queued, current, and historical analysis activity"})]}),e.jsx(U,{activeTab:i,hasCurrentActivity:s.hasCurrentActivity,queuedCount:s.queuedCount,historicCount:s.totalHistoricalRuns}),i==="current"&&e.jsx(X,{currentlyExecuting:s.currentlyExecuting,currentRun:s.currentRun,state:s.state,projectSlug:s.projectSlug,commitSha:s.commitSha,onShowLogs:()=>l(!0),recentCompletedRuns:s.recentCompletedRuns,totalCompletedRuns:s.totalCompletedRuns}),i==="queued"&&e.jsx(Y,{queueJobs:s.queueJobs,state:s.state,currentRun:s.currentRun}),i==="historic"&&e.jsx(Z,{historicalRuns:s.historicalRuns,totalHistoricalRuns:s.totalHistoricalRuns,currentPage:s.currentPage,totalPages:s.totalPages,tab:i}),c&&s.projectSlug&&e.jsx(F,{projectSlug:s.projectSlug,onClose:()=>l(!1)})]})}export{de as default};
@@ -1 +0,0 @@
1
- import{c as t}from"./file-text-B6Er7j5k.js";const a=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],o=t("chart-column",a);export{o as C};
@@ -1 +0,0 @@
1
- import{c as e}from"./file-text-B6Er7j5k.js";const c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],y=e("circle-alert",c);export{y as C};
@@ -1 +0,0 @@
1
- import{c}from"./file-text-B6Er7j5k.js";const o=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],r=c("clock",o);export{r as C};