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

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 (1052) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +30 -26
  5. package/analyzer-template/packages/ai/index.ts +21 -5
  6. package/analyzer-template/packages/ai/package.json +4 -4
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +228 -24
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +205 -10
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +181 -23
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +38 -1
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  17. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1619 -125
  18. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  19. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +324 -5
  20. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  21. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2761 -390
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +21 -4
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +976 -0
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +243 -77
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +71 -2
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +161 -19
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +163 -14
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +441 -82
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  38. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -0
  39. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  40. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  41. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  42. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
  43. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +89 -112
  44. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +63 -2
  45. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1419 -101
  46. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +216 -109
  47. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +710 -0
  48. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  49. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  50. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  51. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  52. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  53. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  54. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  55. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  56. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +17 -7
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -102
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +110 -6
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -53
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  66. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  67. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  68. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  69. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  70. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +127 -3
  71. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
  72. package/analyzer-template/packages/analyze/index.ts +2 -0
  73. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  74. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  75. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  76. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  77. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  78. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  79. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  81. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  83. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  84. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  85. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +570 -180
  86. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +54 -1
  87. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
  89. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  90. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  91. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  92. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  93. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  94. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  95. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  96. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +22 -13
  97. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -0
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +711 -78
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +550 -137
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -83
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1067 -167
  108. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  109. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  110. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  111. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  112. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  113. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  114. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  115. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  116. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  117. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  118. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  119. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  120. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  124. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  125. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  126. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  127. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  128. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  129. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  130. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  131. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  132. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  133. package/analyzer-template/packages/aws/package.json +10 -10
  134. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  135. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  136. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  137. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  138. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  139. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  140. package/analyzer-template/packages/database/package.json +1 -1
  141. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  142. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  143. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  144. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  145. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  146. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  147. package/analyzer-template/packages/database/src/lib/kysely/db.ts +18 -5
  148. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  149. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  150. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +36 -9
  151. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  152. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  153. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  154. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  155. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  156. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  157. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  158. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  159. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +30 -5
  160. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  161. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  162. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  163. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  164. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  165. package/analyzer-template/packages/generate/index.ts +3 -0
  166. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  167. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  168. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  169. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  170. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  171. package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
  172. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  173. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  174. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  175. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  176. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  178. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  179. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  185. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -2
  187. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +13 -3
  189. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  190. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  191. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -11
  192. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +30 -7
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  207. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
  208. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  209. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  211. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  212. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  213. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  214. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  215. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  216. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  217. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  218. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  219. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  220. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  221. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  222. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  223. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  224. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  225. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  226. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  227. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  228. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  229. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  230. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  231. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  232. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  233. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +23 -5
  234. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  235. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  236. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  237. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  238. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  239. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  240. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  241. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  242. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  243. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  244. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  245. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  246. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  247. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  248. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  249. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  250. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  251. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  252. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  253. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  254. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  255. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  256. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  257. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  258. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  259. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  260. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  261. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  262. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  263. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  264. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  265. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  266. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
  267. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
  268. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
  269. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  270. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  271. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  272. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  273. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  274. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  275. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  276. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  277. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  278. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  279. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  280. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  281. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  282. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  283. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  284. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  285. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +87 -13
  286. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  287. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  288. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  289. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  290. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  291. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  292. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  293. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
  294. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  295. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  296. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  297. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  298. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  299. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  300. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  301. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  302. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  303. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  304. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  305. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  306. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  307. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  308. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  309. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  310. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  311. package/analyzer-template/packages/github/package.json +1 -1
  312. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  313. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  314. package/analyzer-template/packages/process/index.ts +2 -0
  315. package/analyzer-template/packages/process/package.json +12 -0
  316. package/analyzer-template/packages/process/tsconfig.json +8 -0
  317. package/analyzer-template/packages/types/index.ts +5 -0
  318. package/analyzer-template/packages/types/src/types/Analysis.ts +104 -13
  319. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  320. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  321. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
  322. package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
  323. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
  324. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  325. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  326. package/analyzer-template/packages/ui-components/package.json +4 -4
  327. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  328. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  329. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  330. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  331. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +87 -13
  332. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  333. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  334. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  335. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  336. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  337. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  338. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  339. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
  340. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  341. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  342. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  343. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  344. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  345. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  346. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  347. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  348. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  349. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  350. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  351. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
  352. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  353. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  354. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  355. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  356. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  357. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  358. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  359. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  360. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +28 -2
  361. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
  362. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  363. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  364. package/analyzer-template/playwright/capture.ts +57 -26
  365. package/analyzer-template/playwright/captureStatic.ts +1 -1
  366. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  367. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  368. package/analyzer-template/playwright/takeScreenshot.ts +15 -9
  369. package/analyzer-template/playwright/waitForServer.ts +21 -6
  370. package/analyzer-template/project/TESTING.md +83 -0
  371. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  372. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  373. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  374. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  375. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  376. package/analyzer-template/project/constructMockCode.ts +1347 -159
  377. package/analyzer-template/project/controller/startController.ts +16 -1
  378. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  379. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  380. package/analyzer-template/project/loadReadyToBeCaptured.ts +82 -42
  381. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  382. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  383. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +13 -9
  384. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +93 -42
  385. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  386. package/analyzer-template/project/orchestrateCapture.ts +92 -13
  387. package/analyzer-template/project/reconcileMockDataKeys.ts +245 -2
  388. package/analyzer-template/project/runAnalysis.ts +11 -0
  389. package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
  390. package/analyzer-template/project/serverOnlyModules.ts +413 -0
  391. package/analyzer-template/project/start.ts +72 -19
  392. package/analyzer-template/project/startScenarioCapture.ts +79 -41
  393. package/analyzer-template/project/writeMockDataTsx.ts +466 -73
  394. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  395. package/analyzer-template/project/writeScenarioComponents.ts +1509 -226
  396. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  397. package/analyzer-template/project/writeSimpleRoot.ts +56 -22
  398. package/analyzer-template/project/writeUniversalMocks.ts +32 -11
  399. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  400. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  401. package/analyzer-template/tsconfig.json +2 -1
  402. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  403. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  404. package/background/src/lib/local/execAsync.js +1 -1
  405. package/background/src/lib/local/execAsync.js.map +1 -1
  406. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  407. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  408. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  409. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  410. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  411. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  412. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  413. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  414. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  415. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  416. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  417. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  418. package/background/src/lib/virtualized/project/constructMockCode.js +1194 -120
  419. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  420. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  421. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  422. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  423. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  424. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  425. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  426. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +34 -9
  427. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  428. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  429. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  430. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  431. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  432. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +12 -6
  433. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  434. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -36
  435. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  436. package/background/src/lib/virtualized/project/orchestrateCapture.js +76 -14
  437. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  438. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +204 -2
  439. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  440. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  441. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  442. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
  443. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  444. package/background/src/lib/virtualized/project/serverOnlyModules.js +338 -0
  445. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  446. package/background/src/lib/virtualized/project/start.js +62 -19
  447. package/background/src/lib/virtualized/project/start.js.map +1 -1
  448. package/background/src/lib/virtualized/project/startScenarioCapture.js +61 -31
  449. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  450. package/background/src/lib/virtualized/project/writeMockDataTsx.js +404 -62
  451. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  452. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  453. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  454. package/background/src/lib/virtualized/project/writeScenarioComponents.js +1112 -153
  455. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  456. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  457. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  458. package/background/src/lib/virtualized/project/writeSimpleRoot.js +57 -20
  459. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  460. package/background/src/lib/virtualized/project/writeUniversalMocks.js +27 -12
  461. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  462. package/codeyam-cli/scripts/apply-setup.js +180 -0
  463. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  464. package/codeyam-cli/src/cli.js +38 -17
  465. package/codeyam-cli/src/cli.js.map +1 -1
  466. package/codeyam-cli/src/codeyam-cli.js +18 -2
  467. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  468. package/codeyam-cli/src/commands/analyze.js +5 -3
  469. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  470. package/codeyam-cli/src/commands/baseline.js +176 -0
  471. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  472. package/codeyam-cli/src/commands/debug.js +44 -18
  473. package/codeyam-cli/src/commands/debug.js.map +1 -1
  474. package/codeyam-cli/src/commands/default.js +30 -34
  475. package/codeyam-cli/src/commands/default.js.map +1 -1
  476. package/codeyam-cli/src/commands/detect-universal-mocks.js +2 -0
  477. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
  478. package/codeyam-cli/src/commands/init.js +49 -257
  479. package/codeyam-cli/src/commands/init.js.map +1 -1
  480. package/codeyam-cli/src/commands/memory.js +254 -0
  481. package/codeyam-cli/src/commands/memory.js.map +1 -0
  482. package/codeyam-cli/src/commands/recapture.js +228 -0
  483. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  484. package/codeyam-cli/src/commands/report.js +72 -24
  485. package/codeyam-cli/src/commands/report.js.map +1 -1
  486. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  487. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  488. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  489. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  490. package/codeyam-cli/src/commands/start.js +8 -12
  491. package/codeyam-cli/src/commands/start.js.map +1 -1
  492. package/codeyam-cli/src/commands/status.js +23 -1
  493. package/codeyam-cli/src/commands/status.js.map +1 -1
  494. package/codeyam-cli/src/commands/test-startup.js +3 -1
  495. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  496. package/codeyam-cli/src/commands/verify.js +14 -2
  497. package/codeyam-cli/src/commands/verify.js.map +1 -1
  498. package/codeyam-cli/src/commands/wipe.js +108 -0
  499. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  500. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  501. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  502. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  503. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  504. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +128 -82
  505. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  506. package/codeyam-cli/src/utils/analysisRunner.js +29 -15
  507. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  508. package/codeyam-cli/src/utils/analyzer.js +7 -0
  509. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  510. package/codeyam-cli/src/utils/backgroundServer.js +104 -23
  511. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  512. package/codeyam-cli/src/utils/database.js +91 -5
  513. package/codeyam-cli/src/utils/database.js.map +1 -1
  514. package/codeyam-cli/src/utils/generateReport.js +253 -106
  515. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  516. package/codeyam-cli/src/utils/git.js +79 -0
  517. package/codeyam-cli/src/utils/git.js.map +1 -0
  518. package/codeyam-cli/src/utils/install-skills.js +76 -42
  519. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  520. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  521. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  522. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  523. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  524. package/codeyam-cli/src/utils/progress.js +7 -0
  525. package/codeyam-cli/src/utils/progress.js.map +1 -1
  526. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  527. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  528. package/codeyam-cli/src/utils/queue/job.js +249 -16
  529. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  530. package/codeyam-cli/src/utils/queue/manager.js +103 -7
  531. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  532. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  533. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  534. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  535. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  536. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  537. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  538. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  539. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  540. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  541. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  542. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  543. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  544. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  545. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  546. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  547. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  548. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  549. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  550. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  551. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +116 -0
  552. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  553. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  554. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  555. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  556. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  557. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  558. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  559. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  560. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  561. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  562. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  563. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  564. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  565. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  566. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  567. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +84 -0
  568. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  569. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  570. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  571. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +83 -0
  572. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  573. package/codeyam-cli/src/utils/rules/index.js +7 -0
  574. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  575. package/codeyam-cli/src/utils/rules/parser.js +83 -0
  576. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  577. package/codeyam-cli/src/utils/rules/pathMatcher.js +28 -0
  578. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  579. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  580. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  581. package/codeyam-cli/src/utils/rules/sourceFiles.js +47 -0
  582. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  583. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  584. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  585. package/codeyam-cli/src/utils/serverState.js +37 -10
  586. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  587. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +21 -42
  588. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  589. package/codeyam-cli/src/utils/simulationGateMiddleware.js +138 -0
  590. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  591. package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
  592. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  593. package/codeyam-cli/src/utils/versionInfo.js +67 -15
  594. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  595. package/codeyam-cli/src/utils/wipe.js +128 -0
  596. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  597. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  598. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  599. package/codeyam-cli/src/webserver/app/lib/database.js +118 -6
  600. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  601. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  602. package/codeyam-cli/src/webserver/backgroundServer.js +55 -10
  603. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  604. package/codeyam-cli/src/webserver/bootstrap.js +60 -0
  605. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  606. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-jNYXRRNI.js +1 -0
  607. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-bwuHPyTa.js +11 -0
  608. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-kykTbcnD.js → EntityTypeBadge-CvzqMxcu.js} +1 -1
  609. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BH0XDim7.js +41 -0
  610. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-EhOseatT.js +34 -0
  611. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-yjIHlOGa.js +25 -0
  612. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-Cq5o8jL4.js +3 -0
  613. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-BvMu2i-g.js +6 -0
  614. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-kgBTLoJD.js +3 -0
  615. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BzPgx-xO.js +11 -0
  616. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CwZrv-Ok.js +1 -0
  617. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BX2Ny2Qj.js +10 -0
  618. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-C06nsHKY.js → TruncatedFilePath-CDpEprKa.js} +1 -1
  619. package/codeyam-cli/src/webserver/build/client/assets/_index-BRx8ZGZo.js +11 -0
  620. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-4S4yPfFw.js +27 -0
  621. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +17 -0
  622. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  623. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  624. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  625. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  626. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  627. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  628. package/codeyam-cli/src/webserver/build/client/assets/book-open-D4IPYH_y.js +6 -0
  629. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-CG65viiV.js +6 -0
  630. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-DB3aFuEO.js +51 -0
  631. package/codeyam-cli/src/webserver/build/client/assets/circle-check-igfMr5DY.js +6 -0
  632. package/codeyam-cli/src/webserver/build/client/assets/copy-Coc4o_8c.js +11 -0
  633. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-D1zB-pYc.js +21 -0
  634. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  635. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  636. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +1 -0
  637. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CYqBrC9s.js → entity._sha._-B0h9AqE6.js} +22 -15
  638. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js +6 -0
  639. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CtYowLOt.js +6 -0
  640. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-PePWg17F.js +5 -0
  641. package/codeyam-cli/src/webserver/build/client/assets/entry.client-I-Wo99C_.js +29 -0
  642. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  643. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-9sMMAiWJ.js +1 -0
  644. package/codeyam-cli/src/webserver/build/client/assets/files-Co65J0s3.js +1 -0
  645. package/codeyam-cli/src/webserver/build/client/assets/git-BdHOxVfg.js +15 -0
  646. package/codeyam-cli/src/webserver/build/client/assets/globals-Dzl-jeq-.css +1 -0
  647. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  648. package/codeyam-cli/src/webserver/build/client/assets/index-CUM5iXwc.js +9 -0
  649. package/codeyam-cli/src/webserver/build/client/assets/index-_417gcQW.js +3 -0
  650. package/codeyam-cli/src/webserver/build/client/assets/labs-DAvt-sy-.js +1 -0
  651. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-TzRHMVog.js +6 -0
  652. package/codeyam-cli/src/webserver/build/client/assets/manifest-2d0e2ebb.js +1 -0
  653. package/codeyam-cli/src/webserver/build/client/assets/memory-DVGtTawo.js +92 -0
  654. package/codeyam-cli/src/webserver/build/client/assets/pause-hjzB7t2z.js +11 -0
  655. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  656. package/codeyam-cli/src/webserver/build/client/assets/root-Bg3WICdl.js +62 -0
  657. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  658. package/codeyam-cli/src/webserver/build/client/assets/search-DcAwD_Ln.js +6 -0
  659. package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +1 -0
  660. package/codeyam-cli/src/webserver/build/client/assets/simulations-DVNJVQgD.js +1 -0
  661. package/codeyam-cli/src/webserver/build/client/assets/terminal-DbEAHMbA.js +11 -0
  662. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CAD5b1o_.js +6 -0
  663. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BqgrAzs3.js +1 -0
  664. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-Blr5oZDE.js → useLastLogLine-DAFqfEDH.js} +1 -1
  665. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DZlYx2c4.js +1 -0
  666. package/codeyam-cli/src/webserver/build/client/assets/{useToast-Bbf4Hokd.js → useToast-ihdMtlf6.js} +1 -1
  667. package/codeyam-cli/src/webserver/build/server/assets/index-CpreP2n8.js +1 -0
  668. package/codeyam-cli/src/webserver/build/server/assets/server-build-DyvoFrHR.js +273 -0
  669. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  670. package/codeyam-cli/src/webserver/build-info.json +5 -5
  671. package/codeyam-cli/src/webserver/devServer.js +1 -3
  672. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  673. package/codeyam-cli/src/webserver/server.js +35 -25
  674. package/codeyam-cli/src/webserver/server.js.map +1 -1
  675. package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam-debug.md} +48 -4
  676. package/codeyam-cli/templates/codeyam-diagnose.md +481 -0
  677. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  678. package/codeyam-cli/templates/codeyam-memory.md +396 -0
  679. package/codeyam-cli/templates/codeyam-new-rule.md +13 -0
  680. package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam-setup.md} +151 -4
  681. package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam-sim.md} +1 -1
  682. package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam-test.md} +1 -1
  683. package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam-verify.md} +1 -1
  684. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  685. package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
  686. package/codeyam-cli/templates/rules-instructions.md +132 -0
  687. package/package.json +26 -23
  688. package/packages/ai/index.js +8 -6
  689. package/packages/ai/index.js.map +1 -1
  690. package/packages/ai/src/lib/analyzeScope.js +181 -13
  691. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  692. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  693. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  694. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +154 -9
  695. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  696. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  697. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  698. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  699. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  700. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  701. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  702. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  703. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  704. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +23 -0
  705. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  706. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  707. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  708. package/packages/ai/src/lib/astScopes/processExpression.js +1235 -104
  709. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  710. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  711. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  712. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  713. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  714. package/packages/ai/src/lib/completionCall.js +178 -31
  715. package/packages/ai/src/lib/completionCall.js.map +1 -1
  716. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +2171 -224
  717. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  718. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +19 -4
  719. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  720. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +661 -0
  721. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  722. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +180 -56
  723. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  724. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  725. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  726. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  727. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  728. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
  729. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  730. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +139 -13
  731. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  732. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  733. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  734. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +142 -12
  735. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  736. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  737. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  738. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  739. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  740. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  741. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  742. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +371 -73
  743. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  744. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  745. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  746. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  747. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  748. package/packages/ai/src/lib/deepEqual.js +32 -0
  749. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  750. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  751. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  752. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  753. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  754. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  755. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  756. package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -90
  757. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  758. package/packages/ai/src/lib/generateEntityDataStructure.js +50 -1
  759. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  760. package/packages/ai/src/lib/generateEntityScenarioData.js +1127 -91
  761. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  762. package/packages/ai/src/lib/generateEntityScenarios.js +193 -83
  763. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  764. package/packages/ai/src/lib/generateExecutionFlows.js +495 -0
  765. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  766. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  767. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  768. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  769. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  770. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  771. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  772. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  773. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  774. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  775. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  776. package/packages/ai/src/lib/isolateScopes.js +270 -7
  777. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  778. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  779. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  780. package/packages/ai/src/lib/mergeStatements.js +88 -46
  781. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  782. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  783. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  784. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +16 -4
  785. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  786. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  787. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  788. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -64
  789. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  790. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  791. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  792. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  793. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  794. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -34
  795. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  796. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  797. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  798. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  799. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  800. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  801. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  802. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  803. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  804. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  805. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  806. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  807. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  808. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
  809. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  810. package/packages/analyze/index.js +1 -0
  811. package/packages/analyze/index.js.map +1 -1
  812. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  813. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  814. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  815. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  816. package/packages/analyze/src/lib/analysisContext.js +30 -5
  817. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  818. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  819. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  820. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  821. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  822. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  823. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  824. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  825. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  826. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  827. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  828. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  829. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  830. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  831. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  832. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  833. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  834. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  835. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  836. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +428 -123
  837. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  838. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +42 -1
  839. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  840. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  841. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  842. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
  843. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  844. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  845. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  846. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  847. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  848. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  849. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  850. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  851. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  852. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  853. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  854. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  855. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  856. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  857. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  858. package/packages/analyze/src/lib/files/getImportedExports.js +17 -8
  859. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  860. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  861. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  862. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -0
  863. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  864. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  865. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  866. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +550 -62
  867. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  868. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  869. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  870. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  871. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  872. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +404 -85
  873. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  874. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  875. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  876. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -69
  877. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  878. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
  879. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  880. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +875 -141
  881. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  882. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  883. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  884. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  885. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  886. package/packages/analyze/src/lib/index.js +1 -0
  887. package/packages/analyze/src/lib/index.js.map +1 -1
  888. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  889. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  890. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  891. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  892. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  893. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  894. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  895. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  896. package/packages/database/src/lib/analysisToDb.js +1 -1
  897. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  898. package/packages/database/src/lib/branchToDb.js +1 -1
  899. package/packages/database/src/lib/branchToDb.js.map +1 -1
  900. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  901. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  902. package/packages/database/src/lib/commitToDb.js +1 -1
  903. package/packages/database/src/lib/commitToDb.js.map +1 -1
  904. package/packages/database/src/lib/fileToDb.js +1 -1
  905. package/packages/database/src/lib/fileToDb.js.map +1 -1
  906. package/packages/database/src/lib/kysely/db.js +13 -3
  907. package/packages/database/src/lib/kysely/db.js.map +1 -1
  908. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  909. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  910. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  911. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  912. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  913. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  914. package/packages/database/src/lib/loadAnalyses.js +45 -2
  915. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  916. package/packages/database/src/lib/loadAnalysis.js +8 -0
  917. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  918. package/packages/database/src/lib/loadBranch.js +11 -1
  919. package/packages/database/src/lib/loadBranch.js.map +1 -1
  920. package/packages/database/src/lib/loadCommit.js +7 -0
  921. package/packages/database/src/lib/loadCommit.js.map +1 -1
  922. package/packages/database/src/lib/loadCommits.js +22 -1
  923. package/packages/database/src/lib/loadCommits.js.map +1 -1
  924. package/packages/database/src/lib/loadEntities.js +23 -4
  925. package/packages/database/src/lib/loadEntities.js.map +1 -1
  926. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  927. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  928. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +23 -5
  929. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  930. package/packages/database/src/lib/projectToDb.js +1 -1
  931. package/packages/database/src/lib/projectToDb.js.map +1 -1
  932. package/packages/database/src/lib/saveFiles.js +1 -1
  933. package/packages/database/src/lib/saveFiles.js.map +1 -1
  934. package/packages/database/src/lib/scenarioToDb.js +1 -1
  935. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  936. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  937. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  938. package/packages/generate/index.js +3 -0
  939. package/packages/generate/index.js.map +1 -1
  940. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  941. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  942. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  943. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  944. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  945. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  946. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  947. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  948. package/packages/generate/src/lib/deepMerge.js +27 -1
  949. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  950. package/packages/generate/src/lib/directExecutionScript.js +10 -1
  951. package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
  952. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  953. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  954. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  955. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  956. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  957. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  958. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  959. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  960. package/packages/process/index.js +3 -0
  961. package/packages/process/index.js.map +1 -0
  962. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  963. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  964. package/packages/process/src/ProcessManager.js.map +1 -0
  965. package/packages/process/src/index.js.map +1 -0
  966. package/packages/process/src/managedExecAsync.js.map +1 -0
  967. package/packages/types/index.js.map +1 -1
  968. package/packages/utils/src/lib/applyUniversalMocks.js +26 -2
  969. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  970. package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
  971. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  972. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  973. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  974. package/packages/utils/src/lib/safeFileName.js +29 -3
  975. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  976. package/scripts/finalize-analyzer.cjs +8 -74
  977. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  978. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -197
  979. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -271
  980. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -294
  981. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  982. package/analyzer-template/packages/ai/src/lib/transformMockDataToMatchSchema.ts +0 -156
  983. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -115
  984. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  985. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  986. package/analyzer-template/process/README.md +0 -507
  987. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  988. package/background/src/lib/process/ProcessManager.js.map +0 -1
  989. package/background/src/lib/process/index.js.map +0 -1
  990. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  991. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  992. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  993. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-D4htqD-x.js +0 -1
  994. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Catz6XEN.js +0 -1
  995. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-TlHocYno.js +0 -26
  996. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVMmGuIc.js +0 -3
  997. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-JkfQ-VaI.js +0 -3
  998. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-CVZ0H4BL.js +0 -1
  999. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BrMAP1nP.js +0 -1
  1000. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CJhE4cCv.js +0 -5
  1001. package/codeyam-cli/src/webserver/build/client/assets/_index-faVIcr_i.js +0 -1
  1002. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLMa2sgx.js +0 -7
  1003. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-DwYjrK_h.js +0 -1
  1004. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CgXbbZRx.js +0 -26
  1005. package/codeyam-cli/src/webserver/build/client/assets/circle-check-B2oHQ-zo.js +0 -1
  1006. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BBYuR56H.js +0 -1
  1007. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CT0Q5lVu.js +0 -1
  1008. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-Bj5GHkhb.js +0 -1
  1009. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-eW5z9AyZ.js +0 -5
  1010. package/codeyam-cli/src/webserver/build/client/assets/entry.client-B9tSboXM.js +0 -5
  1011. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-CmO-EZAB.js +0 -1
  1012. package/codeyam-cli/src/webserver/build/client/assets/files-DLinnTOx.js +0 -1
  1013. package/codeyam-cli/src/webserver/build/client/assets/git-CIxwBQvb.js +0 -12
  1014. package/codeyam-cli/src/webserver/build/client/assets/globals-xPz593l2.css +0 -1
  1015. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  1016. package/codeyam-cli/src/webserver/build/client/assets/index-_LjBsTxX.js +0 -8
  1017. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-D_EGChhq.js +0 -1
  1018. package/codeyam-cli/src/webserver/build/client/assets/manifest-ca438c41.js +0 -1
  1019. package/codeyam-cli/src/webserver/build/client/assets/root-CHHYHuzL.js +0 -16
  1020. package/codeyam-cli/src/webserver/build/client/assets/search-DY8yoDpH.js +0 -1
  1021. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  1022. package/codeyam-cli/src/webserver/build/client/assets/settings-BT6wVHd5.js +0 -1
  1023. package/codeyam-cli/src/webserver/build/client/assets/simulations-gv3H7JV7.js +0 -1
  1024. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BthANBVv.js +0 -1
  1025. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CANr3QJ5.js +0 -1
  1026. package/codeyam-cli/src/webserver/build/server/assets/index-BtBPtyHx.js +0 -1
  1027. package/codeyam-cli/src/webserver/build/server/assets/server-build-N2cTnejq.js +0 -166
  1028. package/codeyam-cli/templates/debug-command.md +0 -141
  1029. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1030. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1031. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -136
  1032. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1033. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -220
  1034. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1035. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -241
  1036. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1037. package/packages/ai/src/lib/isFrontend.js +0 -5
  1038. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1039. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1040. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1041. package/packages/ai/src/lib/transformMockDataToMatchSchema.js +0 -124
  1042. package/packages/ai/src/lib/transformMockDataToMatchSchema.js.map +0 -1
  1043. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -72
  1044. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1045. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  1046. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  1047. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  1048. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  1049. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
  1050. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  1051. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  1052. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -1,238 +0,0 @@
1
- /* eslint-disable @typescript-eslint/require-await */
2
- export const prisma = {
3
- $connect: async () => { },
4
- $disconnect: async () => { },
5
- $on: () => { },
6
- $use: () => { },
7
- $transaction: async (fn) => typeof fn === 'function' ? fn(prisma) : [],
8
- $extends: () => prisma,
9
- user: {
10
- findFirst: async () => null,
11
- findUnique: async () => null,
12
- findMany: async () => [],
13
- create: async () => ({}),
14
- createMany: async () => ({ count: 0 }),
15
- update: async () => ({}),
16
- updateMany: async () => ({ count: 0 }),
17
- upsert: async () => ({}),
18
- delete: async () => ({}),
19
- deleteMany: async () => ({ count: 0 }),
20
- count: async () => 0,
21
- aggregate: async () => ({}),
22
- groupBy: async () => [],
23
- },
24
- booking: {
25
- findFirst: async () => null,
26
- findUnique: async () => null,
27
- findMany: async () => [],
28
- create: async () => ({}),
29
- createMany: async () => ({ count: 0 }),
30
- update: async () => ({}),
31
- updateMany: async () => ({ count: 0 }),
32
- upsert: async () => ({}),
33
- delete: async () => ({}),
34
- deleteMany: async () => ({ count: 0 }),
35
- count: async () => 0,
36
- aggregate: async () => ({}),
37
- groupBy: async () => [],
38
- },
39
- eventType: {
40
- findFirst: async () => null,
41
- findUnique: async () => null,
42
- findMany: async () => [],
43
- create: async () => ({}),
44
- createMany: async () => ({ count: 0 }),
45
- update: async () => ({}),
46
- updateMany: async () => ({ count: 0 }),
47
- upsert: async () => ({}),
48
- delete: async () => ({}),
49
- deleteMany: async () => ({ count: 0 }),
50
- count: async () => 0,
51
- aggregate: async () => ({}),
52
- groupBy: async () => [],
53
- },
54
- credential: {
55
- findFirst: async () => null,
56
- findUnique: async () => null,
57
- findMany: async () => [],
58
- create: async () => ({}),
59
- createMany: async () => ({ count: 0 }),
60
- update: async () => ({}),
61
- updateMany: async () => ({ count: 0 }),
62
- upsert: async () => ({}),
63
- delete: async () => ({}),
64
- deleteMany: async () => ({ count: 0 }),
65
- count: async () => 0,
66
- aggregate: async () => ({}),
67
- groupBy: async () => [],
68
- },
69
- app: {
70
- findFirst: async () => null,
71
- findUnique: async () => null,
72
- findMany: async () => [],
73
- create: async () => ({}),
74
- createMany: async () => ({ count: 0 }),
75
- update: async () => ({}),
76
- updateMany: async () => ({ count: 0 }),
77
- upsert: async () => ({}),
78
- delete: async () => ({}),
79
- deleteMany: async () => ({ count: 0 }),
80
- count: async () => 0,
81
- aggregate: async () => ({}),
82
- groupBy: async () => [],
83
- },
84
- team: {
85
- findFirst: async () => null,
86
- findUnique: async () => null,
87
- findMany: async () => [],
88
- create: async () => ({}),
89
- createMany: async () => ({ count: 0 }),
90
- update: async () => ({}),
91
- updateMany: async () => ({ count: 0 }),
92
- upsert: async () => ({}),
93
- delete: async () => ({}),
94
- deleteMany: async () => ({ count: 0 }),
95
- count: async () => 0,
96
- aggregate: async () => ({}),
97
- groupBy: async () => [],
98
- },
99
- membership: {
100
- findFirst: async () => null,
101
- findUnique: async () => null,
102
- findMany: async () => [],
103
- create: async () => ({}),
104
- createMany: async () => ({ count: 0 }),
105
- update: async () => ({}),
106
- updateMany: async () => ({ count: 0 }),
107
- upsert: async () => ({}),
108
- delete: async () => ({}),
109
- deleteMany: async () => ({ count: 0 }),
110
- count: async () => 0,
111
- aggregate: async () => ({}),
112
- groupBy: async () => [],
113
- },
114
- schedule: {
115
- findFirst: async () => null,
116
- findUnique: async () => null,
117
- findMany: async () => [],
118
- create: async () => ({}),
119
- createMany: async () => ({ count: 0 }),
120
- update: async () => ({}),
121
- updateMany: async () => ({ count: 0 }),
122
- upsert: async () => ({}),
123
- delete: async () => ({}),
124
- deleteMany: async () => ({ count: 0 }),
125
- count: async () => 0,
126
- aggregate: async () => ({}),
127
- groupBy: async () => [],
128
- },
129
- availability: {
130
- findFirst: async () => null,
131
- findUnique: async () => null,
132
- findMany: async () => [],
133
- create: async () => ({}),
134
- createMany: async () => ({ count: 0 }),
135
- update: async () => ({}),
136
- updateMany: async () => ({ count: 0 }),
137
- upsert: async () => ({}),
138
- delete: async () => ({}),
139
- deleteMany: async () => ({ count: 0 }),
140
- count: async () => 0,
141
- aggregate: async () => ({}),
142
- groupBy: async () => [],
143
- },
144
- selectedCalendar: {
145
- findFirst: async () => null,
146
- findUnique: async () => null,
147
- findMany: async () => [],
148
- create: async () => ({}),
149
- createMany: async () => ({ count: 0 }),
150
- update: async () => ({}),
151
- updateMany: async () => ({ count: 0 }),
152
- upsert: async () => ({}),
153
- delete: async () => ({}),
154
- deleteMany: async () => ({ count: 0 }),
155
- count: async () => 0,
156
- aggregate: async () => ({}),
157
- groupBy: async () => [],
158
- },
159
- webhook: {
160
- findFirst: async () => null,
161
- findUnique: async () => null,
162
- findMany: async () => [],
163
- create: async () => ({}),
164
- createMany: async () => ({ count: 0 }),
165
- update: async () => ({}),
166
- updateMany: async () => ({ count: 0 }),
167
- upsert: async () => ({}),
168
- delete: async () => ({}),
169
- deleteMany: async () => ({ count: 0 }),
170
- count: async () => 0,
171
- aggregate: async () => ({}),
172
- groupBy: async () => [],
173
- },
174
- workflow: {
175
- findFirst: async () => null,
176
- findUnique: async () => null,
177
- findMany: async () => [],
178
- create: async () => ({}),
179
- createMany: async () => ({ count: 0 }),
180
- update: async () => ({}),
181
- updateMany: async () => ({ count: 0 }),
182
- upsert: async () => ({}),
183
- delete: async () => ({}),
184
- deleteMany: async () => ({ count: 0 }),
185
- count: async () => 0,
186
- aggregate: async () => ({}),
187
- groupBy: async () => [],
188
- },
189
- attendee: {
190
- findFirst: async () => null,
191
- findUnique: async () => null,
192
- findMany: async () => [],
193
- create: async () => ({}),
194
- createMany: async () => ({ count: 0 }),
195
- update: async () => ({}),
196
- updateMany: async () => ({ count: 0 }),
197
- upsert: async () => ({}),
198
- delete: async () => ({}),
199
- deleteMany: async () => ({ count: 0 }),
200
- count: async () => 0,
201
- aggregate: async () => ({}),
202
- groupBy: async () => [],
203
- },
204
- feature: {
205
- findFirst: async () => null,
206
- findUnique: async () => null,
207
- findMany: async () => [],
208
- create: async () => ({}),
209
- createMany: async () => ({ count: 0 }),
210
- update: async () => ({}),
211
- updateMany: async () => ({ count: 0 }),
212
- upsert: async () => ({}),
213
- delete: async () => ({}),
214
- deleteMany: async () => ({ count: 0 }),
215
- count: async () => 0,
216
- aggregate: async () => ({}),
217
- groupBy: async () => [],
218
- },
219
- deployment: {
220
- findFirst: async () => null,
221
- findUnique: async () => null,
222
- findMany: async () => [],
223
- create: async () => ({}),
224
- createMany: async () => ({ count: 0 }),
225
- update: async () => ({}),
226
- updateMany: async () => ({ count: 0 }),
227
- upsert: async () => ({}),
228
- delete: async () => ({}),
229
- deleteMany: async () => ({ count: 0 }),
230
- count: async () => 0,
231
- aggregate: async () => ({}),
232
- groupBy: async () => [],
233
- },
234
- };
235
- export const readonlyPrisma = prisma;
236
- export const customPrisma = () => prisma;
237
- export default prisma;
238
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import{b as y,r as u,j as e}from"./chunk-WWGJGFF6-CgXbbZRx.js";import{u as g}from"./useToast-Bbf4Hokd.js";import{a as m,f as j,g as b}from"./fileTableUtils-CmO-EZAB.js";import{T as w}from"./TruncatedFilePath-C06nsHKY.js";import{S as N}from"./SafeScreenshot-BrMAP1nP.js";import{L as v}from"./LibraryFunctionPreview-CVMmGuIc.js";import{T as E}from"./triangle-alert-BthANBVv.js";import{E as f}from"./EntityTypeIcon-Catz6XEN.js";import{E as C}from"./EntityTypeBadge-kykTbcnD.js";function z(r){const n=y(),{showToast:i}=g();u.useEffect(()=>{if(n.state==="idle"&&n.data){const s=n.data;s?.error&&i(`Error: ${s.error}`,"error",6e3)}},[n.state,n.data,i]);const t=s=>{console.log("Generate analysis clicked for entity:",s.sha,s.name);const o=new FormData;o.append("entitySha",s.sha),o.append("filePath",s.filePath||""),n.submit(o,{method:"post",action:"/api/analyze"})},l=s=>{const o=s.filter(d=>d.entityType==="visual"||d.entityType==="library");console.log("Generate analysis for all entities:",o.length);const x=o.map(d=>d.sha).join(","),c=new FormData;c.append("entityShas",x),n.submit(c,{method:"post",action:"/api/analyze"})},a=s=>r?.includes(s)??!1;return{isAnalyzing:n.state!=="idle",handleGenerateSimulation:t,handleGenerateAllSimulations:l,isEntityBeingAnalyzed:a}}function M({showActions:r=!1,sortOrder:n="desc",onSortChange:i}){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:"160px"},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.jsx("div",{className:"flex items-center justify-center",style:{width:"127px"},children:e.jsx("span",{children:"STATE"})}),e.jsxs("div",{className:"flex items-center justify-center gap-1 cursor-pointer hover:text-[#232323] transition-colors",style:{width:"116px"},onClick:i,role:"button",tabIndex:0,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),i?.())},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:n==="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"})})]}),r&&e.jsx("span",{className:"text-center",style:{width:"96px"}})]})]})]})})}function T({status:r,variant:n="compact"}){const i={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"}},t={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(n==="full"){const a=t[r]||{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:a.textColor},children:a.label})})}const l=i[r]||{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:r,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 R({filePath:r,isExpanded:n,onToggle:i,fileStatus:t,simulationPreviews:l,entityCount:a,state:s,lastModified:o,actionButton:x,uncommittedCount:c,children:d}){const h=m(s);return e.jsxs("div",{className:"bg-white overflow-hidden",style:n?{border:"1px solid #e1e1e1",borderLeft:"4px solid #306AFF",borderRadius:"8px"}:{borderRadius:"8px"},children:[e.jsxs("div",{className:"flex justify-between items-center p-3 cursor-pointer select-none transition-colors hover:bg-gray-200",style:{outlineColor:"#005C75"},onClick:i,role:"button",tabIndex:0,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i())},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:n?"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:n?"#3e3e3e":"#c7c7c7"})})}),e.jsx("img",{src:"/icons/file-icon.svg",alt:"file",className:"w-4 h-5 shrink-0"}),e.jsx(w,{filePath:r}),t&&e.jsx(T,{status:typeof t=="string"?t:t.status,variant:"full"}),c!==void 0&&c>0&&e.jsxs("span",{className:"text-[10px] text-amber-500 font-medium shrink-0 whitespace-nowrap",children:[c," uncommitted"]})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex gap-1.5 items-center justify-center h-[38px]",style:{width:"160px"},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:[a," ",a===1?"entity":"entities"]})})}),e.jsx("div",{className:"flex items-center justify-center",style:{width:"127px"},children:e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 max-w-full whitespace-nowrap overflow-hidden text-ellipsis",style:{backgroundColor:h.bgColor,color:h.textColor,height:"26px"},children:[h.icon,h.text]})}),e.jsx("div",{className:"text-[12px] text-gray-600 text-center",style:{width:"116px"},children:j(o)}),e.jsx("div",{style:{width:"96px"},className:"flex justify-center",children:x})]})]})]}),n&&d&&e.jsx("div",{className:"bg-gray-50 py-2 rounded-bl-[4px] rounded-br-[4px] flex flex-col gap-2",children:d})]})}function G({entities:r,maxPreviews:n=3}){const i=[];for(const t of r){if(i.length>=n)break;const l=t.analyses?.[0]?.scenarios||[];if(t.entityType==="library"){const a=l.find(s=>s.metadata?.executionResult||s.metadata?.error);a&&i.push({type:"library",scenario:a,entitySha:t.sha})}else if(t.entityType==="visual"){const a=l.find(s=>s.metadata?.screenshotPaths?.[0]);if(a){const s=a.metadata?.screenshotPaths?.[0],o=!!a.metadata?.error;s&&i.push({type:"screenshot",screenshot:s,hasError:o})}}}return i.length===0?e.jsx("span",{className:"text-gray-400 text-center w-full font-light text-[14px]",children:"—"}):e.jsx(e.Fragment,{children:i.map((t,l)=>{if(t.type==="screenshot"&&t.screenshot){const a=t.hasError?"border-red-400":"border-gray-200";return e.jsxs("div",{className:`relative w-[50px] h-[38px] border ${a} rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center`,children:[e.jsx(N,{screenshotPath:t.screenshot,alt:`Preview ${l+1}`,className:"max-w-full max-h-full object-contain object-center"}),t.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(E,{size:12,color:"white"})})]},`screenshot-${l}`)}return t.type==="library"&&t.scenario&&t.entitySha?e.jsx(v,{scenario:t.scenario,entitySha:t.entitySha,size:"small",showBorder:!0},`library-${l}`):null})})}function _({entity:r,isBeingAnalyzed:n,isQueued:i,onGenerateSimulation:t}){const l=n||i?[{entityShas:[r.sha]}]:[],a=b(r,l),s=m(a),x=(r.entityType==="visual"||r.entityType==="library")&&(a==="not-analyzed"||a==="out-of-date")&&!n&&!i;return e.jsxs("div",{className:"bg-white rounded-lg flex items-center justify-between p-3 transition-colors hover:bg-gray-100",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4 shrink-0"}),r.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(f,{type:"type"})})}):e.jsx(f,{type:r.entityType||"other"}),e.jsx("span",{className:"font-['IBM_Plex_Sans'] font-medium text-[14px] leading-[18px] text-black",children:r.name}),e.jsx(C,{type:r.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",{className:"flex items-center justify-center",style:{width:"127px"},children:e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 max-w-full whitespace-nowrap overflow-hidden",style:{backgroundColor:s.bgColor,color:s.textColor,height:"26px"},children:[s.icon,s.text]})}),e.jsx("div",{style:{width:"116px"}}),e.jsx("div",{style:{width:"96px"},className:"flex justify-center items-center",children:x&&e.jsx("button",{onClick:c=>{c.stopPropagation(),t(r)},className:"bg-[#e0e9ec] text-[#005c75] rounded text-[12px] font-['IBM_Plex_Sans'] font-medium hover:bg-[#d0dfe5] transition-colors cursor-pointer px-[15px] py-0 h-[28px]",children:"Analyze"})})]})]})]})}export{_ as E,M as F,G as S,R as a,z as u};
@@ -1 +0,0 @@
1
- import{j as e}from"./chunk-WWGJGFF6-CgXbbZRx.js";import{c as r}from"./createLucideIcon-BBYuR56H.js";const s=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],i=r("box",s);const d=[["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"}]],h=r("chart-column",d);const g=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],b=r("code-xml",g);const f=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],a=r("code",f);const p=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],n=r("file-text",p);const y=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],x=r("image",y);const C=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],k=r("list",C);const u=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],m=r("tag",u);function M({type:c}){const t={visual:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},library:{iconColor:"#06b6d5",bgColor:"bg-[#e6fbff]",bgHex:"#e6fbff"},type:{iconColor:"#db2627",bgColor:"bg-[#ffe1e1]",bgHex:"#ffe1e1"},data:{iconColor:"#2563eb",bgColor:"bg-blue-100",bgHex:"#dbeafe"},index:{iconColor:"#ea580c",bgColor:"bg-orange-100",bgHex:"#ffedd5"},functionCall:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},class:{iconColor:"#059669",bgColor:"bg-emerald-100",bgHex:"#d1fae5"},method:{iconColor:"#0891b2",bgColor:"bg-cyan-100",bgHex:"#cffafe"},other:{iconColor:"#6b7280",bgColor:"bg-gray-100",bgHex:"#f3f4f6"}},o=t[c]||t.other,l=()=>{switch(c){case"library":return e.jsx(b,{size:14,color:o.iconColor});case"visual":return e.jsx(x,{size:14,color:o.iconColor});case"type":return e.jsx(m,{size:14,color:o.iconColor});case"data":return e.jsx(h,{size:14,color:o.iconColor});case"index":return e.jsx(k,{size:14,color:o.iconColor});case"functionCall":return e.jsx(a,{size:14,color:o.iconColor});case"class":return e.jsx(i,{size:14,color:o.iconColor});case"method":return e.jsx(a,{size:14,color:o.iconColor});case"other":return e.jsx(n,{size:14,color:o.iconColor});default:return e.jsx(n,{size:14,color:o.iconColor})}};return e.jsx("span",{className:`flex items-center justify-center rounded ${o.bgColor}`,style:{width:"18px",height:"18px"},children:l()})}export{b as C,M as E,x as I};
@@ -1,26 +0,0 @@
1
- import{r as O,j as E,B as Z,b as He}from"./chunk-WWGJGFF6-CgXbbZRx.js";import{u as ze}from"./useLastLogLine-Blr5oZDE.js";import{r as Ee}from"./index-_LjBsTxX.js";const Te=O.createContext({dimensions:{height:720,width:1200},updateDimensions:()=>{},iframeRef:{current:null},scale:1,updateScale:()=>{},maxWidth:1200,updateMaxWidth:()=>{}}),Ie=()=>{const l=O.useContext(Te);if(!l)throw new Error("useWebContainer must be used within a WebContainerProvider");return l},at=({children:l})=>{const[m,f]=O.useState({height:720,width:1200}),[c,w]=O.useState(1),[u,y]=O.useState(1200),D=O.useRef(null),d=O.useCallback(({height:h,width:b})=>{f(x=>({height:h??x.height,width:b??x.width}))},[]),v=O.useCallback(h=>{w(h)},[]),_=O.useCallback(h=>{y(h)},[]);return E.jsx(Te.Provider,{value:{dimensions:m,updateDimensions:d,iframeRef:D,scale:c,updateScale:v,maxWidth:u,updateMaxWidth:_},children:l})};var X={exports:{}},A={},$={exports:{}},ie={},se={exports:{}},le,fe;function Le(){if(fe)return le;fe=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return le=l,le}var ue,de;function Fe(){if(de)return ue;de=1;var l=Le();function m(){}function f(){}return f.resetWarningCache=m,ue=function(){function c(y,D,d,v,_,h){if(h!==l){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}c.isRequired=c;function w(){return c}var u={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:w,element:c,elementType:c,instanceOf:w,node:c,objectOf:w,oneOf:w,oneOfType:w,shape:w,exact:w,checkPropTypes:f,resetWarningCache:m};return u.PropTypes=u,u},ue}var pe;function re(){return pe||(pe=1,se.exports=Fe()()),se.exports}var Q={exports:{}},he;function Be(){if(he)return Q.exports;he=1;function l(f){var c,w,u="";if(typeof f=="string"||typeof f=="number")u+=f;else if(typeof f=="object")if(Array.isArray(f)){var y=f.length;for(c=0;c<y;c++)f[c]&&(w=l(f[c]))&&(u&&(u+=" "),u+=w)}else for(w in f)f[w]&&(u&&(u+=" "),u+=w);return u}function m(){for(var f,c,w=0,u="",y=arguments.length;w<y;w++)(f=arguments[w])&&(c=l(f))&&(u&&(u+=" "),u+=c);return u}return Q.exports=m,Q.exports.clsx=m,Q.exports}var N={},B={},ge;function ne(){if(ge)return B;ge=1,Object.defineProperty(B,"__esModule",{value:!0}),B.dontSetMe=w,B.findInArray=l,B.int=c,B.isFunction=m,B.isNum=f;function l(u,y){for(let D=0,d=u.length;D<d;D++)if(y.apply(y,[u[D],D,u]))return u[D]}function m(u){return typeof u=="function"||Object.prototype.toString.call(u)==="[object Function]"}function f(u){return typeof u=="number"&&!isNaN(u)}function c(u){return parseInt(u,10)}function w(u,y,D){if(u[y])return new Error(`Invalid prop ${y} passed to ${D} - do not set this, set it on the child.`)}return B}var Y={},me;function Ye(){if(me)return Y;me=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.browserPrefixToKey=f,Y.browserPrefixToStyle=c,Y.default=void 0,Y.getPrefix=m;const l=["Moz","Webkit","O","ms"];function m(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const y=window.document?.documentElement?.style;if(!y||u in y)return"";for(let D=0;D<l.length;D++)if(f(u,l[D])in y)return l[D];return""}function f(u,y){return y?`${y}${w(u)}`:u}function c(u,y){return y?`-${y.toLowerCase()}-${u}`:u}function w(u){let y="",D=!0;for(let d=0;d<u.length;d++)D?(y+=u[d].toUpperCase(),D=!1):u[d]==="-"?D=!0:y+=u[d];return y}return Y.default=m(),Y}var ve;function ce(){if(ve)return N;ve=1,Object.defineProperty(N,"__esModule",{value:!0}),N.addClassName=n,N.addEvent=y,N.addUserSelectStyles=r,N.createCSSTransform=x,N.createSVGTransform=P,N.getTouch=g,N.getTouchIdentifier=i,N.getTranslation=S,N.innerHeight=_,N.innerWidth=h,N.matchesSelector=w,N.matchesSelectorAndParentsTo=u,N.offsetXYFromParent=b,N.outerHeight=d,N.outerWidth=v,N.removeClassName=t,N.removeEvent=D,N.scheduleRemoveUserSelectStyles=a;var l=ne(),m=f(Ye());function f(e,s){if(typeof WeakMap=="function")var p=new WeakMap,M=new WeakMap;return(f=function(R,T){if(!T&&R&&R.__esModule)return R;var C,z,W={__proto__:null,default:R};if(R===null||typeof R!="object"&&typeof R!="function")return W;if(C=T?M:p){if(C.has(R))return C.get(R);C.set(R,W)}for(const j in R)j!=="default"&&{}.hasOwnProperty.call(R,j)&&((z=(C=Object.defineProperty)&&Object.getOwnPropertyDescriptor(R,j))&&(z.get||z.set)?C(W,j,z):W[j]=R[j]);return W})(e,s)}let c="";function w(e,s){return c||(c=(0,l.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(p){return(0,l.isFunction)(e[p])})),(0,l.isFunction)(e[c])?e[c](s):!1}function u(e,s,p){let M=e;do{if(w(M,s))return!0;if(M===p)return!1;M=M.parentNode}while(M);return!1}function y(e,s,p,M){if(!e)return;const R={capture:!0,...M};e.addEventListener?e.addEventListener(s,p,R):e.attachEvent?e.attachEvent("on"+s,p):e["on"+s]=p}function D(e,s,p,M){if(!e)return;const R={capture:!0,...M};e.removeEventListener?e.removeEventListener(s,p,R):e.detachEvent?e.detachEvent("on"+s,p):e["on"+s]=null}function d(e){let s=e.clientHeight;const p=e.ownerDocument.defaultView.getComputedStyle(e);return s+=(0,l.int)(p.borderTopWidth),s+=(0,l.int)(p.borderBottomWidth),s}function v(e){let s=e.clientWidth;const p=e.ownerDocument.defaultView.getComputedStyle(e);return s+=(0,l.int)(p.borderLeftWidth),s+=(0,l.int)(p.borderRightWidth),s}function _(e){let s=e.clientHeight;const p=e.ownerDocument.defaultView.getComputedStyle(e);return s-=(0,l.int)(p.paddingTop),s-=(0,l.int)(p.paddingBottom),s}function h(e){let s=e.clientWidth;const p=e.ownerDocument.defaultView.getComputedStyle(e);return s-=(0,l.int)(p.paddingLeft),s-=(0,l.int)(p.paddingRight),s}function b(e,s,p){const R=s===s.ownerDocument.body?{left:0,top:0}:s.getBoundingClientRect(),T=(e.clientX+s.scrollLeft-R.left)/p,C=(e.clientY+s.scrollTop-R.top)/p;return{x:T,y:C}}function x(e,s){const p=S(e,s,"px");return{[(0,m.browserPrefixToKey)("transform",m.default)]:p}}function P(e,s){return S(e,s,"")}function S(e,s,p){let{x:M,y:R}=e,T=`translate(${M}${p},${R}${p})`;if(s){const C=`${typeof s.x=="string"?s.x:s.x+p}`,z=`${typeof s.y=="string"?s.y:s.y+p}`;T=`translate(${C}, ${z})`+T}return T}function g(e,s){return e.targetTouches&&(0,l.findInArray)(e.targetTouches,p=>s===p.identifier)||e.changedTouches&&(0,l.findInArray)(e.changedTouches,p=>s===p.identifier)}function i(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function r(e){if(!e)return;let s=e.getElementById("react-draggable-style-el");s||(s=e.createElement("style"),s.type="text/css",s.id="react-draggable-style-el",s.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
- `,s.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
- `,e.getElementsByTagName("head")[0].appendChild(s)),e.body&&n(e.body,"react-draggable-transparent-selection")}function a(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{o(e)}):o(e)}function o(e){if(e)try{if(e.body&&t(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const s=(e.defaultView||window).getSelection();s&&s.type!=="Caret"&&s.removeAllRanges()}}catch{}}function n(e,s){e.classList?e.classList.add(s):e.className.match(new RegExp(`(?:^|\\s)${s}(?!\\S)`))||(e.className+=` ${s}`)}function t(e,s){e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(`(?:^|\\s)${s}(?!\\S)`,"g"),"")}return N}var L={},ye;function je(){if(ye)return L;ye=1,Object.defineProperty(L,"__esModule",{value:!0}),L.canDragX=w,L.canDragY=u,L.createCoreData=D,L.createDraggableData=d,L.getBoundPosition=f,L.getControlPosition=y,L.snapToGrid=c;var l=ne(),m=ce();function f(h,b,x){if(!h.props.bounds)return[b,x];let{bounds:P}=h.props;P=typeof P=="string"?P:v(P);const S=_(h);if(typeof P=="string"){const{ownerDocument:g}=S,i=g.defaultView;let r;if(P==="parent"?r=S.parentNode:r=S.getRootNode().querySelector(P),!(r instanceof i.HTMLElement))throw new Error('Bounds selector "'+P+'" could not find an element.');const a=r,o=i.getComputedStyle(S),n=i.getComputedStyle(a);P={left:-S.offsetLeft+(0,l.int)(n.paddingLeft)+(0,l.int)(o.marginLeft),top:-S.offsetTop+(0,l.int)(n.paddingTop)+(0,l.int)(o.marginTop),right:(0,m.innerWidth)(a)-(0,m.outerWidth)(S)-S.offsetLeft+(0,l.int)(n.paddingRight)-(0,l.int)(o.marginRight),bottom:(0,m.innerHeight)(a)-(0,m.outerHeight)(S)-S.offsetTop+(0,l.int)(n.paddingBottom)-(0,l.int)(o.marginBottom)}}return(0,l.isNum)(P.right)&&(b=Math.min(b,P.right)),(0,l.isNum)(P.bottom)&&(x=Math.min(x,P.bottom)),(0,l.isNum)(P.left)&&(b=Math.max(b,P.left)),(0,l.isNum)(P.top)&&(x=Math.max(x,P.top)),[b,x]}function c(h,b,x){const P=Math.round(b/h[0])*h[0],S=Math.round(x/h[1])*h[1];return[P,S]}function w(h){return h.props.axis==="both"||h.props.axis==="x"}function u(h){return h.props.axis==="both"||h.props.axis==="y"}function y(h,b,x){const P=typeof b=="number"?(0,m.getTouch)(h,b):null;if(typeof b=="number"&&!P)return null;const S=_(x),g=x.props.offsetParent||S.offsetParent||S.ownerDocument.body;return(0,m.offsetXYFromParent)(P||h,g,x.props.scale)}function D(h,b,x){const P=!(0,l.isNum)(h.lastX),S=_(h);return P?{node:S,deltaX:0,deltaY:0,lastX:b,lastY:x,x:b,y:x}:{node:S,deltaX:b-h.lastX,deltaY:x-h.lastY,lastX:h.lastX,lastY:h.lastY,x:b,y:x}}function d(h,b){const x=h.props.scale;return{node:b.node,x:h.state.x+b.deltaX/x,y:h.state.y+b.deltaY/x,deltaX:b.deltaX/x,deltaY:b.deltaY/x,lastX:h.state.x,lastY:h.state.y}}function v(h){return{left:h.left,top:h.top,right:h.right,bottom:h.bottom}}function _(h){const b=h.findDOMNode();if(!b)throw new Error("<DraggableCore>: Unmounted during event!");return b}return L}var V={},ee={},be;function Ne(){if(be)return ee;be=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=l;function l(){}return ee}var Se;function Ue(){if(Se)return V;Se=1,Object.defineProperty(V,"__esModule",{value:!0}),V.default=void 0;var l=d(Z()),m=D(re()),f=D(Ee()),c=ce(),w=je(),u=ne(),y=D(Ne());function D(S){return S&&S.__esModule?S:{default:S}}function d(S,g){if(typeof WeakMap=="function")var i=new WeakMap,r=new WeakMap;return(d=function(a,o){if(!o&&a&&a.__esModule)return a;var n,t,e={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return e;if(n=o?r:i){if(n.has(a))return n.get(a);n.set(a,e)}for(const s in a)s!=="default"&&{}.hasOwnProperty.call(a,s)&&((t=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,s))&&(t.get||t.set)?n(e,s,t):e[s]=a[s]);return e})(S,g)}function v(S,g,i){return(g=_(g))in S?Object.defineProperty(S,g,{value:i,enumerable:!0,configurable:!0,writable:!0}):S[g]=i,S}function _(S){var g=h(S,"string");return typeof g=="symbol"?g:g+""}function h(S,g){if(typeof S!="object"||!S)return S;var i=S[Symbol.toPrimitive];if(i!==void 0){var r=i.call(S,g);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(S)}const b={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let x=b.mouse,P=class extends l.Component{constructor(){super(...arguments),v(this,"dragging",!1),v(this,"lastX",NaN),v(this,"lastY",NaN),v(this,"touchIdentifier",null),v(this,"mounted",!1),v(this,"handleDragStart",g=>{if(this.props.onMouseDown(g),!this.props.allowAnyClick&&typeof g.button=="number"&&g.button!==0)return!1;const i=this.findDOMNode();if(!i||!i.ownerDocument||!i.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:r}=i;if(this.props.disabled||!(g.target instanceof r.defaultView.Node)||this.props.handle&&!(0,c.matchesSelectorAndParentsTo)(g.target,this.props.handle,i)||this.props.cancel&&(0,c.matchesSelectorAndParentsTo)(g.target,this.props.cancel,i))return;g.type==="touchstart"&&!this.props.allowMobileScroll&&g.preventDefault();const a=(0,c.getTouchIdentifier)(g);this.touchIdentifier=a;const o=(0,w.getControlPosition)(g,a,this);if(o==null)return;const{x:n,y:t}=o,e=(0,w.createCoreData)(this,n,t);(0,y.default)("DraggableCore: handleDragStart: %j",e),(0,y.default)("calling",this.props.onStart),!(this.props.onStart(g,e)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,c.addUserSelectStyles)(r),this.dragging=!0,this.lastX=n,this.lastY=t,(0,c.addEvent)(r,x.move,this.handleDrag),(0,c.addEvent)(r,x.stop,this.handleDragStop))}),v(this,"handleDrag",g=>{const i=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(i==null)return;let{x:r,y:a}=i;if(Array.isArray(this.props.grid)){let t=r-this.lastX,e=a-this.lastY;if([t,e]=(0,w.snapToGrid)(this.props.grid,t,e),!t&&!e)return;r=this.lastX+t,a=this.lastY+e}const o=(0,w.createCoreData)(this,r,a);if((0,y.default)("DraggableCore: handleDrag: %j",o),this.props.onDrag(g,o)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const e=document.createEvent("MouseEvents");e.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(e)}return}this.lastX=r,this.lastY=a}),v(this,"handleDragStop",g=>{if(!this.dragging)return;const i=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(i==null)return;let{x:r,y:a}=i;if(Array.isArray(this.props.grid)){let e=r-this.lastX||0,s=a-this.lastY||0;[e,s]=(0,w.snapToGrid)(this.props.grid,e,s),r=this.lastX+e,a=this.lastY+s}const o=(0,w.createCoreData)(this,r,a);if(this.props.onStop(g,o)===!1||this.mounted===!1)return!1;const t=this.findDOMNode();t&&this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(t.ownerDocument),(0,y.default)("DraggableCore: handleDragStop: %j",o),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,t&&((0,y.default)("DraggableCore: Removing handlers"),(0,c.removeEvent)(t.ownerDocument,x.move,this.handleDrag),(0,c.removeEvent)(t.ownerDocument,x.stop,this.handleDragStop))}),v(this,"onMouseDown",g=>(x=b.mouse,this.handleDragStart(g))),v(this,"onMouseUp",g=>(x=b.mouse,this.handleDragStop(g))),v(this,"onTouchStart",g=>(x=b.touch,this.handleDragStart(g))),v(this,"onTouchEnd",g=>(x=b.touch,this.handleDragStop(g)))}componentDidMount(){this.mounted=!0;const g=this.findDOMNode();g&&(0,c.addEvent)(g,b.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const g=this.findDOMNode();if(g){const{ownerDocument:i}=g;(0,c.removeEvent)(i,b.mouse.move,this.handleDrag),(0,c.removeEvent)(i,b.touch.move,this.handleDrag),(0,c.removeEvent)(i,b.mouse.stop,this.handleDragStop),(0,c.removeEvent)(i,b.touch.stop,this.handleDragStop),(0,c.removeEvent)(g,b.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(i)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:f.default.findDOMNode(this)}render(){return l.cloneElement(l.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return V.default=P,v(P,"displayName","DraggableCore"),v(P,"propTypes",{allowAnyClick:m.default.bool,allowMobileScroll:m.default.bool,children:m.default.node.isRequired,disabled:m.default.bool,enableUserSelectHack:m.default.bool,offsetParent:function(S,g){if(S[g]&&S[g].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:m.default.arrayOf(m.default.number),handle:m.default.string,cancel:m.default.string,nodeRef:m.default.object,onStart:m.default.func,onDrag:m.default.func,onStop:m.default.func,onMouseDown:m.default.func,scale:m.default.number,className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),v(P,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),V}var we;function Xe(){return we||(we=1,(function(l){Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"DraggableCore",{enumerable:!0,get:function(){return d.default}}),l.default=void 0;var m=h(Z()),f=_(re()),c=_(Ee()),w=Be(),u=ce(),y=je(),D=ne(),d=_(Ue()),v=_(Ne());function _(i){return i&&i.__esModule?i:{default:i}}function h(i,r){if(typeof WeakMap=="function")var a=new WeakMap,o=new WeakMap;return(h=function(n,t){if(!t&&n&&n.__esModule)return n;var e,s,p={__proto__:null,default:n};if(n===null||typeof n!="object"&&typeof n!="function")return p;if(e=t?o:a){if(e.has(n))return e.get(n);e.set(n,p)}for(const M in n)M!=="default"&&{}.hasOwnProperty.call(n,M)&&((s=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(n,M))&&(s.get||s.set)?e(p,M,s):p[M]=n[M]);return p})(i,r)}function b(){return b=Object.assign?Object.assign.bind():function(i){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var o in a)({}).hasOwnProperty.call(a,o)&&(i[o]=a[o])}return i},b.apply(null,arguments)}function x(i,r,a){return(r=P(r))in i?Object.defineProperty(i,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[r]=a,i}function P(i){var r=S(i,"string");return typeof r=="symbol"?r:r+""}function S(i,r){if(typeof i!="object"||!i)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var o=a.call(i,r);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(i)}class g extends m.Component{static getDerivedStateFromProps(r,a){let{position:o}=r,{prevPropsPosition:n}=a;return o&&(!n||o.x!==n.x||o.y!==n.y)?((0,v.default)("Draggable: getDerivedStateFromProps %j",{position:o,prevPropsPosition:n}),{x:o.x,y:o.y,prevPropsPosition:{...o}}):null}constructor(r){super(r),x(this,"onDragStart",(a,o)=>{if((0,v.default)("Draggable: onDragStart: %j",o),this.props.onStart(a,(0,y.createDraggableData)(this,o))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),x(this,"onDrag",(a,o)=>{if(!this.state.dragging)return!1;(0,v.default)("Draggable: onDrag: %j",o);const n=(0,y.createDraggableData)(this,o),t={x:n.x,y:n.y,slackX:0,slackY:0};if(this.props.bounds){const{x:s,y:p}=t;t.x+=this.state.slackX,t.y+=this.state.slackY;const[M,R]=(0,y.getBoundPosition)(this,t.x,t.y);t.x=M,t.y=R,t.slackX=this.state.slackX+(s-t.x),t.slackY=this.state.slackY+(p-t.y),n.x=t.x,n.y=t.y,n.deltaX=t.x-this.state.x,n.deltaY=t.y-this.state.y}if(this.props.onDrag(a,n)===!1)return!1;this.setState(t)}),x(this,"onDragStop",(a,o)=>{if(!this.state.dragging||this.props.onStop(a,(0,y.createDraggableData)(this,o))===!1)return!1;(0,v.default)("Draggable: onDragStop: %j",o);const t={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:s,y:p}=this.props.position;t.x=s,t.y=p}this.setState(t)}),this.state={dragging:!1,dragged:!1,x:r.position?r.position.x:r.defaultPosition.x,y:r.position?r.position.y:r.defaultPosition.y,prevPropsPosition:{...r.position},slackX:0,slackY:0,isElementSVG:!1},r.position&&!(r.onDrag||r.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??c.default.findDOMNode(this)}render(){const{axis:r,bounds:a,children:o,defaultPosition:n,defaultClassName:t,defaultClassNameDragging:e,defaultClassNameDragged:s,position:p,positionOffset:M,scale:R,...T}=this.props;let C={},z=null;const j=!!!p||this.state.dragging,H=p||n,I={x:(0,y.canDragX)(this)&&j?this.state.x:H.x,y:(0,y.canDragY)(this)&&j?this.state.y:H.y};this.state.isElementSVG?z=(0,u.createSVGTransform)(I,M):C=(0,u.createCSSTransform)(I,M);const k=(0,w.clsx)(o.props.className||"",t,{[e]:this.state.dragging,[s]:this.state.dragged});return m.createElement(d.default,b({},T,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),m.cloneElement(m.Children.only(o),{className:k,style:{...o.props.style,...C},transform:z}))}}l.default=g,x(g,"displayName","Draggable"),x(g,"propTypes",{...d.default.propTypes,axis:f.default.oneOf(["both","x","y","none"]),bounds:f.default.oneOfType([f.default.shape({left:f.default.number,right:f.default.number,top:f.default.number,bottom:f.default.number}),f.default.string,f.default.oneOf([!1])]),defaultClassName:f.default.string,defaultClassNameDragging:f.default.string,defaultClassNameDragged:f.default.string,defaultPosition:f.default.shape({x:f.default.number,y:f.default.number}),positionOffset:f.default.shape({x:f.default.oneOfType([f.default.number,f.default.string]),y:f.default.oneOfType([f.default.number,f.default.string])}),position:f.default.shape({x:f.default.number,y:f.default.number}),className:D.dontSetMe,style:D.dontSetMe,transform:D.dontSetMe}),x(g,"defaultProps",{...d.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(ie)),ie}var xe;function We(){if(xe)return $.exports;xe=1;const{default:l,DraggableCore:m}=Xe();return $.exports=l,$.exports.default=l,$.exports.DraggableCore=m,$.exports}var te={},De;function Ae(){if(De)return te;De=1,te.__esModule=!0,te.cloneElement=D;var l=m(Z());function m(d){return d&&d.__esModule?d:{default:d}}function f(d,v){var _=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);v&&(h=h.filter(function(b){return Object.getOwnPropertyDescriptor(d,b).enumerable})),_.push.apply(_,h)}return _}function c(d){for(var v=1;v<arguments.length;v++){var _=arguments[v]!=null?arguments[v]:{};v%2?f(Object(_),!0).forEach(function(h){w(d,h,_[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(_)):f(Object(_)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(_,h))})}return d}function w(d,v,_){return v=u(v),v in d?Object.defineProperty(d,v,{value:_,enumerable:!0,configurable:!0,writable:!0}):d[v]=_,d}function u(d){var v=y(d,"string");return typeof v=="symbol"?v:String(v)}function y(d,v){if(typeof d!="object"||d===null)return d;var _=d[Symbol.toPrimitive];if(_!==void 0){var h=_.call(d,v);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(d)}function D(d,v){return v.style&&d.props.style&&(v.style=c(c({},d.props.style),v.style)),v.className&&d.props.className&&(v.className=d.props.className+" "+v.className),l.default.cloneElement(d,v)}return te}var G={},Re;function ke(){if(Re)return G;Re=1,G.__esModule=!0,G.resizableProps=void 0;var l=m(re());We();function m(c){return c&&c.__esModule?c:{default:c}}var f={axis:l.default.oneOf(["both","x","y","none"]),className:l.default.string,children:l.default.element.isRequired,draggableOpts:l.default.shape({allowAnyClick:l.default.bool,cancel:l.default.string,children:l.default.node,disabled:l.default.bool,enableUserSelectHack:l.default.bool,offsetParent:l.default.node,grid:l.default.arrayOf(l.default.number),handle:l.default.string,nodeRef:l.default.object,onStart:l.default.func,onDrag:l.default.func,onStop:l.default.func,onMouseDown:l.default.func,scale:l.default.number}),height:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var D=u[0];if(D.axis==="both"||D.axis==="y"){var d;return(d=l.default.number).isRequired.apply(d,u)}return l.default.number.apply(l.default,u)},handle:l.default.oneOfType([l.default.node,l.default.func]),handleSize:l.default.arrayOf(l.default.number),lockAspectRatio:l.default.bool,maxConstraints:l.default.arrayOf(l.default.number),minConstraints:l.default.arrayOf(l.default.number),onResizeStop:l.default.func,onResizeStart:l.default.func,onResize:l.default.func,resizeHandles:l.default.arrayOf(l.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:l.default.number,width:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var D=u[0];if(D.axis==="both"||D.axis==="x"){var d;return(d=l.default.number).isRequired.apply(d,u)}return l.default.number.apply(l.default,u)}};return G.resizableProps=f,G}var Pe;function qe(){if(Pe)return A;Pe=1,A.__esModule=!0,A.default=void 0;var l=y(Z()),m=We(),f=Ae(),c=ke(),w=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function u(i){if(typeof WeakMap!="function")return null;var r=new WeakMap,a=new WeakMap;return(u=function(n){return n?a:r})(i)}function y(i,r){if(i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var a=u(r);if(a&&a.has(i))return a.get(i);var o={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var t in i)if(t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)){var e=n?Object.getOwnPropertyDescriptor(i,t):null;e&&(e.get||e.set)?Object.defineProperty(o,t,e):o[t]=i[t]}return o.default=i,a&&a.set(i,o),o}function D(){return D=Object.assign?Object.assign.bind():function(i){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])}return i},D.apply(this,arguments)}function d(i,r){if(i==null)return{};var a={},o=Object.keys(i),n,t;for(t=0;t<o.length;t++)n=o[t],!(r.indexOf(n)>=0)&&(a[n]=i[n]);return a}function v(i,r){var a=Object.keys(i);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(i);r&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(i,n).enumerable})),a.push.apply(a,o)}return a}function _(i){for(var r=1;r<arguments.length;r++){var a=arguments[r]!=null?arguments[r]:{};r%2?v(Object(a),!0).forEach(function(o){h(i,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):v(Object(a)).forEach(function(o){Object.defineProperty(i,o,Object.getOwnPropertyDescriptor(a,o))})}return i}function h(i,r,a){return r=b(r),r in i?Object.defineProperty(i,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[r]=a,i}function b(i){var r=x(i,"string");return typeof r=="symbol"?r:String(r)}function x(i,r){if(typeof i!="object"||i===null)return i;var a=i[Symbol.toPrimitive];if(a!==void 0){var o=a.call(i,r);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(i)}function P(i,r){i.prototype=Object.create(r.prototype),i.prototype.constructor=i,S(i,r)}function S(i,r){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,n){return o.__proto__=n,o},S(i,r)}var g=(function(i){P(r,i);function r(){for(var o,n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];return o=i.call.apply(i,[this].concat(t))||this,o.handleRefs={},o.lastHandleRect=null,o.slack=null,o}var a=r.prototype;return a.componentWillUnmount=function(){this.resetData()},a.resetData=function(){this.lastHandleRect=this.slack=null},a.runConstraints=function(n,t){var e=this.props,s=e.minConstraints,p=e.maxConstraints,M=e.lockAspectRatio;if(!s&&!p&&!M)return[n,t];if(M){var R=this.props.width/this.props.height,T=n-this.props.width,C=t-this.props.height;Math.abs(T)>Math.abs(C*R)?t=n/R:n=t*R}var z=n,W=t,j=this.slack||[0,0],H=j[0],I=j[1];return n+=H,t+=I,s&&(n=Math.max(s[0],n),t=Math.max(s[1],t)),p&&(n=Math.min(p[0],n),t=Math.min(p[1],t)),this.slack=[H+(z-n),I+(W-t)],[n,t]},a.resizeHandler=function(n,t){var e=this;return function(s,p){var M=p.node,R=p.deltaX,T=p.deltaY;n==="onResizeStart"&&e.resetData();var C=(e.props.axis==="both"||e.props.axis==="x")&&t!=="n"&&t!=="s",z=(e.props.axis==="both"||e.props.axis==="y")&&t!=="e"&&t!=="w";if(!(!C&&!z)){var W=t[0],j=t[t.length-1],H=M.getBoundingClientRect();if(e.lastHandleRect!=null){if(j==="w"){var I=H.left-e.lastHandleRect.left;R+=I}if(W==="n"){var k=H.top-e.lastHandleRect.top;T+=k}}e.lastHandleRect=H,j==="w"&&(R=-R),W==="n"&&(T=-T);var q=e.props.width+(C?R/e.props.transformScale:0),F=e.props.height+(z?T/e.props.transformScale:0),U=e.runConstraints(q,F);q=U[0],F=U[1];var ae=q!==e.props.width||F!==e.props.height,J=typeof e.props[n]=="function"?e.props[n]:null,oe=n==="onResize"&&!ae;J&&!oe&&(s.persist==null||s.persist(),J(s,{node:M,size:{width:q,height:F},handle:t})),n==="onResizeStop"&&e.resetData()}}},a.renderResizeHandle=function(n,t){var e=this.props.handle;if(!e)return l.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+n,ref:t});if(typeof e=="function")return e(n,t);var s=typeof e.type=="string",p=_({ref:t},s?{}:{handleAxis:n});return l.cloneElement(e,p)},a.render=function(){var n=this,t=this.props,e=t.children,s=t.className,p=t.draggableOpts;t.width,t.height,t.handle,t.handleSize,t.lockAspectRatio,t.axis,t.minConstraints,t.maxConstraints,t.onResize,t.onResizeStop,t.onResizeStart;var M=t.resizeHandles;t.transformScale;var R=d(t,w);return(0,f.cloneElement)(e,_(_({},R),{},{className:(s?s+" ":"")+"react-resizable",children:[].concat(e.props.children,M.map(function(T){var C,z=(C=n.handleRefs[T])!=null?C:n.handleRefs[T]=l.createRef();return l.createElement(m.DraggableCore,D({},p,{nodeRef:z,key:"resizableHandle-"+T,onStop:n.resizeHandler("onResizeStop",T),onStart:n.resizeHandler("onResizeStart",T),onDrag:n.resizeHandler("onResize",T)}),n.renderResizeHandle(T,z))}))}))},r})(l.Component);return A.default=g,g.propTypes=c.resizableProps,g.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},A}var K={},Oe;function $e(){if(Oe)return K;Oe=1,K.__esModule=!0,K.default=void 0;var l=D(Z()),m=u(re()),f=u(qe()),c=ke(),w=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function u(r){return r&&r.__esModule?r:{default:r}}function y(r){if(typeof WeakMap!="function")return null;var a=new WeakMap,o=new WeakMap;return(y=function(t){return t?o:a})(r)}function D(r,a){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var o=y(a);if(o&&o.has(r))return o.get(r);var n={},t=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in r)if(e!=="default"&&Object.prototype.hasOwnProperty.call(r,e)){var s=t?Object.getOwnPropertyDescriptor(r,e):null;s&&(s.get||s.set)?Object.defineProperty(n,e,s):n[e]=r[e]}return n.default=r,o&&o.set(r,n),n}function d(){return d=Object.assign?Object.assign.bind():function(r){for(var a=1;a<arguments.length;a++){var o=arguments[a];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])}return r},d.apply(this,arguments)}function v(r,a){var o=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);a&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),o.push.apply(o,n)}return o}function _(r){for(var a=1;a<arguments.length;a++){var o=arguments[a]!=null?arguments[a]:{};a%2?v(Object(o),!0).forEach(function(n){h(r,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):v(Object(o)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(o,n))})}return r}function h(r,a,o){return a=b(a),a in r?Object.defineProperty(r,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[a]=o,r}function b(r){var a=x(r,"string");return typeof a=="symbol"?a:String(a)}function x(r,a){if(typeof r!="object"||r===null)return r;var o=r[Symbol.toPrimitive];if(o!==void 0){var n=o.call(r,a);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(r)}function P(r,a){if(r==null)return{};var o={},n=Object.keys(r),t,e;for(e=0;e<n.length;e++)t=n[e],!(a.indexOf(t)>=0)&&(o[t]=r[t]);return o}function S(r,a){r.prototype=Object.create(a.prototype),r.prototype.constructor=r,g(r,a)}function g(r,a){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},g(r,a)}var i=(function(r){S(a,r);function a(){for(var n,t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return n=r.call.apply(r,[this].concat(e))||this,n.state={width:n.props.width,height:n.props.height,propsWidth:n.props.width,propsHeight:n.props.height},n.onResize=function(p,M){var R=M.size;n.props.onResize?(p.persist==null||p.persist(),n.setState(R,function(){return n.props.onResize&&n.props.onResize(p,M)})):n.setState(R)},n}a.getDerivedStateFromProps=function(t,e){return e.propsWidth!==t.width||e.propsHeight!==t.height?{width:t.width,height:t.height,propsWidth:t.width,propsHeight:t.height}:null};var o=a.prototype;return o.render=function(){var t=this.props,e=t.handle,s=t.handleSize;t.onResize;var p=t.onResizeStart,M=t.onResizeStop,R=t.draggableOpts,T=t.minConstraints,C=t.maxConstraints,z=t.lockAspectRatio,W=t.axis;t.width,t.height;var j=t.resizeHandles,H=t.style,I=t.transformScale,k=P(t,w);return l.createElement(f.default,{axis:W,draggableOpts:R,handle:e,handleSize:s,height:this.state.height,lockAspectRatio:z,maxConstraints:C,minConstraints:T,onResizeStart:p,onResize:this.onResize,onResizeStop:M,resizeHandles:j,transformScale:I,width:this.state.width},l.createElement("div",d({},k,{style:_(_({},H),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a})(l.Component);return K.default=i,i.propTypes=_(_({},c.resizableProps),{},{children:m.default.element}),K}var _e;function Ve(){return _e||(_e=1,X.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},X.exports.Resizable=qe().default,X.exports.ResizableBox=$e().default),X.exports}var Ge=Ve();const Ke=Ge.ResizableBox,Ze=typeof window<"u",Je=1200,Qe=720,Me=30,et=({id:l,scenarioName:m,iframeUrl:f,defaultWidth:c=1440,defaultHeight:w=900,onDataOverride:u,onIframeLoad:y,onScaleChange:D,onDimensionChange:d})=>{const[v,_]=O.useState(!1),[h,b]=O.useState(!1),[x,P]=O.useState(Je),[S,g]=O.useState(Qe),[i,r]=O.useState(null),[a,o]=O.useState(null),{dimensions:n,updateDimensions:t,iframeRef:e,updateScale:s,updateMaxWidth:p}=Ie(),M=O.useMemo(()=>Math.min(1,x/n.width),[x,n.width]),R=a!==null?a:M;O.useEffect(()=>{v||(s(R),D?.(R))},[R,s,D,v]),O.useEffect(()=>{p(x)},[x,p]);const T=O.useCallback(()=>{_(!0),o(M)},[M]),C=O.useCallback(()=>{_(!1),o(null)},[]),z=O.useCallback((k,q)=>{const F=a!==null?a:1,U=Math.round(q.size.width/F);t({width:U}),d?.(U,n.height)},[t,a,d,n.height]),W=O.useCallback(()=>{setTimeout(()=>{b(!0)},100),y&&y()},[y]);O.useEffect(()=>{const k=q=>{if(q.data.type==="codeyam-resize"){if(m&&q.data.name!==m||n.height===q.data.height||q.data.height===0)return;t({height:q.data.height})}};return window.addEventListener("message",k),()=>{window.removeEventListener("message",k)}},[e,m,c,n,t]),O.useEffect(()=>{h&&u&&u(e.current)},[h,u,e]),O.useEffect(()=>{if(!m)return;const k=setInterval(()=>{e?.current?.contentWindow?.postMessage({type:"codeyam-respond",name:m},"*")},1e3);return()=>clearInterval(k)},[m,e]),O.useEffect(()=>{const k=()=>{const q=document.getElementById("scenario-container");if(!q)return;const F=q.getBoundingClientRect(),U=q.clientWidth-Me*2,ae=window.innerHeight-F.top-Me*2,J=Math.max(ae,400),oe=window.innerHeight-F.top;P(U),g(J),r(oe)};return k(),window.addEventListener("resize",k),()=>window.removeEventListener("resize",k)},[]),O.useEffect(()=>{t({width:c,height:w})},[c,w,t]);const j=O.useMemo(()=>n.width*R,[n.width,R]),H=O.useMemo(()=>{const k=n.height,q=k*R;return k&&k!==720&&k!==900&&q<S?q:S},[n.height,S,R]),I=O.useCallback(()=>{window.history.back()},[]);return Ze?E.jsxs("div",{id:"scenario-container",className:"relative bg-gray-100 w-full flex items-center justify-center",style:i?{height:`${i}px`}:{},children:[v&&E.jsx("div",{className:"fixed inset-0 z-50 bg-transparent"}),E.jsx("style",{children:`
4
- .react-resizable-handle-e {
5
- display: flex !important;
6
- align-items: center !important;
7
- justify-content: center !important;
8
- width: 6px !important;
9
- height: 48px !important;
10
- right: -8px !important;
11
- top: 50% !important;
12
- transform: translateY(-50%) !important;
13
- cursor: ew-resize !important;
14
- background: #d1d5db !important;
15
- border-radius: 3px !important;
16
- opacity: 0 !important;
17
- transition: all 0.2s ease !important;
18
- }
19
- .react-resizable-handle-e:hover {
20
- opacity: 0.8 !important;
21
- background: #9ca3af !important;
22
- }
23
- .react-resizable:hover .react-resizable-handle-e {
24
- opacity: 0.4 !important;
25
- }
26
- `}),E.jsx(Ke,{width:j,height:H,minConstraints:[300,200],maxConstraints:[x,S],className:"relative bg-white rounded-lg shadow-md",resizeHandles:["e"],onResizeStart:T,onResizeStop:C,onResize:z,children:E.jsx("div",{className:"overflow-auto",style:{width:`${j}px`,height:`${H}px`},children:E.jsx("div",{style:{width:`${n.width}px`,height:`${n.height}px`,transform:`scale(${R})`,transformOrigin:"top left"},children:f?E.jsx("iframe",{ref:e,className:"w-full h-full rounded-lg",src:f,onLoad:W,sandbox:"allow-scripts allow-same-origin"}):E.jsxs("p",{className:"w-full h-full flex flex-col gap-3 items-center justify-center",children:[E.jsx("span",{className:"text-xl font-light",children:"Oops! Looks like this scenario is not available yet. Please check back later."}),E.jsx("span",{className:"text-blue-600 cursor-pointer",onClick:I,children:"Go back"})]})})})},`resizable-box-${l}`)]}):E.jsx("div",{className:"relative bg-gray-100 w-full h-full flex items-center justify-center",children:E.jsx("p",{className:"text-gray-500",children:"Loading interactive view..."})})};function Ce(l){const m=l.replace(/[^a-zA-Z0-9_]+/g,"_");return m.slice(0,1).toUpperCase()+m.slice(1)}function it({analysisId:l,scenarioId:m,scenarioName:f,projectSlug:c,enabled:w=!0,refreshTrigger:u=0}){const y=He(),[D,d]=O.useState(null),[v,_]=O.useState(!1),[h,b]=O.useState(!1),[x,P]=O.useState(!1),S=O.useRef(!1),g=O.useRef(null),i=O.useRef(null),[r,a]=O.useState(0),[o,n]=O.useState(0),t=O.useRef(null),e=O.useRef(!1),{interactiveUrl:s,resetLogs:p}=ze(c,w),M=O.useRef(m),R=O.useRef(u);O.useEffect(()=>{R.current!==u&&(R.current=u,D&&(console.log("[useInteractiveMode] Manual refresh triggered"),b(!0),P(!1),a(0),n(C=>C+1),e.current=!1,t.current&&(clearTimeout(t.current),t.current=null)))},[u,D]),O.useEffect(()=>{if(M.current!==m&&(M.current=m,g.current&&i.current&&f)){const C=Ce(i.current),z=Ce(f),W=g.current.replace(C,z);d(W),b(!0),P(!1),a(0),n(j=>j+1),e.current=!1,t.current&&(clearTimeout(t.current),t.current=null);return}},[m,f]),O.useEffect(()=>{if(s){const C=s+"?width=600px";g.current=C,f&&(i.current=f),d(C),_(!1),b(!0)}},[s]),O.useEffect(()=>{const C=z=>{z.data.type==="codeyam-resize"&&(e.current||(e.current=!0,t.current&&(clearTimeout(t.current),t.current=null),a(0),P(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{b(!1)})})))};return window.addEventListener("message",C),()=>window.removeEventListener("message",C)},[]);const T=()=>{e.current=!1,t.current&&clearTimeout(t.current);const C=500*Math.pow(2,r);t.current=setTimeout(()=>{e.current||(r<2?(a(z=>z+1),n(z=>z+1),b(!0)):(console.error("[useInteractiveMode] Interactive mode failed to load after 3 attempts - showing iframe anyway"),P(!0),b(!1)))},C)};return O.useEffect(()=>{w&&!S.current&&m&&l&&(S.current=!0,_(!0),P(!1),d(null),(async()=>{if(c)try{await fetch(`/api/logs/${c}`,{method:"DELETE"})}catch(z){console.error("[useInteractiveMode] Failed to clear log file:",z)}p(),y.submit({action:"start",analysisId:l,scenarioId:m},{method:"post",action:"/api/interactive-mode"})})())},[w,m,l,p,c]),O.useEffect(()=>{const C=l,z=()=>{if(S.current&&C){const j=new URLSearchParams({action:"stop",analysisId:C});console.log("[useInteractiveMode] Sending stop request via sendBeacon");const H=navigator.sendBeacon("/api/interactive-mode",j);console.log("[useInteractiveMode] sendBeacon result:",H),H||(console.log("[useInteractiveMode] sendBeacon failed, using fetch fallback"),fetch("/api/interactive-mode",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:j,keepalive:!0}).catch(I=>console.error("Failed to stop interactive mode:",I)))}},W=()=>{z()};return window.addEventListener("beforeunload",W),()=>{window.removeEventListener("beforeunload",W),console.log("[useInteractiveMode] Cleanup running:",{hasStarted:S.current,analysisId:C}),z()}},[l]),{interactiveServerUrl:D,isStarting:v,isLoading:h,showIframe:x,iframeKey:o,onIframeLoad:T}}function st({scenarioId:l,scenarioName:m,iframeUrl:f,isStarting:c,isLoading:w,showIframe:u,iframeKey:y,onIframeLoad:D,onScaleChange:d,onDimensionChange:v,projectSlug:_,defaultWidth:h=1440,defaultHeight:b=900,retryCount:x=0}){const{lastLine:P}=ze(_??null,c||w);return f?E.jsxs("div",{className:"flex-1 min-h-0 relative",children:[E.jsx("div",{style:{opacity:u?1:0},children:E.jsx(et,{id:l,scenarioName:m,iframeUrl:f,defaultWidth:h,defaultHeight:b,onIframeLoad:D,onScaleChange:d,onDimensionChange:v},y)}),!u&&(c||w)&&E.jsx("div",{className:"absolute inset-0 flex items-center justify-center z-10",children:E.jsxs("div",{className:"flex flex-col items-center gap-3",children:[E.jsx("div",{className:"w-12 h-12",children:E.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:E.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),E.jsxs("div",{className:"text-center",children:[E.jsx("p",{className:"text-base font-semibold text-[#005c75] mb-1",children:c&&!f?"Starting interactive mode...":`Checking server stability. Attempt #${x+1}..`}),P&&!f&&E.jsx("p",{className:"text-xs font-mono text-[#666] leading-relaxed",children:P}),f&&x>0&&E.jsxs("p",{className:"text-xs font-mono text-[#666] leading-relaxed",children:["Waiting for application to initialize... (attempt"," ",x+1,")"]})]})]})})]}):E.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center bg-[#f6f9fc]",children:E.jsxs("div",{className:"flex flex-col items-center gap-6 max-w-2xl",children:[E.jsx("div",{className:"w-12 h-12 mb-2",children:E.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:E.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),E.jsx("h2",{className:"text-2xl font-semibold text-[#005c75] leading-[30px] m-0 font-['IBM_Plex_Sans']",children:w?"Interactive mode ready: launching...":"Starting Interactive Mode..."}),P&&E.jsx("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 max-w-xl font-['IBM_Plex_Mono']",children:P}),E.jsx("p",{className:"text-xs text-[#8e8e8e] text-center leading-5 m-0 font-['IBM_Plex_Mono']",children:w?"Loading the page in the background...":"Setting up the dev server for this scenario..."})]})})}export{st as I,at as W,it as a,Ie as u};
@@ -1,3 +0,0 @@
1
- import{j as l,L as D}from"./chunk-WWGJGFF6-CgXbbZRx.js";function F(t,d,x,y,E){const e=d?.scenarios?.find(r=>r.name===t.name),u=!!e?.startedAt,n=!!e?.screenshotStartedAt,k=!!e?.screenshotFinishedAt,p=!!e?.finishedAt,v=1800*1e3,g=n&&!k&&e?.screenshotStartedAt&&Date.now()-new Date(e.screenshotStartedAt).getTime()>v,o=!!t.metadata?.screenshotPaths?.[0]||!!t.metadata?.executionResult,s=n&&!k,c=e?.error,S=t.metadata?.executionResult?.error,a=[];if(d?.errors&&d.errors.length>0)for(const r of d.errors)a.push({source:`${r.phase} phase`,message:r.message});if(d?.steps)for(const r of d.steps)r.error&&a.push({source:r.name,message:r.error});const w=!o&&!c&&!S&&a.length>0,i=!!(c||S||g||w),j=g?"Capture timed out after 30 minutes":(typeof c=="string"?c:null)||S?.message||(w?`Analysis error: ${a[0].message}`:null),L=g?"The capture process has been running for more than 30 minutes and likely got stuck. Consider re-running the analysis.":e?.errorStack||S?.stack||null,A=(y&&E?E.jobs.some(r=>r.entityShas?.includes(y)||r.type==="analysis"&&r.entityShas&&r.entityShas.length===0)||E.currentlyExecuting?.entityShas?.includes(y):!1)&&!u&&!i||!!e?.analyzing&&!u&&!i,C=u&&!n&&!p&&!i,M=(A||C||s)&&!i,h=(A||C)&&x===!1&&!o;let m;h?m="crashed":i?m="error":o||p?m="completed":s?m="capturing":C?m="starting":A?m="queued":m="pending";let b="📷",f="pending",T=!1,$=`Not captured: ${t.name}`;const R="border-gray-300",z=i||h?"bg-red-50":"bg-white";return i||h?(b="⚠️",f="error",$=`Error: ${h?"Analysis process crashed":j||"Unknown error"}`):A?(b="⋯",f="queued",$=`Queued: ${t.name}`):C?(b="⋯",f="starting",T=!0,$=`Starting server for ${t.name}...`):s&&!i?(b="⋯",f="capturing",T=!0,$=`Capturing ${t.name}...`):o&&(b="✓",f="completed",$=t.name),{hasError:i||h,errorMessage:h?"Analysis process crashed":j,errorStack:h?"Process terminated unexpectedly before completing analysis":L,isCapturing:s,isCaptured:o,hasCrashed:h,isAnalyzing:M,isQueued:A,isServerStarting:C,status:m,icon:b,iconType:f,shouldSpin:T,title:$,borderColor:R,bgColor:z}}function P({scenario:t,entitySha:d,size:x="medium",showBorder:y=!0,isOutdated:E=!1}){const e=F(t,void 0,void 0,d,void 0),u=t.metadata?.executionResult,n=!!u,p=(t.metadata?.data?.argumentsData||[]).length,v=u?.returnValue!==void 0&&u?.returnValue!==null,g=u?.sideEffects?.consoleOutput?.length||0,o=u?.timing?.duration||0;let s=0;p>0&&s++,p>2&&s++,v&&s++,g>0&&s++,s=Math.min(3,s);const c=x==="small"?{width:"w-[50px]",height:"h-[38px]",iconSize:"text-base",textSize:"text-[8px]"}:{width:"w-20",height:"h-15",iconSize:"text-xl",textSize:"text-[10px]"},a=e.hasError?{border:"border-red-400",bg:"bg-red-50",icon:"text-red-600",badge:"bg-red-100 text-red-700"}:n?E?{border:"border-amber-500",bg:"bg-amber-50",icon:"text-amber-700",badge:"bg-amber-100 text-amber-700"}:{border:"border-blue-400",bg:"bg-blue-50",icon:"text-blue-600",badge:"bg-blue-100 text-blue-700"}:{border:"border-gray-300 border-dashed",bg:"bg-gray-50",icon:"text-gray-400",badge:"bg-gray-100 text-gray-600"},w=y?`border-2 ${a.border}`:"",i=Array.from({length:3},(L,N)=>l.jsx("div",{className:`w-1 h-1 rounded-full ${N<s?a.icon.replace("text-","bg-"):"bg-gray-300"}`},N)),j=e.hasError?`Error: ${e.errorMessage||"Unknown error"}`:n?`${t.name}
2
- ${p} args → ${v?"value":"void"}${g>0?` (${g} logs)`:""}
3
- ${o}ms`:`Not executed: ${t.name}`;return l.jsxs(D,{to:`/entity/${d}/scenarios/${t.id}`,className:`relative ${c.width} ${c.height} ${w} rounded ${a.bg} flex flex-col items-center justify-center gap-0.5 cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:j,children:[l.jsx("div",{className:`${a.icon} ${c.iconSize} font-mono font-bold`,children:e.hasError?"⚠":n?"ƒ":"○"}),n&&!e.hasError&&l.jsxs("div",{className:`flex items-center gap-0.5 ${c.textSize} ${a.badge} px-1 rounded`,children:[l.jsx("span",{children:p}),l.jsx("span",{children:"→"}),l.jsx("span",{children:v?"✓":"∅"})]}),n&&!e.hasError&&x==="medium"&&l.jsx("div",{className:"flex gap-0.5 mt-0.5",children:i}),n&&!e.hasError&&o>100&&x==="medium"&&l.jsx("div",{className:`absolute top-0.5 right-0.5 ${c.textSize} ${a.badge} px-1 rounded`,children:o>1e3?`${Math.round(o/1e3)}s`:`${o}ms`}),n&&!e.hasError&&g>0&&x==="medium"&&l.jsxs("div",{className:"absolute bottom-0.5 left-0.5 text-[8px] text-gray-500",children:["📝",g]})]})}export{P as L,F as g};
@@ -1,3 +0,0 @@
1
- import{r,j as e}from"./chunk-WWGJGFF6-CgXbbZRx.js";function w({projectSlug:i,onClose:l}){const[p,o]=r.useState("Loading logs..."),[x,m]=r.useState(!0),[u,g]=r.useState(!0),[n,f]=r.useState("all"),a=r.useRef(null);return r.useEffect(()=>{const t=async()=>{try{const s=await fetch(`/api/logs/${i}`);if(s.ok){const d=await s.text();if(n==="all")o(d);else{const b=d.trim().split(`
2
- `).filter(c=>{if(c.length===0)return!1;const h=c.match(/^.*CodeYam Log Level (\d+):/);return!!h&&Number(h[1])<=n});o(b.map(c=>c.replace(/^.*CodeYam Log Level \d+:\s*/,"")).join(`
3
- `))}u&&a.current&&setTimeout(()=>{a.current?.scrollTo({top:a.current.scrollHeight,behavior:"smooth"})},100)}else o(`Error: ${s.status} - ${await s.text()}`)}catch(s){o(`Error fetching logs: ${s.message}`)}};if(t().catch(()=>{}),x){const s=setInterval(()=>{t().catch(()=>{})},2e3);return()=>clearInterval(s)}},[i,x,u,n]),r.useEffect(()=>{const t=s=>{s.key==="Escape"&&l()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[l]),e.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-9999 p-5",onClick:l,children:e.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg shadow-2xl flex flex-col max-w-[1200px] w-full max-h-[90vh] overflow-hidden",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex justify-between items-center px-5 py-4 border-b border-[#333] bg-[#252525]",children:[e.jsxs("h3",{className:"m-0 text-lg font-semibold text-white",children:["Analysis Logs - ",i]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm text-[#ccc] select-none",children:[e.jsx("span",{children:"Log Level:"}),e.jsxs("select",{value:n,onChange:t=>f(t.target.value==="all"?"all":Number(t.target.value)),className:"bg-[#333] text-white border border-[#555] rounded px-2 py-1 text-sm cursor-pointer outline-none transition-all hover:border-[#777] hover:bg-[#3a3a3a] focus:border-blue-600",children:[e.jsx("option",{value:"1",children:"1"}),e.jsx("option",{value:"2",children:"2"}),e.jsx("option",{value:"3",children:"3"}),e.jsx("option",{value:"4",children:"4"}),e.jsx("option",{value:"all",children:"All"})]})]}),e.jsxs("label",{className:"flex items-center gap-1.5 text-sm text-[#ccc] cursor-pointer select-none group",children:[e.jsx("input",{type:"checkbox",checked:x,onChange:t=>m(t.target.checked),className:"cursor-pointer"}),e.jsx("span",{className:"group-hover:text-white",children:"Auto-refresh"})]}),e.jsxs("label",{className:"flex items-center gap-1.5 text-sm text-[#ccc] cursor-pointer select-none group",children:[e.jsx("input",{type:"checkbox",checked:u,onChange:t=>g(t.target.checked),className:"cursor-pointer"}),e.jsx("span",{className:"group-hover:text-white",children:"Auto-scroll"})]}),e.jsx("button",{onClick:l,className:"bg-transparent border-none text-[#999] text-2xl cursor-pointer p-0 w-8 h-8 flex items-center justify-center rounded transition-all hover:bg-[#333] hover:text-white",title:"Close (Esc)",children:"✕"})]})]}),e.jsx("pre",{className:"flex-1 m-0 px-5 py-4 overflow-auto font-mono text-[13px] leading-relaxed text-[#d4d4d4] bg-[#1e1e1e] whitespace-pre-wrap wrap-break-word scrollbar-thin scrollbar-thumb-[#424242] scrollbar-track-[#1e1e1e] hover:scrollbar-thumb-[#4f4f4f]",ref:a,children:p})]})})}export{w as L};
@@ -1 +0,0 @@
1
- import{r as m,b as z,j as e}from"./chunk-WWGJGFF6-CgXbbZRx.js";import{c as I}from"./createLucideIcon-BBYuR56H.js";import{C as D}from"./circle-check-B2oHQ-zo.js";import{T as w}from"./triangle-alert-BthANBVv.js";const R="modulepreload",T=function(l){return"/"+l},S={},q=function(b,s,N){let c=Promise.resolve();if(s&&s.length>0){let f=function(t){return Promise.all(t.map(d=>Promise.resolve(d).then(o=>({status:"fulfilled",value:o}),o=>({status:"rejected",reason:o}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=i?.nonce||i?.getAttribute("nonce");c=f(s.map(t=>{if(t=T(t),t in S)return;S[t]=!0;const d=t.endsWith(".css"),o=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${o}`))return;const n=document.createElement("link");if(n.rel=d?"stylesheet":R,d||(n.as="script"),n.crossOrigin="",n.href=t,a&&n.setAttribute("nonce",a),document.head.appendChild(n),d)return new Promise((j,x)=>{n.addEventListener("load",j),n.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${t}`)))})}))}function u(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return c.then(i=>{for(const a of i||[])a.status==="rejected"&&u(a.reason);return b().catch(u)})};const L=[["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"}]],P=I("bug",L);const A=[["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"}]],C=I("settings",A);function W(l){return l.scenarioId?`Scenario: ${l.scenarioId.slice(0,8)}...`:l.entitySha?`Entity: ${l.entitySha.slice(0,8)}...`:"General feedback"}function Y({isOpen:l,onClose:b,context:s,defaultEmail:N="",screenshotDataUrl:c}){const[u,i]=m.useState(""),[a,f]=m.useState(N),[t,d]=m.useState(!1),[o,n]=m.useState(!1),[j,x]=m.useState(null),[g,v]=m.useState(null),p=z(),h=p.state!=="idle";if(p.data&&!o&&!g){const r=p.data;r.success&&r.reportId?(n(!0),x(r.reportId)):r.error&&v(r.error)}const E=async()=>{v(null);const r=new FormData;if(r.append("issueType","other"),r.append("description",u),r.append("email",a),r.append("source",s.source),r.append("entitySha",s.entitySha||""),r.append("scenarioId",s.scenarioId||""),r.append("analysisId",s.analysisId||""),r.append("currentUrl",s.currentUrl),c)try{const $=await(await fetch(c)).blob();r.append("screenshot",$,"screenshot.jpg")}catch(k){console.error("Failed to convert screenshot:",k)}p.submit(r,{method:"post",action:"/api/generate-report",encType:"multipart/form-data"})},y=()=>{i(""),d(!1),n(!1),x(null),v(null),b()},M=r=>{r.key==="Escape"&&y()};return l?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:[h?e.jsx("div",{className:"animate-spin",children:e.jsx(C,{size:24,style:{strokeWidth:1.5}})}):o?e.jsx(D,{size:24,style:{color:"#10B981",strokeWidth:1.5}}):e.jsx(P,{size:24,style:{color:"#005C75",strokeWidth:1.5}}),e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:o?"Report Submitted":"Report Issue"})]}),e.jsx("button",{onClick:y,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"})})})]}),o?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:j})]})]}),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:y,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:`${s.source}${s.entitySha?` • Entity: ${s.entitySha}`:""}${s.scenarioId?` • Scenario: ${s.scenarioId}`:""}${s.analysisId?` • Analysis: ${s.analysisId}`:""}`,children:W(s)}),e.jsx("button",{type:"button",onClick:()=>d(!t),className:"text-xs text-gray-500 hover:text-gray-700 underline cursor-pointer",children:t?"Hide":"Details"})]}),t&&e.jsxs("div",{className:"mt-2 pt-2 border-t border-gray-200 text-xs text-gray-600 space-y-1",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Source:"})," ",s.source]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"URL:"})," ",s.currentUrl]}),s.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:s.entitySha})]}),s.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:s.scenarioId})]}),s.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:s.analysisId})]})]})]}),c&&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:c,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:r=>i(r.target.value),placeholder:"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:a,onChange:r=>f(r.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(w,{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."})]})]}),h&&e.jsx("div",{className:"mb-4 text-center",children:e.jsx("p",{className:"text-sm text-gray-600",children:p.formData?"Uploading report...":"Creating archive..."})}),g&&e.jsxs("div",{className:"mb-4 p-3 bg-red-50 rounded-lg border border-red-200 flex gap-2",children:[e.jsx(w,{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:g})]})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:y,disabled:h,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:()=>{E()},disabled:h,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:h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"animate-spin",children:e.jsx(C,{size:16,style:{strokeWidth:1.5}})}),"Submitting..."]}):g?"Try Again":"Submit Report"})]})]})]})}):null}export{P as B,Y as R,C as S,q as _};
@@ -1 +0,0 @@
1
- import{r as t,j as e}from"./chunk-WWGJGFF6-CgXbbZRx.js";function j({screenshotPath:a,cacheBuster:l,alt:x,className:f="",title:o}){const[n,s]=t.useState("loading"),[i,r]=t.useState(!1),c=t.useRef(null),d=l?`/api/screenshot/${a}?cb=${l}`:`/api/screenshot/${a}`,m=()=>{s("success"),r(!0)},g=()=>{s("error"),r(!1)};return t.useEffect(()=>{s("loading"),r(!1);const u=c.current;u?.complete&&(u.naturalHeight!==0?(s("success"),r(!0)):(s("error"),r(!1)))},[d]),a?e.jsxs("div",{className:"relative w-full h-full flex items-center justify-center",title:o,children:[e.jsx("img",{ref:c,src:d,alt:x,onLoad:m,onError:g,className:f||"max-w-full max-h-full object-contain",style:{visibility:i?"visible":"hidden",position:i?"relative":"absolute"}}),n==="loading"&&e.jsx("div",{className:"absolute inset-0 bg-gray-100 animate-pulse rounded flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-gray-300",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})})}),n==="error"&&e.jsxs("div",{className:"absolute inset-0 border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",children:[e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"}),e.jsx("span",{className:"text-gray-400 whitespace-nowrap",children:"No Screenshot"})]})]}):e.jsx("div",{className:"w-full h-full border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",title:o,children:e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"})})}export{j as S};
@@ -1,5 +0,0 @@
1
- import{r as o,j as e,b as ee,L as se}from"./chunk-WWGJGFF6-CgXbbZRx.js";import{a as te,I as re}from"./InteractivePreview-TlHocYno.js";import{L as ae}from"./LogViewer-JkfQ-VaI.js";import{S as ne}from"./SafeScreenshot-BrMAP1nP.js";import{u as oe}from"./useLastLogLine-Blr5oZDE.js";import{R as ie,_ as le}from"./ReportIssueModal-CVZ0H4BL.js";function ce({presets:t,customSizes:i,currentWidth:l,currentHeight:n,scale:f,onSizeChange:w,onSaveCustomSize:m,onRemoveCustomSize:r,className:c=""}){const[a,x]=o.useState(!1),[h,C]=o.useState(String(l)),[y,j]=o.useState(String(n)),[u,g]=o.useState(!1),[p,k]=o.useState(!1),I=o.useRef(null);o.useEffect(()=>{u||C(String(l))},[l,u]),o.useEffect(()=>{p||j(String(n))},[n,p]),o.useEffect(()=>{const s=N=>{I.current&&!I.current.contains(N.target)&&x(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[]);const P=o.useMemo(()=>{const s=t.find(b=>b.width===l&&b.height===n);if(s)return s.name;const N=i.find(b=>b.width===l&&b.height===n);return N?N.name:"Custom"},[t,i,l,n]),z=P==="Custom",A=s=>{w(s.width,s.height),x(!1)},E=s=>{const N=s.target.value;C(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&w(b,n)},R=s=>{const N=s.target.value;j(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&w(l,b)},D=()=>{g(!1);const s=parseInt(h,10);(isNaN(s)||s<=0)&&C(String(l))},S=()=>{k(!1);const s=parseInt(y,10);(isNaN(s)||s<=0)&&j(String(n))},$=s=>{(s.key==="Enter"||s.key==="Escape")&&s.target.blur()};return e.jsxs("div",{className:`flex items-center gap-3 ${c}`,children:[e.jsxs("div",{className:"relative",ref:I,children:[e.jsxs("button",{onClick:()=>x(!a),className:"flex items-center gap-2 px-3 py-1.5 bg-white border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 min-w-[120px] justify-between",children:[e.jsx("span",{children:P}),e.jsx("svg",{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a&&e.jsx("div",{className:"absolute top-full left-0 mt-1 min-w-full bg-white border border-gray-200 rounded-md shadow-lg z-50",children:e.jsxs("div",{className:"py-1",children:[t.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Presets"}),t.map(s=>e.jsxs("button",{onClick:()=>A(s),className:`w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex justify-between items-center gap-4 whitespace-nowrap ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]},s.name))]}),i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"border-t border-gray-100 my-1"}),e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Custom"}),[...i].sort((s,N)=>s.width-N.width).map(s=>e.jsxs("div",{className:`flex items-center gap-1 hover:bg-gray-100 ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsxs("button",{onClick:()=>A(s),className:"flex-1 text-left px-3 py-2 text-sm flex justify-between items-center gap-4 whitespace-nowrap cursor-pointer",children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]}),r&&e.jsx("button",{onClick:N=>{N.stopPropagation(),P===s.name&&t.length>0&&w(t[0].width,t[0].height),r(s.name)},className:"p-1.5 mr-1 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded cursor-pointer transition-colors",title:"Remove custom size",children:e.jsx("svg",{className:"w-4 h-4",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"})})})]},s.name))]})]})})]}),e.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:h,onChange:E,onFocus:()=>g(!0),onBlur:D,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),e.jsx("span",{className:"text-gray-400 mx-1",children:"×"}),e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:y,onChange:R,onFocus:()=>k(!0),onBlur:S,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),f!==void 0&&f<1&&e.jsxs("span",{className:"text-xs text-gray-500 ml-1",children:["(",Math.round(f*100),"%)"]})]}),z&&e.jsx("button",{onClick:m,className:"px-3 py-1.5 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",children:"Save Custom Size"})]})}function de({scenario:t,analysis:i,entity:l}){const n=t.metadata?.executionResult||null,f=t.metadata?.data?.argumentsData||[],w=m=>{if(!m)return"No execution results available yet. Run the function to capture side effects including console output, file operations, and API calls.";const r=[],c=m.sideEffects?.consoleOutput||[];c.length>0&&(r.push(`Console Output: ${c.length} log ${c.length===1?"entry":"entries"} captured`),c.forEach(h=>{r.push(` [${h.level.toUpperCase()}] ${h.args.join(" ")}`)}));const a=m.sideEffects?.fileWrites||[];a.length>0&&(r.push(`
2
- File System Operations: ${a.length} ${a.length===1?"operation":"operations"} detected`),a.forEach(h=>{r.push(` ${h.operation}: ${h.path}${h.size?` (${h.size} bytes)`:""}`)}));const x=m.sideEffects?.apiCalls||[];return x.length>0&&(r.push(`
3
- API Calls: ${x.length} ${x.length===1?"call":"calls"} made`),x.forEach(h=>{r.push(` ${h.method} ${h.url}${h.status?` → ${h.status}`:""}${h.duration?` (${h.duration}ms)`:""}`)})),m.error&&r.push(`
4
- Error: ${m.error.name||"Error"}: ${m.error.message}`),r.length===0?"No side effects detected. The function executed without console output, file operations, or API calls.":r.join(`
5
- `)};return e.jsxs("div",{className:"flex w-full h-full gap-0",children:[e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Input Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:JSON.stringify(f,null,2)})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Returned Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:n?e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:n.returnValue!==void 0?JSON.stringify(n.returnValue,null,2):"undefined"}):e.jsx("div",{className:"text-sm text-gray-500 italic",children:"No execution results yet"})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Side Effects"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-4",children:e.jsx("p",{className:"text-sm text-gray-700 leading-[22px] m-0 whitespace-pre-wrap",children:w(n)})})]})]})}const V=10,me=1024;function xe({currentViewportWidth:t,currentPresetName:i,onDevicePresetClick:l,devicePresets:n}){const[f,w]=o.useState(null),m=o.useRef(null),r=o.useMemo(()=>[...n].sort((u,g)=>u.width-g.width),[n]),{fittingPresets:c,overflowPresets:a}=o.useMemo(()=>{const u=[],g=[];for(const p of r)p.width<=me?u.push(p):g.push(p);return g.sort((p,k)=>k.width-p.width),{fittingPresets:u,overflowPresets:g}},[r]),x=o.useCallback(u=>{if(!m.current)return null;const g=m.current.getBoundingClientRect(),p=u-g.left,k=g.width,I=k/2,z=(c.length>0?c[c.length-1].width:0)/2,A=I-z,E=I+z,R=a.length>0?(a.length-1)*V:0;if(a.length>0){if(p<A){if(p<=R){const S=Math.min(Math.floor(p/V),a.length-1);return a[S]}return a[a.length-1]}if(p>E){const S=k-p;if(S<=R){const $=Math.min(Math.floor(S/V),a.length-1);return a[$]}return a[a.length-1]}}const D=Math.abs(p-I);for(let S=c.length-1;S>=0;S--){const $=c[S],s=c[S-1],N=$.width/2,b=s?s.width/2:0;if(D<=N&&D>=b)return $}return c[0]||a[a.length-1]||null},[c,a]),h=o.useCallback(u=>{const g=x(u.clientX);w(g)},[x]),C=o.useCallback(()=>{w(null)},[]),y=o.useCallback(u=>{const g=x(u.clientX);g&&l(g)},[x,l]),j=f||{name:i,width:t};return e.jsxs("div",{ref:m,className:"relative h-6 bg-[#f6f9fc] shrink-0 overflow-hidden cursor-pointer",onMouseMove:h,onMouseLeave:C,onClick:y,children:[e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsx("div",{className:"h-full transition-all duration-100 bg-[rgba(0,92,117,0.15)]",style:{width:`${t}px`}})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:c.map(u=>{const g=u.width===t,p=f?.name===u.name,k=u.width/2;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% - ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% + ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:a.map((u,g)=>{const p=g*V,k=u.width===t,I=f?.name===u.name;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{right:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsxs("div",{className:`text-[10px] px-2 py-0.5 rounded shadow-sm whitespace-nowrap transition-colors ${f?"bg-[#005c75] text-white":"bg-white/90 text-[#005c75] border border-[rgba(0,92,117,0.25)]"}`,children:[j.name," - ",j.width,"px"]})})]})}function he({width:t,height:i,onSave:l,onCancel:n}){const[f,w]=o.useState(""),[m,r]=o.useState(""),c=()=>{const x=f.trim();if(!x){r("Please enter a name for this custom size");return}l(x)},a=x=>{x.key==="Enter"&&f.trim()&&c(),x.key==="Escape"&&n()};return e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",children:e.jsxs("div",{className:"bg-white rounded-lg max-w-md w-full p-6 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Save Custom Size"}),e.jsx("button",{onClick:n,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"})})})]}),e.jsxs("div",{className:"mb-6 p-4 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-sm text-gray-500 mb-1",children:"Dimensions"}),e.jsxs("div",{className:"text-lg font-medium text-gray-900",children:[t,"px × ",i,"px"]})]}),e.jsxs("div",{className:"mb-6",children:[e.jsx("label",{htmlFor:"custom-size-name",className:"block text-sm font-medium text-gray-700 mb-2",children:"Name"}),e.jsx("input",{id:"custom-size-name",type:"text",value:f,onChange:x=>{w(x.target.value),r("")},onKeyDown:a,placeholder:"e.g., iPhone 15 Pro",className:`w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75] ${m?"border-red-300":"border-gray-300"}`,autoFocus:!0}),m&&e.jsx("p",{className:"mt-1 text-sm text-red-600",children:m})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick: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 cursor-pointer",children:"Cancel"}),e.jsx("button",{onClick:c,disabled:!f.trim(),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 cursor-pointer disabled:bg-gray-300 disabled:cursor-not-allowed",children:"Save"})]})]})})}function ue(t){const[i,l]=o.useState([]),n=t?`codeyam-custom-sizes-${t}`:null;o.useEffect(()=>{if(!n||typeof window>"u"){l([]);return}try{const r=localStorage.getItem(n);if(r){const c=JSON.parse(r);Array.isArray(c)&&l(c)}}catch(r){console.error("[useCustomSizes] Failed to load custom sizes:",r),l([])}},[n]);const f=o.useCallback(r=>{if(!(!n||typeof window>"u"))try{localStorage.setItem(n,JSON.stringify(r))}catch(c){console.error("[useCustomSizes] Failed to save custom sizes:",c)}},[n]),w=o.useCallback((r,c,a)=>{l(x=>{const h=x.findIndex(j=>j.name===r),C={name:r,width:c,height:a};let y;return h>=0?(y=[...x],y[h]=C):y=[...x,C],f(y),y})},[f]),m=o.useCallback(r=>{l(c=>{const a=c.filter(x=>x.name!==r);return f(a),a})},[f]);return{customSizes:i,addCustomSize:w,removeCustomSize:m}}function fe({content:t,label:i="Copy",copiedLabel:l="✓ Copied!",className:n="",duration:f=2e3,ariaLabel:w}){const[m,r]=o.useState(!1),c=o.useCallback(()=>{navigator.clipboard.writeText(t).then(()=>{r(!0),setTimeout(()=>r(!1),f)}).catch(a=>{console.error("Failed to copy:",a)})},[t,f]);return e.jsx("button",{onClick:c,className:`cursor-pointer ${n}`,disabled:m,"aria-label":w||(m?"Copied to clipboard":"Copy to clipboard"),"aria-live":"polite",children:m?l:i})}function W({scenarioId:t,analysisId:i}){const[l,n]=o.useState(!1),[f,w]=o.useState(!1),[m,r]=o.useState(null),c=t||i;if(!c)return null;const a=`/debug ${c}`,x=async()=>{w(!0);try{const{default:C}=await le(async()=>{const{default:u}=await import("./html2canvas-pro.esm-XQCGvadH.js");return{default:u}},[]),j=(await C(document.body,{scale:.5})).toDataURL("image/jpeg",.8);r(j),n(!0)}catch(C){console.error("Screenshot capture failed:",C),n(!0)}finally{w(!1)}},h=()=>{n(!1),r(null)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-4 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-blue-600 text-xl shrink-0",children:"🤖"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"text-sm font-semibold text-blue-800 m-0 mb-2",children:"Claude can help debug this error"}),e.jsx("p",{className:"text-sm text-blue-700 m-0 mb-3",children:"Simply run this command in Claude Code:"}),e.jsxs("div",{className:"flex items-center gap-2 bg-white border border-blue-200 rounded p-3 mb-4",children:[e.jsx("code",{className:"text-sm text-blue-900 font-mono flex-1 wrap-break-word",children:a}),e.jsx(fe,{content:a,label:"Copy",copiedLabel:"Copied!",className:"px-3 py-1 bg-blue-600 text-white text-xs font-medium rounded hover:bg-blue-700 transition-colors shrink-0"})]}),e.jsxs("div",{className:"pt-3 border-t border-blue-200",children:[e.jsx("p",{className:"text-xs text-blue-700 m-0 mb-2",children:"If Claude is unable to address this issue or suggests reporting it, please do so."}),e.jsx("button",{onClick:()=>{x()},disabled:f,className:"cursor-pointer px-3 py-1.5 bg-white border border-blue-300 text-blue-700 text-xs font-medium rounded hover:bg-blue-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:f?"Capturing...":"Report Issue"})]})]})]})}),e.jsx(ie,{isOpen:l,onClose:h,context:{source:t?"scenario-page":"entity-page",entitySha:void 0,scenarioId:t,analysisId:i,currentUrl:typeof window<"u"?window.location.pathname:"/"},screenshotDataUrl:m??void 0})]})}const X=1440,O=[{name:"Mobile",width:375,height:667},{name:"Tablet",width:768,height:1024},{name:"Laptop",width:1024,height:768},{name:"Desktop",width:1440,height:900}];function ve({selectedScenario:t,analysis:i,entity:l,viewMode:n,cacheBuster:f,hasScenarios:w,isAnalyzing:m=!1,projectSlug:r,hasAnApiKey:c=!0}){const a=ee(),[x,h]=o.useState(!1),[C,y]=o.useState(!1),[j,u]=o.useState({name:"Desktop",width:X,height:900}),[g,p]=o.useState(X),[k,I]=o.useState(1),{customSizes:P,addCustomSize:z,removeCustomSize:A}=ue(r),E=o.useMemo(()=>[...O,...P],[P]),R=(d,v)=>{p(d);const U=E.find(M=>M.width===d&&M.height===v);u({name:U?.name||"Custom",width:d,height:v})},D=d=>{p(d.width),u({name:d.name,width:d.width,height:d.height})},S=d=>{z(d,j.width,j.height??900),y(!1),u(v=>({...v,name:d}))},$=(d,v)=>{p(d);const U=E.find(M=>M.width===d&&M.height===v);u(M=>({name:U?.name||"Custom",width:d,height:M.height}))},s=t?.metadata?.screenshotPaths?.[0],N=o.useMemo(()=>!t||!i?.status?.scenarios?null:i.status.scenarios.find(d=>d.name===t.name),[t,i?.status?.scenarios]),b=o.useMemo(()=>{const d=[];if(i?.status?.errors&&i.status.errors.length>0)for(const v of i.status.errors)d.push({source:`${v.phase} phase`,message:v.message,stack:v.stack});if(i?.status?.steps)for(const v of i.status.steps)v.error&&d.push({source:v.name,message:v.error,stack:v.errorStack});return d},[i?.status?.errors,i?.status?.steps]),L=N?.error||(t?.metadata?.error?"Error during capture":null),T=N?.errorStack,{interactiveServerUrl:K,isStarting:H,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y}=te({analysisId:i?.id,scenarioId:t?.id,scenarioName:t?.name,projectSlug:r,enabled:n==="interactive"}),B=o.useMemo(()=>K||null,[K]),_=!m&&w&&t&&!t.metadata?.screenshotPaths?.[0]&&i?.status?.scenarios?.some(d=>d.name===t.name&&d.screenshotStartedAt&&!d.screenshotFinishedAt),{lastLine:F}=oe(r,m||n==="interactive"||_||!1);if(!t)return!w&&l?m?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"flex flex-col items-center gap-6 max-w-2xl",children:[e.jsx("div",{className:"w-12 h-12 mb-2",children:e.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:e.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),e.jsx("h2",{className:"text-2xl font-semibold text-[#005c75] leading-[30px] m-0 font-['IBM_Plex_Sans']",children:_?"Capturing screenshots...":"Analyzing..."}),e.jsx("p",{className:"text-xs text-[#8e8e8e] text-center leading-5 m-0 font-['IBM_Plex_Mono']",children:"This may take a few minutes."}),F&&e.jsx("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 max-w-xl",children:F}),r&&e.jsx("button",{onClick:()=>h(!0),className:"w-[148px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-sm text-xs font-medium cursor-pointer transition-colors hover:bg-[#004a5c] font-['IBM_Plex_Sans']",children:"View full logs"})]})}):b.length>0?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 bg-[#f6f9fc] overflow-auto",children:e.jsxs("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl",children:[e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. No scenarios were generated.":`${b.length} errors occurred during analysis. No scenarios were generated.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v))]})]}),l.filePath&&e.jsx("div",{className:"flex justify-center mt-4",children:e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[42px] px-6 py-2 bg-[#005c75] text-white border-none rounded-lg text-sm font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Retrying...":"Retry Analysis"})}),e.jsx(W,{analysisId:i?.id})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"max-w-[600px]",children:[e.jsx("h2",{className:"text-[28px] font-semibold text-[#343434] mb-4 m-0 leading-10",children:"No simulations yet"}),e.jsx("p",{className:"text-base font-normal text-[#3e3e3e] mb-8 leading-6 m-0",children:"Analyze the code to create simulations and create test scenarios automatically."}),l.filePath&&e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[54px] w-[183px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-lg text-base font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Analyzing...":"Analyze"})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center",children:e.jsx("p",{className:"text-base text-gray-500 m-0",children:"Select a scenario to view its screenshot"})});const Q=n==="screenshot"&&(s||L)||n==="interactive"&&(B||H)||n==="data",Z=(m||_)&&!s&&!L&&n==="screenshot";return e.jsxs(e.Fragment,{children:[e.jsx("main",{className:"flex-1 bg-[#f9f9f9] overflow-auto flex flex-col min-w-0",children:Z?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-linear-to-br from-blue-50 to-indigo-50",children:e.jsxs("div",{className:"max-w-2xl w-full bg-white rounded-t-2xl shadow-xl p-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-24 h-24 bg-blue-100 rounded-full mb-6",children:e.jsx("span",{className:"text-5xl animate-spin",children:"⚙️"})}),e.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-4 m-0",children:_?`Capturing ${l?.name}`:`Analyzing ${l?.name}`}),e.jsx("p",{className:"text-base text-gray-600 leading-relaxed m-0 mb-2",children:_?`Taking screenshots for ${i?.scenarios?.length||0} scenario${i?.scenarios?.length!==1?"s":""}...`:`Generating simulations and scenarios for this ${l?.entityType} entity...`}),t&&e.jsxs("p",{className:"text-sm text-blue-600 font-semibold m-0",children:["Currently processing: ",t.name]})]}),F&&e.jsx("div",{className:"bg-[#f6f9fc] border-2 border-[#e1e1e1] rounded-lg p-6 mb-6",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-xl shrink-0",children:"📝"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xs font-semibold text-gray-700 uppercase tracking-wide mb-2 m-0",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-gray-900 font-mono wrap-break-word m-0",title:F,children:F})]})]})}),r&&e.jsx("button",{onClick:()=>h(!0),className:"px-6 py-3 bg-[#005c75] text-white border-none rounded-lg text-base font-semibold cursor-pointer transition-all hover:bg-[#004a5e] hover:shadow-lg",children:"📋 View Full Logs"}),e.jsx("p",{className:"text-xs text-gray-500 mt-8 m-0",children:"Screenshots will appear here as they are captured. This may take a few minutes."})]})}):Q?e.jsxs(e.Fragment,{children:[L&&!s&&e.jsx("div",{className:"bg-red-50 border-l-4 border-red-500 mx-5 mt-4 p-4 rounded-r overflow-auto",role:"alert",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 text-xl shrink-0","aria-hidden":"true",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-sm font-semibold text-red-800 m-0 mb-2",children:"Capture Error"}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-700 m-0 mb-2 font-mono whitespace-pre-wrap wrap-break-word",children:L})}),T&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-600 cursor-pointer hover:text-red-800 font-medium",children:"View stack trace"}),e.jsx("div",{className:"mt-2 p-3 bg-red-100 rounded max-h-[300px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:T})})]}),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})}),n==="interactive"?e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[B&&e.jsx("div",{className:"bg-gray-50 border-b border-gray-200 px-6 py-3 shrink-0 flex justify-center",children:e.jsx(ce,{presets:[...O],customSizes:P,currentWidth:j.width,currentHeight:j.height??900,scale:k,onSizeChange:R,onSaveCustomSize:()=>y(!0),onRemoveCustomSize:A})}),B&&e.jsx("div",{className:"bg-[#f6f9fc] border-b border-[rgba(0,92,117,0.25)] flex justify-center",children:e.jsx("div",{style:{maxWidth:`${O[O.length-1].width}px`,width:"100%"},children:e.jsx(xe,{currentViewportWidth:g,currentPresetName:j.name,onDevicePresetClick:D,devicePresets:E})})}),e.jsx(re,{scenarioId:t.id,scenarioName:t.name,iframeUrl:B,isStarting:H,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y,onScaleChange:I,onDimensionChange:$,projectSlug:r,defaultWidth:j.width,defaultHeight:j.height})]}):n==="data"?e.jsx("div",{className:"flex-1 min-h-0",children:e.jsx(de,{scenario:t,analysis:i,entity:l})}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 p-6 flex items-center justify-center",children:e.jsx("div",{className:"transition-all duration-300",style:{maxWidth:`${g}px`},children:(s||!L)&&e.jsx(ne,{screenshotPath:s,cacheBuster:f,alt:t.name,className:"w-full rounded-lg shadow-[0_10px_25px_rgba(0,0,0,0.1)] bg-white"})})})})]}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 overflow-auto w-full",children:m&&!s?e.jsx("div",{className:"w-full h-full flex items-center justify-center",children:e.jsx("div",{className:"bg-blue-50 border-2 border-blue-200 rounded-lg p-8",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"animate-spin text-4xl shrink-0",children:"⚙️"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Capturing Screenshot"}),e.jsxs("p",{className:"text-sm text-blue-800 m-0 mb-4",children:["Analysis is in progress for"," ",e.jsx("strong",{children:t.name}),". The screenshot will appear here once capture is complete."]}),F&&e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4 mt-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-800 m-0 mb-2 uppercase tracking-wide",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-blue-900 m-0 font-mono wrap-break-word",children:F})]}),r&&e.jsx("button",{onClick:()=>h(!0),className:"mt-4 px-4 py-2 bg-[#005c75] text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-[#004a5e]",children:"📋 View Full Logs"})]})]})})}):L?e.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center overflow-auto gap-6",children:[!c&&e.jsx("div",{className:"bg-blue-50 border-2 border-blue-300 rounded-lg p-8",children:e.jsxs("div",{className:"flex-1 flex flex-col gap-4 items-center justify-center",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"text-blue-600 text-2xl shrink-0",children:"🔑"}),e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Improve Analysis Quality with an API Key"})]}),e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-900 m-0 mb-2 uppercase tracking-wide",children:"CodeYam requires an AI API key for reliable analysis."}),e.jsxs("ul",{className:"text-sm text-blue-800 m-0 space-y-1 pl-5 list-disc",children:[e.jsx("li",{children:"You can use API keys for a variety of models"}),e.jsx("li",{children:"Faster analysis processing"}),e.jsx("li",{children:"Better handling of complex code structures"}),e.jsx("li",{children:"Improved scenario generation quality"})]})]}),e.jsx(se,{to:"/settings",className:"inline-block px-4 py-2 bg-blue-600 text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-blue-700",children:"🔐 Configure API Keys"})]})}),e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Capture Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:"An error occurred while capturing this scenario. No screenshot is available."}),e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:"Error Message"}),e.jsx("div",{className:"max-h-[300px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:L})})]}),T&&e.jsxs("details",{className:"mt-4",children:[e.jsx("summary",{className:"text-sm text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"📋 View full stack trace"}),e.jsx("div",{className:"mt-3 bg-white border border-red-200 rounded p-4 overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:T})})]}),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})})]}):b.length>0?e.jsx("div",{className:"w-full h-full flex items-center justify-center overflow-auto",children:e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Error"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. Screenshot capture was not completed.":`${b.length} errors occurred during analysis. Screenshot capture was not completed.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v)),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})})}):e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("span",{className:"text-6xl text-gray-300",children:"📷"}),e.jsx("p",{className:"text-lg text-gray-500 m-0",children:"No screenshot available for this scenario"}),e.jsx("p",{className:"text-sm text-gray-400 m-0",children:"Try recapturing or debugging this scenario"})]})})})}),x&&r&&e.jsx(ae,{projectSlug:r,onClose:()=>h(!1)}),C&&e.jsx(he,{width:j.width,height:j.height??900,onSave:S,onCancel:()=>y(!1)})]})}export{fe as C,ve as S,W as a};