@codeyam/codeyam-cli 0.1.0-staging.d0ad4ae → 0.1.0-staging.d52b24f

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 (1249) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +27 -27
  4. package/analyzer-template/packages/ai/index.ts +21 -5
  5. package/analyzer-template/packages/ai/package.json +3 -3
  6. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  7. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +226 -24
  8. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  9. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +217 -13
  10. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  11. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +181 -23
  12. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +15 -0
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  16. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1215 -29
  17. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  18. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +265 -6
  19. package/analyzer-template/packages/ai/src/lib/completionCall.ts +247 -66
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2020 -334
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +205 -0
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +129 -20
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +140 -14
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -90
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  36. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -0
  37. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  38. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  39. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +4 -3
  40. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +86 -149
  41. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +59 -3
  42. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1458 -65
  43. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +200 -196
  44. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +677 -0
  45. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  46. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  47. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  48. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +5 -5
  49. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  50. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  51. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  52. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  53. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  54. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  55. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +28 -170
  56. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +110 -6
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -89
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +11 -11
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  63. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  64. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  65. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  66. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +122 -3
  67. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  68. package/analyzer-template/packages/analyze/index.ts +2 -0
  69. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
  70. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +132 -33
  71. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  72. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  73. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  74. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  75. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  76. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  77. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  78. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  79. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  80. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +447 -255
  81. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +39 -4
  82. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +12 -0
  83. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  84. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  85. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +14 -14
  86. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +4 -4
  87. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  88. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  89. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  90. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  91. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1352 -0
  92. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +193 -76
  93. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +203 -41
  94. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -188
  95. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +355 -23
  96. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +166 -0
  97. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +1 -0
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -3
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +845 -72
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  102. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  103. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  104. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  105. package/analyzer-template/packages/aws/package.json +10 -10
  106. package/analyzer-template/packages/database/index.ts +1 -0
  107. package/analyzer-template/packages/database/package.json +4 -4
  108. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  109. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  110. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  111. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  112. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  113. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  114. package/analyzer-template/packages/database/src/lib/kysely/db.ts +22 -1
  115. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  116. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +17 -1
  117. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  118. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  119. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  120. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  121. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  122. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  123. package/analyzer-template/packages/database/src/lib/loadCommits.ts +58 -19
  124. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -9
  125. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  126. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +5 -6
  127. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  128. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  129. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  130. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +96 -152
  131. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  132. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  133. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  134. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  135. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  136. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  137. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  138. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  139. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  140. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  141. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  142. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  143. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  144. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  145. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  146. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  147. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  148. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  149. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  150. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  151. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  152. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -0
  153. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  154. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +16 -1
  155. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  156. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -18
  157. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  158. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  159. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  160. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  161. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  162. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +17 -1
  163. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  164. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  165. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  166. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  167. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  168. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  169. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  170. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  171. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  172. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  173. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +6 -6
  174. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  175. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  176. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  178. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  179. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  181. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  185. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  186. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  187. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  189. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +45 -14
  190. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  191. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  192. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  193. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -10
  194. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  195. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  196. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  197. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  198. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  199. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  200. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  201. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  202. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  203. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  204. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  205. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  206. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  207. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  208. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  209. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -89
  210. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  211. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  212. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  213. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  214. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  215. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  216. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  217. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  218. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  219. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  220. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  221. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  222. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  223. package/analyzer-template/packages/github/dist/types/index.d.ts +3 -4
  224. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  225. package/analyzer-template/packages/github/dist/types/index.js +0 -1
  226. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  227. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  228. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  229. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  230. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  231. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +71 -27
  232. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  233. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  234. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  235. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  236. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  237. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +13 -54
  238. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  239. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +1 -21
  240. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  241. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  242. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  243. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  244. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  245. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  246. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  247. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  248. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  249. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  250. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  251. package/analyzer-template/packages/github/package.json +2 -2
  252. package/analyzer-template/packages/types/index.ts +3 -6
  253. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  254. package/analyzer-template/packages/types/src/types/Analysis.ts +87 -27
  255. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  256. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +8 -0
  257. package/analyzer-template/packages/types/src/types/Scenario.ts +13 -77
  258. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +181 -5
  259. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  260. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  261. package/analyzer-template/packages/ui-components/package.json +1 -1
  262. package/analyzer-template/packages/utils/dist/types/index.d.ts +3 -4
  263. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  264. package/analyzer-template/packages/utils/dist/types/index.js +0 -1
  265. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  266. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  267. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  268. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  269. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  270. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +71 -27
  271. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  272. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  273. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  274. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  275. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  276. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +13 -54
  277. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  278. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +1 -21
  279. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  280. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  281. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  282. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  283. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  284. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  285. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  286. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  287. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
  288. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  289. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  290. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  291. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  292. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  293. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
  294. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  295. package/analyzer-template/playwright/capture.ts +20 -8
  296. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  297. package/analyzer-template/playwright/captureStatic.ts +1 -1
  298. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  299. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  300. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  301. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  302. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  303. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  304. package/analyzer-template/project/constructMockCode.ts +593 -91
  305. package/analyzer-template/project/controller/startController.ts +16 -1
  306. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  307. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  308. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  309. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  310. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  311. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  312. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  313. package/analyzer-template/project/orchestrateCapture.ts +75 -7
  314. package/analyzer-template/project/reconcileMockDataKeys.ts +220 -1
  315. package/analyzer-template/project/runAnalysis.ts +6 -0
  316. package/analyzer-template/project/start.ts +49 -12
  317. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  318. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  319. package/analyzer-template/project/writeMockDataTsx.ts +312 -10
  320. package/analyzer-template/project/writeScenarioComponents.ts +314 -43
  321. package/analyzer-template/project/writeSimpleRoot.ts +21 -11
  322. package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
  323. package/analyzer-template/tsconfig.json +14 -1
  324. package/background/src/lib/local/createLocalAnalyzer.js +1 -1
  325. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  326. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  327. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  328. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  329. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  330. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  331. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  332. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  333. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  334. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  335. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  336. package/background/src/lib/virtualized/project/constructMockCode.js +493 -52
  337. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  338. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  339. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  340. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  341. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  342. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  343. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  344. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  345. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  346. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  347. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  348. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  349. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  350. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  351. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  352. package/background/src/lib/virtualized/project/orchestrateCapture.js +62 -7
  353. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  354. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +184 -1
  355. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  356. package/background/src/lib/virtualized/project/runAnalysis.js +5 -0
  357. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  358. package/background/src/lib/virtualized/project/start.js +44 -12
  359. package/background/src/lib/virtualized/project/start.js.map +1 -1
  360. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  361. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  362. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  363. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  364. package/background/src/lib/virtualized/project/writeMockDataTsx.js +263 -6
  365. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  366. package/background/src/lib/virtualized/project/writeScenarioComponents.js +237 -41
  367. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  368. package/background/src/lib/virtualized/project/writeSimpleRoot.js +21 -11
  369. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  370. package/codeyam-cli/scripts/apply-setup.js +386 -9
  371. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  372. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  373. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  374. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  375. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  376. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  377. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  378. package/codeyam-cli/src/cli.js +35 -24
  379. package/codeyam-cli/src/cli.js.map +1 -1
  380. package/codeyam-cli/src/codeyam-cli.js +18 -2
  381. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  382. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  383. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  384. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  385. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  386. package/codeyam-cli/src/commands/analyze.js +21 -9
  387. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  388. package/codeyam-cli/src/commands/baseline.js +10 -11
  389. package/codeyam-cli/src/commands/baseline.js.map +1 -1
  390. package/codeyam-cli/src/commands/debug.js +37 -23
  391. package/codeyam-cli/src/commands/debug.js.map +1 -1
  392. package/codeyam-cli/src/commands/default.js +43 -35
  393. package/codeyam-cli/src/commands/default.js.map +1 -1
  394. package/codeyam-cli/src/commands/editor.js +4283 -0
  395. package/codeyam-cli/src/commands/editor.js.map +1 -0
  396. package/codeyam-cli/src/commands/init.js +147 -292
  397. package/codeyam-cli/src/commands/init.js.map +1 -1
  398. package/codeyam-cli/src/commands/memory.js +278 -0
  399. package/codeyam-cli/src/commands/memory.js.map +1 -0
  400. package/codeyam-cli/src/commands/recapture.js +31 -18
  401. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  402. package/codeyam-cli/src/commands/report.js +46 -1
  403. package/codeyam-cli/src/commands/report.js.map +1 -1
  404. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  405. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  406. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  407. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  408. package/codeyam-cli/src/commands/start.js +8 -12
  409. package/codeyam-cli/src/commands/start.js.map +1 -1
  410. package/codeyam-cli/src/commands/test-startup.js +2 -0
  411. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  412. package/codeyam-cli/src/commands/verify.js +14 -2
  413. package/codeyam-cli/src/commands/verify.js.map +1 -1
  414. package/codeyam-cli/src/data/techStacks.js +77 -0
  415. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  416. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  417. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  418. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  419. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  420. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  421. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  422. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +137 -0
  423. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  424. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +987 -0
  425. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  426. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  427. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  428. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  429. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  430. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  431. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  432. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  433. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  434. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +124 -0
  435. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  436. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +261 -0
  437. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  438. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  439. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  440. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  441. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  442. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  443. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  444. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  445. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  446. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  447. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  448. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  449. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  450. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +353 -0
  451. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  452. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  453. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  454. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  455. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  456. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +221 -0
  457. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  458. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1483 -0
  459. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  460. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +280 -0
  461. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  462. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  463. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  464. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  465. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  466. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  467. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  468. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1857 -0
  469. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  470. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  471. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  472. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +107 -0
  473. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  474. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  475. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  476. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  477. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  478. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  479. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  480. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  481. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  482. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  483. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  484. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +227 -0
  485. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  486. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  487. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  488. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +493 -0
  489. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  490. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  491. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  492. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +175 -82
  493. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  494. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  495. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  496. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +142 -0
  497. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  498. package/codeyam-cli/src/utils/analysisRunner.js +32 -16
  499. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  500. package/codeyam-cli/src/utils/analyzer.js +16 -0
  501. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  502. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  503. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  504. package/codeyam-cli/src/utils/backgroundServer.js +202 -29
  505. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  506. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  507. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  508. package/codeyam-cli/src/utils/database.js +37 -2
  509. package/codeyam-cli/src/utils/database.js.map +1 -1
  510. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  511. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  512. package/codeyam-cli/src/utils/devServerState.js +71 -0
  513. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  514. package/codeyam-cli/src/utils/editorApi.js +79 -0
  515. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  516. package/codeyam-cli/src/utils/editorAudit.js +210 -0
  517. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  518. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  519. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  520. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  521. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  522. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  523. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  524. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  525. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  526. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +44 -0
  527. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  528. package/codeyam-cli/src/utils/editorEntityHelpers.js +129 -0
  529. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  530. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  531. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  532. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  533. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  534. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  535. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  536. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  537. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  538. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  539. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  540. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  541. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  542. package/codeyam-cli/src/utils/editorPreview.js +137 -0
  543. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  544. package/codeyam-cli/src/utils/editorScenarioSwitch.js +112 -0
  545. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  546. package/codeyam-cli/src/utils/editorScenarios.js +548 -0
  547. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  548. package/codeyam-cli/src/utils/editorSeedAdapter.js +422 -0
  549. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  550. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  551. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  552. package/codeyam-cli/src/utils/entityChangeStatus.js +366 -0
  553. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  554. package/codeyam-cli/src/utils/entityChangeStatus.server.js +196 -0
  555. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  556. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  557. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  558. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  559. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  560. package/codeyam-cli/src/utils/generateReport.js +4 -3
  561. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  562. package/codeyam-cli/src/utils/git.js +103 -0
  563. package/codeyam-cli/src/utils/git.js.map +1 -1
  564. package/codeyam-cli/src/utils/install-skills.js +129 -39
  565. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  566. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  567. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  568. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  569. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  570. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  571. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  572. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  573. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  574. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  575. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  576. package/codeyam-cli/src/utils/progress.js +8 -1
  577. package/codeyam-cli/src/utils/progress.js.map +1 -1
  578. package/codeyam-cli/src/utils/project.js +15 -5
  579. package/codeyam-cli/src/utils/project.js.map +1 -1
  580. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  581. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  582. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  583. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  584. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  585. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  586. package/codeyam-cli/src/utils/queue/job.js +75 -1
  587. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  588. package/codeyam-cli/src/utils/queue/manager.js +7 -0
  589. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  590. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  591. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  592. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  593. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  594. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  595. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  596. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
  597. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  598. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  599. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  600. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  601. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  602. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  603. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  604. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  605. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  606. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  607. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  608. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  609. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  610. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
  611. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  612. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  613. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  614. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  615. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  616. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  617. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  618. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  619. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  620. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  621. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  622. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  623. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  624. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  625. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  626. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  627. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  628. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  629. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  630. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  631. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  632. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  633. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  634. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  635. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  636. package/codeyam-cli/src/utils/rules/index.js +7 -0
  637. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  638. package/codeyam-cli/src/utils/rules/parser.js +93 -0
  639. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  640. package/codeyam-cli/src/utils/rules/pathMatcher.js +49 -0
  641. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  642. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  643. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  644. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  645. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  646. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  647. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  648. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  649. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  650. package/codeyam-cli/src/utils/scenarioCoverage.js +74 -0
  651. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  652. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  653. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  654. package/codeyam-cli/src/utils/scenariosManifest.js +249 -0
  655. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  656. package/codeyam-cli/src/utils/serverState.js +94 -12
  657. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  658. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +96 -45
  659. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  660. package/codeyam-cli/src/utils/simulationGateMiddleware.js +166 -0
  661. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  662. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  663. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  664. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  665. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  666. package/codeyam-cli/src/utils/testRunner.js +158 -0
  667. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  668. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  669. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  670. package/codeyam-cli/src/utils/versionInfo.js +67 -15
  671. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  672. package/codeyam-cli/src/utils/webappDetection.js +35 -2
  673. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  674. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  675. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  676. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +40 -0
  677. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  678. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  679. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  680. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +567 -0
  681. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  682. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +146 -0
  683. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  684. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +65 -0
  685. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  686. package/codeyam-cli/src/webserver/app/lib/database.js +63 -33
  687. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  688. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  689. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  690. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  691. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  692. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  693. package/codeyam-cli/src/webserver/backgroundServer.js +182 -18
  694. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  695. package/codeyam-cli/src/webserver/bootstrap.js +51 -0
  696. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  697. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CzTDWkF2.js +1 -0
  698. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BFbq6iFk.js +11 -0
  699. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  700. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-B6OMi58N.js +41 -0
  701. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-DuYodzo1.js +1 -0
  702. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-CXo9EeCl.js +25 -0
  703. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DYCNb2It.js +3 -0
  704. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B0GLXMsr.js → LoadingDots-By5zI316.js} +1 -1
  705. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-xgeCVgSM.js → LogViewer-CZgY3sxX.js} +3 -3
  706. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-CnYYwRDw.js +11 -0
  707. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CDoF7ZpU.js +1 -0
  708. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DrnfvaLL.js +10 -0
  709. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Df3UCi8k.js +34 -0
  710. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  711. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-DRKR9T0U.js +1 -0
  712. package/codeyam-cli/src/webserver/build/client/assets/_index-ClR-g3tY.js +11 -0
  713. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DTH6ydEA.js +27 -0
  714. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  715. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  716. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-74hnHF59.js +1 -0
  717. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  718. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-B8CYhCO9.js +22 -0
  719. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  720. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  721. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  722. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  723. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  724. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  725. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  726. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  727. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  728. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  729. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  730. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  731. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  732. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  733. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  734. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  735. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  736. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  737. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  738. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  739. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  740. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  741. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  742. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  743. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  744. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  745. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  746. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  747. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  748. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  749. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  750. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  751. package/codeyam-cli/src/webserver/build/client/assets/book-open-CLaoh4ac.js +6 -0
  752. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-Cx24_aWc.js → chevron-down-BZ2DZxbW.js} +2 -2
  753. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BBXArFPl.js +43 -0
  754. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-BOARzkeR.js → circle-check-CT4unAk-.js} +2 -2
  755. package/codeyam-cli/src/webserver/build/client/assets/copy-zK0B6Nu-.js +11 -0
  756. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DJB0YQJL.js +41 -0
  757. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  758. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  759. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CkXFP_i-.js +1 -0
  760. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-DPw7NZHc.js +1 -0
  761. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-B2KVBVj4.js +58 -0
  762. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-DBa7T2FK.js +41 -0
  763. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-D0-YwkBh.js → entity._sha._-BqAN7hyG.js} +13 -13
  764. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-BOi8kpwd.js +6 -0
  765. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-Dg1NhIms.js +6 -0
  766. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CJX6kkkV.js +6 -0
  767. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-C1H_a_Y3.js → entity._sha_.edit._scenarioId-BhVjZhKg.js} +2 -2
  768. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-CS2cb_eZ.js → entry.client-_gzKltPN.js} +6 -6
  769. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  770. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  771. package/codeyam-cli/src/webserver/build/client/assets/files-CV_17tZS.js +1 -0
  772. package/codeyam-cli/src/webserver/build/client/assets/git-D-YXmMbR.js +1 -0
  773. package/codeyam-cli/src/webserver/build/client/assets/globals-CGrDAxj0.css +1 -0
  774. package/codeyam-cli/src/webserver/build/client/assets/index-Blo6EK8G.js +15 -0
  775. package/codeyam-cli/src/webserver/build/client/assets/{index-B1h680n5.js → index-BsX0F-9C.js} +1 -1
  776. package/codeyam-cli/src/webserver/build/client/assets/{index-lzqtyFU8.js → index-CCrgCshv.js} +1 -1
  777. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  778. package/codeyam-cli/src/webserver/build/client/assets/labs-Byazq8Pv.js +1 -0
  779. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-B7B9V-bu.js → loader-circle-DVQ0oHR7.js} +2 -2
  780. package/codeyam-cli/src/webserver/build/client/assets/manifest-a6273a24.js +1 -0
  781. package/codeyam-cli/src/webserver/build/client/assets/memory-b-VmA2Vj.js +101 -0
  782. package/codeyam-cli/src/webserver/build/client/assets/pause-DGcndCAa.js +11 -0
  783. package/codeyam-cli/src/webserver/build/client/assets/root-D5Zi3U2Z.js +67 -0
  784. package/codeyam-cli/src/webserver/build/client/assets/{search-CxXUmBSd.js → search-C0Uw0bcK.js} +2 -2
  785. package/codeyam-cli/src/webserver/build/client/assets/settings-OoNgHIfW.js +1 -0
  786. package/codeyam-cli/src/webserver/build/client/assets/simulations-Bcemfu8a.js +1 -0
  787. package/codeyam-cli/src/webserver/build/client/assets/terminal-BgMmG7R9.js +11 -0
  788. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-B6LgvRJg.js → triangle-alert-Cs87hJYK.js} +2 -2
  789. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BR3Rs7JY.js +1 -0
  790. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BxxP_XF9.js +2 -0
  791. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BermyNU5.js +1 -0
  792. package/codeyam-cli/src/webserver/build/client/assets/useToast-a_QN_W9_.js +1 -0
  793. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  794. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  795. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-H_bGKza6.js +13 -0
  796. package/codeyam-cli/src/webserver/build/server/assets/index-BjsaHnnW.js +1 -0
  797. package/codeyam-cli/src/webserver/build/server/assets/init-CmahXA_a.js +10 -0
  798. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  799. package/codeyam-cli/src/webserver/build/server/assets/server-build-BYvtz6_N.js +501 -0
  800. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  801. package/codeyam-cli/src/webserver/build-info.json +5 -5
  802. package/codeyam-cli/src/webserver/devServer.js +39 -5
  803. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  804. package/codeyam-cli/src/webserver/editorProxy.js +901 -0
  805. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  806. package/codeyam-cli/src/webserver/idleDetector.js +73 -0
  807. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  808. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  809. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  810. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  811. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  812. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +230 -0
  813. package/codeyam-cli/src/webserver/server.js +344 -26
  814. package/codeyam-cli/src/webserver/server.js.map +1 -1
  815. package/codeyam-cli/src/webserver/terminalServer.js +831 -0
  816. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  817. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  818. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  819. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  820. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  821. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  822. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  823. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  824. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  825. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  826. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  827. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  828. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  829. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  830. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  831. package/codeyam-cli/templates/codeyam-editor-claude.md +147 -0
  832. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  833. package/codeyam-cli/templates/commands/codeyam-diagnose.md +481 -0
  834. package/codeyam-cli/templates/editor-step-hook.py +321 -0
  835. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +89 -0
  836. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  837. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +33 -0
  838. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +12 -0
  839. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +12 -0
  840. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +12 -0
  841. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  842. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  843. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  844. package/codeyam-cli/templates/expo-react-native/global.css +3 -0
  845. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  846. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  847. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  848. package/codeyam-cli/templates/expo-react-native/package.json +38 -0
  849. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  850. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  851. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  852. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  853. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  854. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  855. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  856. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  857. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  858. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  859. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  860. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  861. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  862. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  863. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  864. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  865. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  866. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  867. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  868. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  869. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  870. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  871. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  872. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  873. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  874. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  875. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  876. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  877. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  878. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +127 -0
  879. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  880. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  881. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  882. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  883. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  884. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  885. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  886. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  887. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  888. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  889. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  890. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  891. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  892. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  893. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  894. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  895. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  896. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  897. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  898. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  899. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  900. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  901. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  902. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  903. package/codeyam-cli/templates/rule-notification-hook.py +83 -0
  904. package/codeyam-cli/templates/rule-reflection-hook.py +647 -0
  905. package/codeyam-cli/templates/rules-instructions.md +78 -0
  906. package/codeyam-cli/templates/seed-adapters/supabase.ts +282 -0
  907. package/codeyam-cli/templates/{codeyam-debug-skill.md → skills/codeyam-debug/SKILL.md} +48 -4
  908. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  909. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +211 -0
  910. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +611 -0
  911. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  912. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  913. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  914. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  915. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  916. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  917. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  918. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  919. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  920. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  921. package/codeyam-cli/templates/skills/codeyam-new-rule/SKILL.md +11 -0
  922. package/codeyam-cli/templates/{codeyam-setup-skill.md → skills/codeyam-setup/SKILL.md} +13 -1
  923. package/codeyam-cli/templates/{codeyam-sim-skill.md → skills/codeyam-sim/SKILL.md} +1 -1
  924. package/codeyam-cli/templates/{codeyam-test-skill.md → skills/codeyam-test/SKILL.md} +1 -1
  925. package/codeyam-cli/templates/{codeyam-verify-skill.md → skills/codeyam-verify/SKILL.md} +1 -1
  926. package/package.json +32 -22
  927. package/packages/ai/index.js +8 -6
  928. package/packages/ai/index.js.map +1 -1
  929. package/packages/ai/src/lib/analyzeScope.js +179 -13
  930. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  931. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  932. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  933. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +160 -13
  934. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  935. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  936. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  937. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  938. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  939. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  940. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  941. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  942. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  943. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +7 -0
  944. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  945. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  946. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  947. package/packages/ai/src/lib/astScopes/processExpression.js +931 -29
  948. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  949. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  950. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  951. package/packages/ai/src/lib/completionCall.js +188 -38
  952. package/packages/ai/src/lib/completionCall.js.map +1 -1
  953. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1600 -189
  954. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  955. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  956. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  957. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +179 -0
  958. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  959. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  960. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  961. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  962. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  963. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  964. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  965. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
  966. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  967. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +111 -14
  968. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  969. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  970. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  971. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  972. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  973. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +122 -12
  974. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  975. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  976. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  977. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  978. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  979. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -81
  980. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  981. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  982. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  983. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  984. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  985. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  986. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  987. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  988. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  989. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  990. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  991. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +4 -3
  992. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  993. package/packages/ai/src/lib/generateChangesEntityScenarios.js +78 -120
  994. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  995. package/packages/ai/src/lib/generateEntityDataStructure.js +47 -2
  996. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  997. package/packages/ai/src/lib/generateEntityScenarioData.js +1153 -60
  998. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  999. package/packages/ai/src/lib/generateEntityScenarios.js +177 -163
  1000. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  1001. package/packages/ai/src/lib/generateExecutionFlows.js +484 -0
  1002. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  1003. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  1004. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  1005. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  1006. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  1007. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  1008. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  1009. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -2
  1010. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  1011. package/packages/ai/src/lib/isolateScopes.js +270 -7
  1012. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  1013. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  1014. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  1015. package/packages/ai/src/lib/mergeStatements.js +88 -46
  1016. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  1017. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  1018. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  1019. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  1020. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  1021. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  1022. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  1023. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -119
  1024. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  1025. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  1026. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  1027. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  1028. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  1029. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -70
  1030. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  1031. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  1032. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  1033. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +9 -9
  1034. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  1035. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  1036. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  1037. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  1038. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  1039. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  1040. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  1041. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  1042. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  1043. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  1044. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  1045. package/packages/analyze/index.js +1 -0
  1046. package/packages/analyze/index.js.map +1 -1
  1047. package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
  1048. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  1049. package/packages/analyze/src/lib/ProjectAnalyzer.js +109 -30
  1050. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  1051. package/packages/analyze/src/lib/analysisContext.js +30 -5
  1052. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  1053. package/packages/analyze/src/lib/asts/index.js +4 -2
  1054. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  1055. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  1056. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  1057. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  1058. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  1059. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  1060. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  1061. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  1062. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  1063. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  1064. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  1065. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  1066. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  1067. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  1068. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  1069. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +189 -41
  1070. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  1071. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +28 -4
  1072. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  1073. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +9 -0
  1074. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  1075. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  1076. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  1077. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  1078. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  1079. package/packages/analyze/src/lib/files/analyzeChange.js +10 -10
  1080. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  1081. package/packages/analyze/src/lib/files/analyzeEntity.js +4 -4
  1082. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  1083. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  1084. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  1085. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  1086. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  1087. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  1088. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  1089. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  1090. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  1091. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +907 -0
  1092. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  1093. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +164 -68
  1094. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  1095. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +178 -31
  1096. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1097. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -129
  1098. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1099. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +252 -21
  1100. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1101. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +104 -0
  1102. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1103. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +1 -0
  1104. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1105. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -3
  1106. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1107. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +686 -55
  1108. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1109. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  1110. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1111. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  1112. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1113. package/packages/analyze/src/lib/index.js +1 -0
  1114. package/packages/analyze/src/lib/index.js.map +1 -1
  1115. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1116. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1117. package/packages/database/index.js +1 -0
  1118. package/packages/database/index.js.map +1 -1
  1119. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  1120. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  1121. package/packages/database/src/lib/analysisToDb.js +1 -1
  1122. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  1123. package/packages/database/src/lib/branchToDb.js +1 -1
  1124. package/packages/database/src/lib/branchToDb.js.map +1 -1
  1125. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  1126. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  1127. package/packages/database/src/lib/commitToDb.js +1 -1
  1128. package/packages/database/src/lib/commitToDb.js.map +1 -1
  1129. package/packages/database/src/lib/fileToDb.js +1 -1
  1130. package/packages/database/src/lib/fileToDb.js.map +1 -1
  1131. package/packages/database/src/lib/kysely/db.js +16 -1
  1132. package/packages/database/src/lib/kysely/db.js.map +1 -1
  1133. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  1134. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  1135. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  1136. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  1137. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  1138. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1139. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1140. package/packages/database/src/lib/loadAnalyses.js +45 -2
  1141. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  1142. package/packages/database/src/lib/loadAnalysis.js +8 -0
  1143. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  1144. package/packages/database/src/lib/loadBranch.js +11 -1
  1145. package/packages/database/src/lib/loadBranch.js.map +1 -1
  1146. package/packages/database/src/lib/loadCommit.js +7 -0
  1147. package/packages/database/src/lib/loadCommit.js.map +1 -1
  1148. package/packages/database/src/lib/loadCommits.js +45 -14
  1149. package/packages/database/src/lib/loadCommits.js.map +1 -1
  1150. package/packages/database/src/lib/loadEntities.js +23 -10
  1151. package/packages/database/src/lib/loadEntities.js.map +1 -1
  1152. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  1153. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  1154. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  1155. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  1156. package/packages/database/src/lib/projectToDb.js +1 -1
  1157. package/packages/database/src/lib/projectToDb.js.map +1 -1
  1158. package/packages/database/src/lib/saveFiles.js +1 -1
  1159. package/packages/database/src/lib/saveFiles.js.map +1 -1
  1160. package/packages/database/src/lib/scenarioToDb.js +1 -1
  1161. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  1162. package/packages/database/src/lib/updateCommitMetadata.js +76 -89
  1163. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  1164. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  1165. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  1166. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  1167. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  1168. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  1169. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  1170. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  1171. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1172. package/packages/types/index.js +0 -1
  1173. package/packages/types/index.js.map +1 -1
  1174. package/packages/types/src/enums/ProjectFramework.js +2 -0
  1175. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  1176. package/packages/types/src/types/Scenario.js +1 -21
  1177. package/packages/types/src/types/Scenario.js.map +1 -1
  1178. package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
  1179. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  1180. package/packages/utils/src/lib/safeFileName.js +29 -3
  1181. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1182. package/scripts/npm-post-install.cjs +34 -0
  1183. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -109
  1184. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -584
  1185. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -341
  1186. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -495
  1187. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1188. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -120
  1189. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
  1190. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  1191. package/codeyam-cli/src/commands/list.js +0 -31
  1192. package/codeyam-cli/src/commands/list.js.map +0 -1
  1193. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  1194. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  1195. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  1196. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  1197. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-Cmysw5OP.js +0 -1
  1198. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-DLqD3qNt.js +0 -1
  1199. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CAneekK2.js +0 -41
  1200. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Cu16OUmx.js +0 -25
  1201. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVtiBnY5.js +0 -3
  1202. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DcAUIpD_.js +0 -11
  1203. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DuDvi0jm.js +0 -1
  1204. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BMKg0SAF.js +0 -15
  1205. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-DyFZkK0l.js +0 -1
  1206. package/codeyam-cli/src/webserver/build/client/assets/_index-DSmTpjmK.js +0 -11
  1207. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BF_aK4y6.js +0 -32
  1208. package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-CXRTFQ3F.js +0 -51
  1209. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BdhJEx6B.js +0 -21
  1210. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +0 -1
  1211. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-RJCf3Tvw.js +0 -1
  1212. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-EylcgScH.js +0 -1
  1213. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DMe7kvgo.js +0 -1
  1214. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DMJ7zii9.js +0 -1
  1215. package/codeyam-cli/src/webserver/build/client/assets/files-BW7Cyeyi.js +0 -1
  1216. package/codeyam-cli/src/webserver/build/client/assets/git-CZu4fif0.js +0 -15
  1217. package/codeyam-cli/src/webserver/build/client/assets/globals-wHVy_II5.css +0 -1
  1218. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +0 -1
  1219. package/codeyam-cli/src/webserver/build/client/assets/manifest-2d191949.js +0 -1
  1220. package/codeyam-cli/src/webserver/build/client/assets/root-FHgpM6gc.js +0 -56
  1221. package/codeyam-cli/src/webserver/build/client/assets/settings-6D8k8Jp5.js +0 -1
  1222. package/codeyam-cli/src/webserver/build/client/assets/simulations-CDJZnWhN.js +0 -1
  1223. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-Dv18q8LD.js +0 -1
  1224. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-0ToGk4K3.js +0 -1
  1225. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-aSv48UbS.js +0 -2
  1226. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-1BX144Eg.js +0 -1
  1227. package/codeyam-cli/src/webserver/build/client/assets/useToast-mBRpZPiu.js +0 -1
  1228. package/codeyam-cli/src/webserver/build/server/assets/index-pU0o5t1o.js +0 -1
  1229. package/codeyam-cli/src/webserver/build/server/assets/server-build-YzfkRwdn.js +0 -178
  1230. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  1231. package/codeyam-cli/templates/debug-codeyam.md +0 -625
  1232. package/packages/ai/src/lib/findMatchingAttribute.js +0 -81
  1233. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1234. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -425
  1235. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1236. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -267
  1237. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1238. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -408
  1239. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1240. package/packages/ai/src/lib/isFrontend.js +0 -5
  1241. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1242. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1243. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1244. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -77
  1245. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1246. package/scripts/finalize-analyzer.cjs +0 -81
  1247. /package/codeyam-cli/src/webserver/build/client/assets/{api.link-scenario-value-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
  1248. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-key-attributes-l0sNRNKZ.js → api.dev-mode-events-l0sNRNKZ.js} +0 -0
  1249. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-valid-values-l0sNRNKZ.js → api.editor-audit-l0sNRNKZ.js} +0 -0
@@ -6,11 +6,35 @@ import { setProjectRoot } from "../state.js";
6
6
  import { AnalysisQueue } from "../utils/queue/manager.js";
7
7
  import { checkForStaleProcesses } from "../utils/queue/heartbeat.js";
8
8
  import { dbNotifier } from "./app/lib/dbNotifier.js";
9
+ import { loadEntities, loadAnalyses, updateProjectMetadata, } from "../../../packages/database/index.js";
9
10
  import fs from 'fs';
10
11
  import path from 'path';
12
+ import { pruneOldTranscripts } from "../utils/transcriptPruning.js";
11
13
  // NOTE: NODE_ENV must be set BEFORE this file is imported (see bootstrap.ts)
12
14
  // ES module imports are resolved before any code runs, so React/React-DOM
13
15
  // will have already chosen their dev/prod builds by the time we get here.
16
+ // Catch-all error handlers — log before the process dies
17
+ // Must be registered before any async code runs
18
+ process.on('uncaughtException', (error) => {
19
+ const mem = process.memoryUsage();
20
+ console.error(`[FATAL] Uncaught exception at ${new Date().toISOString()} ` +
21
+ `(PID ${process.pid}, heap ${Math.round(mem.heapUsed / 1024 / 1024)}MB):`, error);
22
+ });
23
+ process.on('unhandledRejection', (reason) => {
24
+ const mem = process.memoryUsage();
25
+ console.error(`[FATAL] Unhandled rejection at ${new Date().toISOString()} ` +
26
+ `(PID ${process.pid}, heap ${Math.round(mem.heapUsed / 1024 / 1024)}MB):`, reason);
27
+ });
28
+ process.on('exit', (code) => {
29
+ console.error(`[EXIT] CodeYam server exiting at ${new Date().toISOString()} ` +
30
+ `with code ${code} (PID ${process.pid})`);
31
+ });
32
+ process.on('SIGTERM', () => {
33
+ console.error(`[SIGNAL] Received SIGTERM at ${new Date().toISOString()} (PID ${process.pid})`);
34
+ });
35
+ process.on('SIGINT', () => {
36
+ console.error(`[SIGNAL] Received SIGINT at ${new Date().toISOString()} (PID ${process.pid})`);
37
+ });
14
38
  // Set process title for Activity Monitor visibility
15
39
  if (process.env.CODEYAM_PROCESS_NAME) {
16
40
  process.title = process.env.CODEYAM_PROCESS_NAME;
@@ -32,10 +56,17 @@ try {
32
56
  catch (error) {
33
57
  console.error('Failed to parse project/branch data:', error);
34
58
  }
35
- console.log(`Starting CodeYam background server on port ${port}...`);
59
+ const isEditorMode = project?.metadata?.editorMode === true;
60
+ const startupTime = Date.now();
61
+ function logStartup(message) {
62
+ const elapsed = ((Date.now() - startupTime) / 1000).toFixed(1);
63
+ console.log(`[${elapsed}s] ${message}`);
64
+ }
65
+ logStartup(`Starting CodeYam background server on port ${port}${isEditorMode ? ' (editor mode)' : ''}...`);
36
66
  let fileWatcher = null;
37
67
  let analysisQueue = null;
38
68
  let heartbeatInterval = null;
69
+ let rulesWatcher = null;
39
70
  // Memory monitoring - log every minute to track memory usage patterns
40
71
  setInterval(() => {
41
72
  const mem = process.memoryUsage();
@@ -54,12 +85,40 @@ heartbeatInterval = setInterval(() => {
54
85
  }, 60000); // Every 60 seconds
55
86
  async function main() {
56
87
  // Initialize analysis queue with dbNotifier for real-time UI updates
88
+ logStartup('Initializing analysis queue...');
57
89
  analysisQueue = new AnalysisQueue(rootPath, dbNotifier);
58
90
  await analysisQueue.start();
59
- console.log('📋 Analysis queue initialized');
60
- // Start file watcher BEFORE the server if we have project and branch info
61
- // This ensures the database is in sync with the filesystem before accepting requests
62
- if (project?.id && branch?.id) {
91
+ logStartup('📋 Analysis queue initialized');
92
+ // Existing user migration: if the project has entities with analyses but
93
+ // labs.simulations is undefined, auto-enable simulations to avoid breaking
94
+ // existing users when we change the default from true to false
95
+ if (!isEditorMode &&
96
+ project?.slug &&
97
+ project.metadata?.labs?.simulations === undefined) {
98
+ logStartup('🔍 Checking migrations...');
99
+ try {
100
+ const entities = await loadEntities({ excludeMetadata: true });
101
+ if (entities && entities.length > 0) {
102
+ const entityShas = entities.map((e) => e.sha);
103
+ const analyses = await loadAnalyses({ entityShas });
104
+ const hasAnalyses = analyses && analyses.length > 0;
105
+ if (hasAnalyses) {
106
+ await updateProjectMetadata({
107
+ projectSlug: project.slug,
108
+ metadataUpdate: { labs: { simulations: true } },
109
+ });
110
+ logStartup('🔄 Migrated existing project: simulations auto-enabled');
111
+ }
112
+ }
113
+ }
114
+ catch (error) {
115
+ console.warn('⚠️ Failed to run labs migration check:', error);
116
+ }
117
+ }
118
+ // In editor mode (empty folder), skip the file watcher — there are no entities to track.
119
+ // For regular projects, start the file watcher BEFORE the server so the DB is in sync
120
+ // with the filesystem before accepting requests.
121
+ if (!isEditorMode && project?.id && branch?.id) {
63
122
  try {
64
123
  // Load project config to get pathsToIgnore
65
124
  let customIgnorePatterns = [];
@@ -76,42 +135,142 @@ async function main() {
76
135
  catch (error) {
77
136
  console.warn('⚠️ Failed to load pathsToIgnore from config:', error);
78
137
  }
79
- // createFileWatcher now awaits start() which includes initial sync
80
- // This replaces the old syncUncommittedEntities call with a more complete sync
81
- // that also compares code SHAs and creates new entity versions if needed
82
- console.log('🔄 Starting file watcher with initial sync...');
83
- fileWatcher = await createFileWatcher({
138
+ const hasGitRepo = fs.existsSync(path.join(rootPath, '.git'));
139
+ logStartup(`🔄 Starting file watcher${hasGitRepo ? ' with git' : ' (no git repo)'}...`);
140
+ // Race the file watcher against a 30s timeout to prevent hanging the startup
141
+ const watcherPromise = createFileWatcher({
84
142
  projectId: project.id,
85
143
  branchId: branch.id,
86
144
  projectRootPath: rootPath,
87
- watchGit: true,
145
+ watchGit: hasGitRepo,
88
146
  customIgnorePatterns,
89
147
  });
90
- console.log(`👀 Watching for file changes and git commits in ${rootPath}`);
148
+ const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve(null), 30000));
149
+ const result = await Promise.race([watcherPromise, timeoutPromise]);
150
+ if (result) {
151
+ fileWatcher = result;
152
+ logStartup(`👀 File watcher ready — watching ${rootPath}`);
153
+ }
154
+ else {
155
+ console.warn('⚠️ File watcher did not start within 30s, continuing without it');
156
+ // Still wait for it in the background so it can finish later
157
+ watcherPromise
158
+ .then((w) => {
159
+ fileWatcher = w;
160
+ console.log('👀 File watcher started (late)');
161
+ })
162
+ .catch((err) => {
163
+ console.error('File watcher failed:', err);
164
+ });
165
+ }
91
166
  }
92
167
  catch (error) {
93
168
  console.error('Failed to start file watcher:', error);
94
169
  }
95
170
  }
96
- // Start server AFTER file watcher is fully initialized
97
- // This ensures /api/health only returns 200 when the system is truly ready
98
- const { url } = await startRemixServer({
171
+ else if (isEditorMode) {
172
+ logStartup('📝 Editor mode skipping file watcher');
173
+ }
174
+ // Start the Remix HTTP server
175
+ logStartup('🌐 Starting Remix server...');
176
+ const { url, server } = await startRemixServer({
99
177
  port,
100
178
  analysisQueue,
101
179
  dbNotifier, // Pass the SAME dbNotifier instance to Remix routes
102
180
  });
103
- console.log(`✅ CodeYam server running at ${url}`);
181
+ // Attach WebSocket terminal server for dev mode embedded Claude Code
182
+ logStartup('Attaching terminal server...');
183
+ const { attachTerminalServer } = await import('./terminalServer.js');
184
+ attachTerminalServer(server);
185
+ logStartup(`✅ CodeYam server running at ${url}`);
186
+ // Self-check: verify the port is actually accessible
187
+ // Use 127.0.0.1 instead of localhost to avoid IPv6 resolution issues
188
+ try {
189
+ const healthRes = await fetch(`http://127.0.0.1:${port}/api/health`);
190
+ if (healthRes.ok) {
191
+ logStartup('✅ Health check self-test passed');
192
+ }
193
+ else {
194
+ console.error(`[STARTUP] Health check self-test returned ${healthRes.status}`);
195
+ }
196
+ }
197
+ catch (err) {
198
+ console.error('[STARTUP] Health check self-test FAILED — port may not be accessible:', err);
199
+ }
200
+ // Clean up agent transcript logs older than 14 days
201
+ pruneOldTranscripts()
202
+ .then((count) => {
203
+ if (count > 0)
204
+ console.log(`🧹 Pruned ${count} old transcript logs`);
205
+ })
206
+ .catch((error) => {
207
+ console.warn('⚠️ Failed to prune old transcripts:', error);
208
+ });
209
+ // Watch .claude/rules/ for changes so the memory page auto-refreshes
210
+ try {
211
+ const rulesDir = path.join(rootPath, '.claude', 'rules');
212
+ fs.mkdirSync(rulesDir, { recursive: true });
213
+ const { default: chokidar } = await import('chokidar');
214
+ rulesWatcher = chokidar.watch(rulesDir, {
215
+ persistent: true,
216
+ ignoreInitial: true,
217
+ depth: 5,
218
+ });
219
+ rulesWatcher
220
+ .on('add', () => dbNotifier.notifyChange('rules'))
221
+ .on('change', () => dbNotifier.notifyChange('rules'))
222
+ .on('unlink', () => dbNotifier.notifyChange('rules'));
223
+ console.log(`👀 Watching .claude/rules/ for memory page updates`);
224
+ }
225
+ catch (error) {
226
+ console.warn('⚠️ Failed to start rules watcher:', error);
227
+ }
104
228
  }
105
229
  main().catch((error) => {
106
230
  console.error('❌ Failed to start CodeYam server:', error);
107
231
  process.exit(1);
108
232
  });
233
+ // Lazy-loaded cleanup for terminal sessions
234
+ let terminalCleanup = null;
235
+ import('./terminalServer.js')
236
+ .then((mod) => {
237
+ terminalCleanup = mod.cleanupAllTerminalSessions;
238
+ })
239
+ .catch(() => { });
240
+ // Kill the editor dev server process group if it's still running
241
+ function killEditorDevServer() {
242
+ try {
243
+ const devServer = globalThis.__codeyam_editor_dev_server__;
244
+ if (devServer?.process?.pid) {
245
+ console.log(`[shutdown] Killing editor dev server (PID ${devServer.process.pid})...`);
246
+ try {
247
+ process.kill(-devServer.process.pid, 'SIGTERM');
248
+ }
249
+ catch {
250
+ try {
251
+ devServer.process.kill('SIGTERM');
252
+ }
253
+ catch {
254
+ // Already dead
255
+ }
256
+ }
257
+ }
258
+ }
259
+ catch {
260
+ // No dev server running
261
+ }
262
+ }
109
263
  // Handle graceful shutdown
110
264
  process.on('SIGTERM', () => {
111
- console.log('📴 CodeYam server shutting down...');
265
+ console.log(`📴 CodeYam server shutting down (SIGTERM, PID ${process.pid})...`);
266
+ killEditorDevServer();
267
+ terminalCleanup?.();
112
268
  if (fileWatcher) {
113
269
  fileWatcher.stop();
114
270
  }
271
+ if (rulesWatcher) {
272
+ void rulesWatcher.close();
273
+ }
115
274
  if (analysisQueue) {
116
275
  analysisQueue.pause();
117
276
  }
@@ -121,10 +280,15 @@ process.on('SIGTERM', () => {
121
280
  process.exit(0);
122
281
  });
123
282
  process.on('SIGINT', () => {
124
- console.log('📴 CodeYam server shutting down...');
283
+ console.log(`📴 CodeYam server shutting down (SIGINT, PID ${process.pid})...`);
284
+ killEditorDevServer();
285
+ terminalCleanup?.();
125
286
  if (fileWatcher) {
126
287
  fileWatcher.stop();
127
288
  }
289
+ if (rulesWatcher) {
290
+ void rulesWatcher.close();
291
+ }
128
292
  if (analysisQueue) {
129
293
  analysisQueue.pause();
130
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/webserver/backgroundServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/webserver/backgroundServer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,58 @@
3
3
  if (!process.env.NODE_ENV) {
4
4
  process.env.NODE_ENV = 'production';
5
5
  }
6
+ import * as fs from 'fs';
7
+ import * as path from 'path';
8
+ import * as net from 'net';
9
+ // On Windows, the server is launched via PowerShell Start-Process which can't
10
+ // redirect stdout/stderr. Redirect to log files here when CODEYAM_LOG_DIR is set.
11
+ if (process.env.CODEYAM_LOG_DIR) {
12
+ const logDir = process.env.CODEYAM_LOG_DIR;
13
+ const outStream = fs.createWriteStream(path.join(logDir, 'background-server.log'), { flags: 'a' });
14
+ const errStream = fs.createWriteStream(path.join(logDir, 'background-server-error.log'), { flags: 'a' });
15
+ process.stdout.write = (chunk, ...args) => outStream.write(chunk, ...args);
16
+ process.stderr.write = (chunk, ...args) => errStream.write(chunk, ...args);
17
+ }
18
+ /**
19
+ * Check if a port is available by attempting to create a server on it
20
+ */
21
+ function isPortAvailable(port) {
22
+ return new Promise((resolve) => {
23
+ const server = net.createServer();
24
+ server.once('error', () => resolve(false));
25
+ server.once('listening', () => {
26
+ server.close(() => resolve(true));
27
+ });
28
+ server.listen(port, '127.0.0.1');
29
+ });
30
+ }
31
+ /**
32
+ * Wait for a port to become available
33
+ */
34
+ async function waitForPort(port, maxWaitMs = 30000) {
35
+ const startTime = Date.now();
36
+ const pollIntervalMs = 100;
37
+ while (Date.now() - startTime < maxWaitMs) {
38
+ if (await isPortAvailable(port)) {
39
+ return true;
40
+ }
41
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
42
+ }
43
+ return false;
44
+ }
6
45
  void (async () => {
46
+ const port = parseInt(process.env.CODEYAM_PORT || '3111');
47
+ // If CODEYAM_WAIT_FOR_PORT is set, wait for the port to be free before starting
48
+ // This is used during server restart to wait for the old server to exit
49
+ if (process.env.CODEYAM_WAIT_FOR_PORT === 'true') {
50
+ console.log(`[Bootstrap] Waiting for port ${port} to become available...`);
51
+ const portAvailable = await waitForPort(port);
52
+ if (!portAvailable) {
53
+ console.error(`[Bootstrap] Port ${port} did not become available within timeout`);
54
+ process.exit(1);
55
+ }
56
+ console.log(`[Bootstrap] Port ${port} is now available, starting server...`);
57
+ }
7
58
  await import('./backgroundServer.js');
8
59
  })();
9
60
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/webserver/bootstrap.ts"],"names":[],"mappings":";AAEA,4DAA4D;AAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;AACtC,CAAC;AAED,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACxC,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/webserver/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import{j as o}from"./jsx-runtime-D_zvdyIk.js";import{r as i}from"./chunk-JZWAC4HX-BBXArFPl.js";import{C as u,a as x}from"./copy-zK0B6Nu-.js";function h({content:t,label:p="Copy",copiedLabel:l="✓ Copied!",className:c="",duration:a=2e3,ariaLabel:C,icon:n=!1,iconSize:s=14}){const[e,r]=i.useState(!1),d=i.useCallback(()=>{navigator.clipboard.writeText(t).then(()=>{r(!0),setTimeout(()=>r(!1),a)}).catch(m=>{console.error("Failed to copy:",m)})},[t,a]);return o.jsx("button",{onClick:d,className:`cursor-pointer ${c}`,disabled:e,"aria-label":C||(e?"Copied to clipboard":"Copy to clipboard"),"aria-live":"polite",children:n?e?o.jsx(u,{size:s,className:"text-green-500"}):o.jsx(x,{size:s}):e?l:p})}export{h as C};
@@ -0,0 +1,11 @@
1
+ import{c as k}from"./createLucideIcon-DJB0YQJL.js";import{d as E,r as u,L as N}from"./chunk-JZWAC4HX-BBXArFPl.js";import{u as T}from"./useToast-a_QN_W9_.js";import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{f as D,g as F}from"./fileTableUtils-Daa96Fr1.js";import{T as P}from"./TruncatedFilePath-CK7-NaPZ.js";import{S as C}from"./SafeScreenshot-CDoF7ZpU.js";import{L as B}from"./LibraryFunctionPreview-DYCNb2It.js";import{T as I}from"./triangle-alert-Cs87hJYK.js";import{E as v}from"./EntityTypeIcon-B6OMi58N.js";import{E as L}from"./EntityTypeBadge-CQgyEGV-.js";/**
2
+ * @license lucide-react v0.577.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const M=[["path",{d:"m7 20 5-5 5 5",key:"13a0gw"}],["path",{d:"m7 4 5 5 5-5",key:"1kwcof"}]],Q=k("chevrons-down-up",M);/**
7
+ * @license lucide-react v0.577.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const $=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],V=k("chevrons-up-down",$);function w(s){return`${s.filePath||""}::${s.name}`}function Z(s,o){const n=E(),{showToast:d}=T(),[i,l]=u.useState(new Map);u.useEffect(()=>{if(n.state==="idle"&&n.data){const t=n.data;t!=null&&t.error&&d(`Error: ${t.error}`,"error",6e3)}},[n.state,n.data,d]),u.useEffect(()=>{var r;if(i.size===0)return;const t=new Set;(r=o==null?void 0:o.jobs)==null||r.forEach(c=>{var x;(x=c.entityShas)==null||x.forEach(m=>{i.forEach((b,j)=>{b===m&&t.add(j)})})}),s==null||s.forEach(c=>{i.forEach((x,m)=>{x===c&&t.add(m)})}),t.size>0&&l(c=>{const x=new Map(c);return t.forEach(m=>x.delete(m)),x})},[o,s,i]);const h=u.useCallback(t=>{console.log("Generate analysis clicked for entity:",t.sha,t.name);const r=w(t);l(x=>new Map(x).set(r,t.sha));const c=new FormData;c.append("entitySha",t.sha),c.append("filePath",t.filePath||""),n.submit(c,{method:"post",action:"/api/analyze"})},[n]),g=u.useCallback(t=>{const r=t.filter(m=>m.entityType==="visual"||m.entityType==="library");console.log("Generate analysis for all entities:",r.length),l(m=>{const b=new Map(m);return r.forEach(j=>b.set(w(j),j.sha)),b});const c=r.map(m=>m.sha).join(","),x=new FormData;x.append("entityShas",c),n.submit(x,{method:"post",action:"/api/analyze"})},[n]),a=u.useCallback(t=>(s==null?void 0:s.includes(t))??!1,[s]),y=u.useCallback(t=>{const r=w(t);return i.has(r)},[i]),p=u.useCallback(t=>{var r;return((r=o==null?void 0:o.jobs)==null?void 0:r.some(c=>{var x;return(x=c.entityShas)==null?void 0:x.includes(t)}))??!1},[o]),f=u.useMemo(()=>Array.from(i.keys()),[i]);return{isAnalyzing:n.state!=="idle",handleGenerateSimulation:h,handleGenerateAllSimulations:g,isEntityBeingAnalyzed:a,isEntityPending:y,isEntityInQueue:p,pendingEntityKeys:f}}function X({showActions:s=!1,sortOrder:o="desc",onSortChange:n,onAnalyzeAll:d,analyzeAllDisabled:i=!1,analyzeAllText:l="Analyze All"}){return e.jsx("div",{className:"bg-[#efefef] rounded-lg mb-2 text-[11px] font-normal leading-[16px] text-[#3e3e3e] uppercase",children:e.jsxs("div",{className:"flex justify-between items-center px-3 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4"}),e.jsx("span",{children:"FILE"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"100px"},children:e.jsx("span",{children:"STATE"})}),e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"70px"},children:e.jsx("span",{children:"SIMULATIONS"})}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("span",{className:"text-center",style:{width:"70px"},children:"ENTITIES"}),e.jsxs("div",{className:"flex items-center justify-center gap-1 cursor-pointer hover:text-[#232323] transition-colors",style:{width:"116px"},onClick:n,role:"button",tabIndex:0,onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),n==null||n())},children:[e.jsx("span",{children:"MODIFIED"}),e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{transform:o==="asc"?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease"},children:e.jsx("path",{d:"M3 5L6 8L9 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]}),s&&e.jsx("div",{className:"text-center",style:{width:"127px"},children:d&&e.jsx("button",{onClick:d,disabled:i,className:"bg-[#005c75] text-white rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#004a5e] transition-colors cursor-pointer disabled:bg-gray-400 disabled:cursor-not-allowed whitespace-nowrap px-3 py-1.5 normal-case",title:i?l:"Analyze all entities",children:l})})]})]})]})})}function A({status:s,variant:o="compact"}){const n={modified:{label:"M",bgColor:"bg-[#f59e0c]"},added:{label:"A",bgColor:"bg-emerald-500"},deleted:{label:"D",bgColor:"bg-red-500",showWarning:!0},renamed:{label:"R",bgColor:"bg-indigo-500"},untracked:{label:"U",bgColor:"bg-purple-500"}},d={modified:{label:"MODIFIED",textColor:"#BB6BD9"},added:{label:"ADDED",textColor:"#F2994A"},deleted:{label:"DELETED",textColor:"#EF4444"},renamed:{label:"RENAMED",textColor:"#3B82F6"},untracked:{label:"UNTRACKED",textColor:"#6B7280"}};if(o==="full"){const l=d[s]||{label:"UNKNOWN",textColor:"#6B7280"};return e.jsx("div",{className:"bg-[#f9f9f9] inline-flex items-center justify-center px-[5px] py-0 rounded",style:{height:"22px"},children:e.jsx("span",{className:"text-[10px] font-['IBM_Plex_Sans'] font-medium leading-[22px]",style:{color:l.textColor},children:l.label})})}const i=n[s]||{label:"?",bgColor:"bg-gray-500"};return e.jsxs("div",{className:"inline-flex items-center gap-1",children:[e.jsx("span",{className:`inline-flex items-center justify-center w-5 h-5 text-[11px] font-bold text-white rounded ${i.bgColor}`,title:s,children:i.label}),i.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 Y({filePath:s,isExpanded:o,onToggle:n,fileStatus:d,simulationPreviews:i,entityCount:l,state:h,lastModified:g,actionButton:a,uncommittedCount:y,children:p,isNotAnalyzable:f=!1,isUncommitted:t=!1}){return e.jsxs("div",{className:"bg-white overflow-hidden",style:o?{border:"1px solid #e1e1e1",borderLeft:"4px solid #005C75",borderRadius:"8px"}:{borderBottom:"1px solid #e1e1e1"},children:[e.jsxs("div",{className:`flex justify-between items-center p-3 cursor-pointer select-none transition-colors ${f?"opacity-50":"hover:bg-gray-200"}`,style:{outlineColor:"#005C75"},onClick:n,role:"button",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n())},children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4 inline-flex items-center justify-center shrink-0",style:{transform:o?"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:o?"#3e3e3e":"#c7c7c7"})})}),e.jsx("img",{src:"/icons/file-icon.svg",alt:"file",className:"w-4 h-5 shrink-0"}),e.jsx(P,{filePath:s}),d&&e.jsx(A,{status:typeof d=="string"?d:d.status,variant:"full"}),t&&h==="out-of-date"&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fdf9c9",color:"#c69538",height:"22px"},children:"Out of date"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"100px"},children:(t||h==="out-of-date")&&e.jsxs("div",{className:"flex gap-1.5 items-center",children:[t&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fff3cd",color:"#856404",height:"22px"},children:"Uncommitted"}),h==="out-of-date"&&!t&&e.jsx("span",{className:"text-[11px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#fdf9c9",color:"#c69538",height:"22px"},children:"Out of date"})]})}),e.jsx("div",{className:"flex items-center justify-center h-[38px]",style:{width:"70px"},children:i}),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:[l," ",l===1?"entity":"entities"]})})}),e.jsx("div",{className:"text-[12px] text-gray-600 text-center",style:{width:"116px"},children:D(g)}),e.jsx("div",{style:{width:"127px"},className:"flex justify-center",children:a})]})]})]}),o&&p&&e.jsx("div",{className:"bg-gray-50 py-2 rounded-bl-[4px] rounded-br-[4px] flex flex-col gap-1",children:p})]})}function q({entities:s,maxPreviews:o=3}){var d,i,l,h,g;const n=[];for(const a of s){if(n.length>=o)break;const y=((i=(d=a.analyses)==null?void 0:d[0])==null?void 0:i.scenarios)||[];if(a.entityType==="library"){const p=y.find(f=>{var t,r;return((t=f.metadata)==null?void 0:t.executionResult)||((r=f.metadata)==null?void 0:r.error)});p&&n.push({type:"library",scenario:p,entitySha:a.sha})}else if(a.entityType==="visual"){const p=y.find(f=>{var t,r;return(r=(t=f.metadata)==null?void 0:t.screenshotPaths)==null?void 0:r[0]});if(p){const f=(h=(l=p.metadata)==null?void 0:l.screenshotPaths)==null?void 0:h[0],t=!!((g=p.metadata)!=null&&g.error);f&&n.push({type:"screenshot",screenshot:f,hasError:t,scenario:p,entitySha:a.sha})}}}return n.length===0?e.jsx("span",{className:"text-gray-400 font-light text-[14px]",children:"—"}):e.jsx(e.Fragment,{children:n.map((a,y)=>{if(a.type==="screenshot"&&a.screenshot){const p=a.hasError?"border-red-400":"border-gray-200";return e.jsxs(N,{to:a.scenario?`/entity/${a.entitySha}/scenarios/${a.scenario.id}`:`/entity/${a.entitySha}`,className:`relative w-[50px] h-[38px] border ${p} rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center cursor-pointer transition-all hover:scale-105 hover:shadow-md`,onClick:f=>f.stopPropagation(),children:[e.jsx(C,{screenshotPath:a.screenshot,alt:`Preview ${y+1}`,className:"max-w-full max-h-full object-contain object-center"}),a.hasError&&e.jsx("div",{className:"absolute top-0 right-0 w-4 h-4 bg-red-500 text-white flex items-center justify-center text-[10px] rounded-bl",title:"Error during capture",children:e.jsx(I,{size:12,color:"white"})})]},`screenshot-${y}`)}return a.type==="library"&&a.scenario&&a.entitySha?e.jsx(B,{scenario:a.scenario,entitySha:a.entitySha,size:"small",showBorder:!0},`library-${y}`):null})})}function ee({entity:s,isActivelyAnalyzing:o,isQueued:n,onGenerateSimulation:d}){var p,f;const i=o||n?[{entityShas:[s.sha]}]:[],l=F(s,i,o),h=s.entityType==="visual"||s.entityType==="library",g=h&&(l==="not-analyzed"||l==="out-of-date")&&!o&&!n,y=(((f=(p=s.analyses)==null?void 0:p[0])==null?void 0:f.scenarios)||[]).filter(t=>{var r,c;return(c=(r=t.metadata)==null?void 0:r.screenshotPaths)==null?void 0:c[0]});return e.jsxs("div",{className:"bg-white rounded-lg",children:[e.jsxs(N,{to:`/entity/${s.sha}`,className:"flex items-center justify-between p-3 transition-colors hover:bg-gray-100 cursor-pointer",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4 shrink-0"}),s.entityType==="type"?e.jsx("div",{className:"bg-[#ffe1e1] inline-flex items-center justify-center px-[4px] rounded-[4px]",style:{height:"18px",width:"18px"},children:e.jsx("div",{className:"w-[10px] h-[10px] flex items-center justify-center",children:e.jsx(v,{type:"type"})})}):e.jsx(v,{type:s.entityType||"other"}),e.jsx("span",{className:`font-['IBM_Plex_Sans'] text-[14px] leading-[18px] text-black ${h?"font-medium":"font-normal"}`,children:s.name}),e.jsx(L,{type:s.entityType||"other"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{style:{width:"160px"}}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("div",{style:{width:"70px"}}),e.jsx("div",{style:{width:"116px"}}),e.jsx("div",{style:{width:"127px"},className:"flex justify-center items-center",children:h?l==="queued"?e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#cbf3fa",color:"#3098b4",height:"26px"},children:[e.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"#3098b4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("polyline",{points:"12,6 12,12 16,14"})]}),"Queued"]}):l==="analyzing"?e.jsxs("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#ffdbf6",color:"#ff2ab5",height:"26px"},children:[e.jsxs("svg",{width:"8",height:"8",viewBox:"0 0 9 9",fill:"none",className:"animate-spin",children:[e.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"#FFF4FC",strokeWidth:"1",fill:"none"}),e.jsx("path",{d:"M4.5 1C2.57 1 1 2.57 1 4.5C1 5.6 1.5 6.58 2.28 7.23",stroke:"#FF2AB5",strokeWidth:"1",strokeLinecap:"round",fill:"none"})]}),"Analyzing..."]}):l==="up-to-date"?e.jsx("span",{className:"text-[13px] px-2 rounded inline-flex items-center gap-1.5 whitespace-nowrap",style:{backgroundColor:"#e8ffe6",color:"#00925d",height:"26px"},children:"Up to date"}):l==="out-of-date"?e.jsx("button",{onClick:t=>{t.preventDefault(),t.stopPropagation(),d(s)},className:"bg-[#e0e9ec] text-[#005c75] rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#d0dfe5] transition-colors cursor-pointer px-[15px] py-0 h-[28px]",children:"Re-Analyze"}):g&&e.jsx("button",{onClick:t=>{t.preventDefault(),t.stopPropagation(),d(s)},className:"bg-[#e0e9ec] text-[#005c75] rounded text-[12px] font-['IBM_Plex_Sans'] font-normal hover:bg-[#d0dfe5] transition-colors cursor-pointer px-[15px] py-0 h-[28px]",children:"Analyze"}):e.jsx("span",{className:"text-[12px] text-gray-400",children:"Not Analyzable"})})]})]})]}),y.length>0&&e.jsx("div",{className:"px-3 pb-3 pt-0 flex items-center gap-2 pl-[52px]",children:y.map((t,r)=>{var x,m;const c=(m=(x=t.metadata)==null?void 0:x.screenshotPaths)==null?void 0:m[0];return c?e.jsx(N,{to:`/entity/${s.sha}?scenario=${t.id}`,className:"relative w-[120px] h-[90px] border border-gray-200 rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center hover:border-gray-400 transition-colors",onClick:b=>b.stopPropagation(),children:e.jsx(C,{screenshotPath:c,alt:t.name,className:"max-w-full max-h-full object-contain object-center"})},t.id):null})})]})}export{V as C,ee as E,X as F,q as S,Q as a,Y as b,Z as u};
@@ -0,0 +1 @@
1
+ import{j as o}from"./jsx-runtime-D_zvdyIk.js";const l={visual:{label:"VISUAL",bgColor:"#f9f9f9",textColor:"#9040f5"},library:{label:"LIBRARY",bgColor:"#f9f9f9",textColor:"#06b6d5"},type:{label:"TYPE",bgColor:"#ffe1e1",textColor:"#db2627"},other:{label:"OTHER",bgColor:"#f9f9f9",textColor:"#646464"}};function n({type:t,className:r=""}){const e=l[t]||l.other;return o.jsx("div",{className:`inline-flex items-center justify-center px-[4px] rounded-[4px] ${r}`,style:{backgroundColor:e.bgColor,color:e.textColor,height:"15px"},children:o.jsx("span",{className:"text-[10px] font-['IBM_Plex_Sans'] font-semibold leading-[15px] uppercase",children:e.label})})}export{n as E};
@@ -0,0 +1,41 @@
1
+ import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{c}from"./createLucideIcon-DJB0YQJL.js";/**
2
+ * @license lucide-react v0.577.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const h=[["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"}]],g=c("box",h);/**
7
+ * @license lucide-react v0.577.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const f=[["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"}]],p=c("chart-column",f);/**
12
+ * @license lucide-react v0.577.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const b=[["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"}]],y=c("code-xml",b);/**
17
+ * @license lucide-react v0.577.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const x=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],i=c("code",x);/**
22
+ * @license lucide-react v0.577.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const C=[["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"}]],s=c("file-text",C);/**
27
+ * @license lucide-react v0.577.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const k=[["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"}]],u=c("image",k);/**
32
+ * @license lucide-react v0.577.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const m=[["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"}]],z=c("list",m);/**
37
+ * @license lucide-react v0.577.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const j=[["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=c("tag",j);function v({type:t,size:a="default"}){const n={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=n[t]||n.other,r=a==="large"?18:14,l=a==="large"?32:18,d=()=>{switch(t){case"library":return e.jsx(y,{size:r,color:o.iconColor});case"visual":return e.jsx(u,{size:r,color:o.iconColor});case"type":return e.jsx(M,{size:r,color:o.iconColor});case"data":return e.jsx(p,{size:r,color:o.iconColor});case"index":return e.jsx(z,{size:r,color:o.iconColor});case"functionCall":return e.jsx(i,{size:r,color:o.iconColor});case"class":return e.jsx(g,{size:r,color:o.iconColor});case"method":return e.jsx(i,{size:r,color:o.iconColor});case"other":return e.jsx(s,{size:r,color:o.iconColor});default:return e.jsx(s,{size:r,color:o.iconColor})}};return e.jsx("span",{className:`flex items-center justify-center rounded ${o.bgColor}`,style:{width:`${l}px`,height:`${l}px`},children:d()})}export{y as C,v as E,u as I};
@@ -0,0 +1 @@
1
+ import{j as o}from"./jsx-runtime-D_zvdyIk.js";import{r as e}from"./chunk-JZWAC4HX-BBXArFPl.js";const n=["⣾","⣽","⣻","⢿","⡿","⣟","⣯","⣷"],c=80;function m(){const[t,r]=e.useState(0);return e.useEffect(()=>{const s=setInterval(()=>{r(a=>(a+1)%n.length)},c);return()=>clearInterval(s)},[]),o.jsx("span",{className:"inline-block mr-2",children:n[t]})}export{m as I};
@@ -0,0 +1,25 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CCrgCshv.js","assets/chunk-JZWAC4HX-BBXArFPl.js","assets/index-BsX0F-9C.js","assets/styles-CMKNK2uU.css"])))=>i.map(i=>d[i]);
2
+ import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{r as t}from"./chunk-JZWAC4HX-BBXArFPl.js";import{_ as L}from"./preload-helper-ckwbz45p.js";import{u as Q}from"./useLastLogLine-BxxP_XF9.js";import{S as P}from"./Spinner-Df3UCi8k.js";import{I as B}from"./InlineSpinner-DuYodzo1.js";const $=t.createContext({dimensions:{height:720,width:1200},updateDimensions:()=>{},iframeRef:{current:null},scale:1,updateScale:()=>{},maxWidth:1200,updateMaxWidth:()=>{}}),U=()=>{const o=t.useContext($);if(!o)throw new Error("useWebContainer must be used within a WebContainerProvider");return o},ce=({children:o})=>{const[i,r]=t.useState({height:720,width:1200}),[d,f]=t.useState(1),[u,g]=t.useState(1200),x=t.useRef(null),h=t.useCallback(({height:l,width:j})=>{r(S=>({height:l??S.height,width:j??S.width}))},[]),v=t.useCallback(l=>{f(l)},[]),w=t.useCallback(l=>{g(l)},[]);return e.jsx($.Provider,{value:{dimensions:i,updateDimensions:h,iframeRef:x,scale:d,updateScale:v,maxWidth:u,updateMaxWidth:w},children:o})},X=typeof window<"u";function Z(){const[o,i]=t.useState(null);return t.useEffect(()=>{L(()=>import("./index-CCrgCshv.js").then(r=>r.i),__vite__mapDeps([0,1,2])).then(r=>{i(()=>r.ResizableBox)}),L(()=>Promise.resolve({}),__vite__mapDeps([3]))},[]),o}const ee=1200,te=720,H=30,se=({id:o,scenarioName:i,iframeUrl:r,defaultWidth:d=1440,defaultHeight:f=900,onDataOverride:u,onIframeLoad:g,onScaleChange:x,onDimensionChange:h})=>{const v=Z(),[w,l]=t.useState(!1),[j,S]=t.useState(!1),[c,A]=t.useState(ee),[_,D]=t.useState(te),[E,T]=t.useState(null),[M,I]=t.useState(null),{dimensions:a,updateDimensions:y,iframeRef:m,updateScale:N,updateMaxWidth:R}=U(),k=t.useMemo(()=>Math.min(1,c/a.width),[c,a.width]),p=M!==null?M:k;t.useEffect(()=>{w||(N(p),x==null||x(p))},[p,N,x,w]),t.useEffect(()=>{R(c)},[c,R]);const G=t.useCallback(()=>{l(!0),I(k)},[k]),O=t.useCallback(()=>{l(!1),I(null)},[]),V=t.useCallback((n,s)=>{const b=M!==null?M:1,z=Math.round(s.size.width/b);y({width:z}),h==null||h(z,a.height)},[y,M,h,a.height]),F=t.useCallback(()=>{setTimeout(()=>{S(!0)},100),g&&g()},[g]);t.useEffect(()=>{const n=s=>{if(s.data.type==="codeyam-resize"){if(i&&s.data.name!==i||a.height===s.data.height||s.data.height===0)return;y({height:s.data.height})}};return window.addEventListener("message",n),()=>{window.removeEventListener("message",n)}},[m,i,d,a,y]),t.useEffect(()=>{j&&u&&u(m.current)},[j,u,m]),t.useEffect(()=>{if(!i)return;const n=setInterval(()=>{var s,b;(b=(s=m==null?void 0:m.current)==null?void 0:s.contentWindow)==null||b.postMessage({type:"codeyam-respond",name:i},"*")},1e3);return()=>clearInterval(n)},[i,m]),t.useEffect(()=>{const n=()=>{const s=document.getElementById("scenario-container");if(!s)return;const b=s.getBoundingClientRect(),z=s.clientWidth-H*2,q=window.innerHeight-b.top-H*2,J=Math.max(q,400),K=window.innerHeight-b.top;A(z),D(J),T(K)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t.useEffect(()=>{y({width:d,height:f})},[d,f,y]);const C=t.useMemo(()=>a.width*p,[a.width,p]),W=t.useMemo(()=>{const n=a.height,s=n*p;return n&&n!==720&&n!==900&&s<_?s:_},[a.height,_,p]),Y=t.useCallback(()=>{window.history.back()},[]);return!X||!v?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..."})}):e.jsxs("div",{id:"scenario-container",className:"relative bg-gray-100 w-full flex items-center justify-center",style:E?{height:`${E}px`}:{},children:[w&&e.jsx("div",{className:"fixed inset-0 z-50 bg-transparent"}),e.jsx("style",{children:`
3
+ .react-resizable-handle-e {
4
+ display: flex !important;
5
+ align-items: center !important;
6
+ justify-content: center !important;
7
+ width: 6px !important;
8
+ height: 48px !important;
9
+ right: -8px !important;
10
+ top: 50% !important;
11
+ transform: translateY(-50%) !important;
12
+ cursor: ew-resize !important;
13
+ background: #d1d5db !important;
14
+ border-radius: 3px !important;
15
+ opacity: 0 !important;
16
+ transition: all 0.2s ease !important;
17
+ }
18
+ .react-resizable-handle-e:hover {
19
+ opacity: 0.8 !important;
20
+ background: #9ca3af !important;
21
+ }
22
+ .react-resizable:hover .react-resizable-handle-e {
23
+ opacity: 0.4 !important;
24
+ }
25
+ `}),e.jsx(v,{width:C,height:W,minConstraints:[300,200],maxConstraints:[c,_],className:"relative bg-white rounded-lg shadow-md",resizeHandles:["e"],onResizeStart:G,onResizeStop:O,onResize:V,children:e.jsx("div",{className:"overflow-auto",style:{width:`${C}px`,height:`${W}px`},children:e.jsx("div",{style:{width:`${a.width}px`,height:`${a.height}px`,transform:`scale(${p})`,transformOrigin:"top left"},children:r?e.jsx("iframe",{ref:m,className:"w-full h-full rounded-lg",src:r,onLoad:F,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:Y,children:"Go back"})]})})})},`resizable-box-${o}`)]})};function de({scenarioId:o,scenarioName:i,iframeUrl:r,isStarting:d,isLoading:f,showIframe:u,iframeKey:g,onIframeLoad:x,onScaleChange:h,onDimensionChange:v,projectSlug:w,defaultWidth:l=1440,defaultHeight:j=900,retryCount:S=0}){const{lastLine:c}=Q(w??null,d||f);return r?e.jsxs("div",{className:"flex-1 min-h-0 relative",style:{background:"transparent"},children:[e.jsx("div",{style:{opacity:u?1:0,background:"transparent"},children:e.jsx(se,{id:o,scenarioName:i,iframeUrl:r,defaultWidth:l,defaultHeight:j,onIframeLoad:x,onScaleChange:h,onDimensionChange:v},g)}),!u&&(d||f)&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center z-10",children:e.jsxs("div",{className:"flex flex-col items-center justify-center gap-6 bg-white rounded-lg p-8 shadow-sm w-[500px] h-[300px]",children:[e.jsx("div",{className:"mb-4",children:e.jsx(P,{})}),e.jsxs("div",{className:"flex flex-col gap-3 text-center",children:[e.jsx("h2",{className:"text-xl font-medium text-black leading-[28px] m-0 font-['IBM_Plex_Sans']",children:"Starting Interactive Mode"}),e.jsx("p",{className:"text-sm text-[#666] leading-5 m-0 font-['IBM_Plex_Sans']",children:"Setting up a sandboxed environment for your component"}),c&&e.jsxs("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 mt-3 font-['IBM_Plex_Mono'] uppercase",children:[e.jsx(B,{}),c]})]})]})})]}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center",children:e.jsxs("div",{className:"flex flex-col items-center justify-center gap-6 w-[500px] h-[300px] bg-white rounded-lg p-8 shadow-sm",children:[e.jsx("div",{className:"mb-4",children:e.jsx(P,{})}),e.jsxs("div",{className:"flex flex-col gap-3 text-center",children:[e.jsx("h2",{className:"text-xl font-medium text-black leading-[28px] m-0 font-['IBM_Plex_Sans']",children:"Starting Interactive Mode"}),e.jsx("p",{className:"text-sm text-[#666] leading-5 m-0 font-['IBM_Plex_Sans']",children:"Setting up a sandboxed environment for your component"}),c&&e.jsxs("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 mt-3 font-['IBM_Plex_Mono'] uppercase",children:[e.jsx(B,{}),c]})]})]})})}export{de as I,ce as W,U as u};
@@ -0,0 +1,3 @@
1
+ import{j as r}from"./jsx-runtime-D_zvdyIk.js";import{L as C}from"./chunk-JZWAC4HX-BBXArFPl.js";import{g as L}from"./scenarioStatus-B_8jpV3e.js";function V({scenario:s,entitySha:m,size:g="medium",showBorder:j=!0,isOutdated:E=!1}){var x,h,u,p,f,$;const t=L(s,void 0,void 0,m,void 0),e=(x=s.metadata)==null?void 0:x.executionResult,o=!!e,b=(((u=(h=s.metadata)==null?void 0:h.data)==null?void 0:u.argumentsData)||[]).length,c=(e==null?void 0:e.returnValue)!==void 0&&(e==null?void 0:e.returnValue)!==null,i=((f=(p=e==null?void 0:e.sideEffects)==null?void 0:p.consoleOutput)==null?void 0:f.length)||0,d=(($=e==null?void 0:e.timing)==null?void 0:$.duration)||0;let a=0;b>0&&a++,b>2&&a++,c&&a++,i>0&&a++,a=Math.min(3,a);const l=g==="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]"},n=t.hasError?{border:"border-red-400",bg:"bg-red-50",icon:"text-red-600",badge:"bg-red-100 text-red-700"}:o?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=j?`border-2 ${n.border}`:"",S=Array.from({length:3},(v,y)=>r.jsx("div",{className:`w-1 h-1 rounded-full ${y<a?n.icon.replace("text-","bg-"):"bg-gray-300"}`},y)),N=t.hasError?`Error: ${t.errorMessage||"Unknown error"}`:o?`${s.name}
2
+ ${b} args → ${c?"value":"void"}${i>0?` (${i} logs)`:""}
3
+ ${d}ms`:`Not executed: ${s.name}`;return r.jsxs(C,{to:`/entity/${m}/scenarios/${s.id}`,className:`relative ${l.width} ${l.height} ${w} rounded ${n.bg} flex flex-col items-center justify-center gap-0.5 cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:N,onClick:v=>v.stopPropagation(),children:[r.jsx("div",{className:`${n.icon} ${l.iconSize} font-mono font-bold`,children:t.hasError?"⚠":o?"ƒ":"○"}),o&&!t.hasError&&r.jsxs("div",{className:`flex items-center gap-0.5 ${l.textSize} ${n.badge} px-1 rounded`,children:[r.jsx("span",{children:b}),r.jsx("span",{children:"→"}),r.jsx("span",{children:c?"✓":"∅"})]}),o&&!t.hasError&&g==="medium"&&r.jsx("div",{className:"flex gap-0.5 mt-0.5",children:S}),o&&!t.hasError&&d>100&&g==="medium"&&r.jsx("div",{className:`absolute top-0.5 right-0.5 ${l.textSize} ${n.badge} px-1 rounded`,children:d>1e3?`${Math.round(d/1e3)}s`:`${d}ms`}),o&&!t.hasError&&i>0&&g==="medium"&&r.jsxs("div",{className:"absolute bottom-0.5 left-0.5 text-[8px] text-gray-500",children:["📝",i]})]})}export{V as L};
@@ -1,4 +1,4 @@
1
- import{j as i}from"./chunk-EPOLDU6W-CXRTFQ3F.js";let s=!1;function r(){if(s)return;const e=document.createElement("style");e.textContent=`
1
+ import{j as i}from"./jsx-runtime-D_zvdyIk.js";let s=!1;function r(){if(s)return;const e=document.createElement("style");e.textContent=`
2
2
  @keyframes strongPulse {
3
3
  0%, 100% { opacity: 0.2; }
4
4
  50% { opacity: 1; }
@@ -1,3 +1,3 @@
1
- import{r,j as e}from"./chunk-EPOLDU6W-CXRTFQ3F.js";function w({projectSlug:x,onClose:l}){const[m,o]=r.useState("Loading logs..."),[u,g]=r.useState(!0),[d,f]=r.useState(!0),[n,b]=r.useState("all"),a=r.useRef(null);return r.useEffect(()=>{const t=async()=>{try{const s=await fetch(`/api/logs/${x}`);if(s.ok){const h=await s.text();if(n==="all")o(h);else{const c=h.trim().split(`
2
- `).filter(i=>{if(i.length===0)return!1;const p=i.match(/^.*CodeYam Log Level (\d+):/);return!!p&&Number(p[1])<=n});o(c.map(i=>i.replace(/^.*CodeYam Log Level \d+:\s*/,"")).join(`
3
- `))}d&&a.current&&setTimeout(()=>{var c;(c=a.current)==null||c.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(()=>{}),u){const s=setInterval(()=>{t().catch(()=>{})},2e3);return()=>clearInterval(s)}},[x,u,d,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 - ",x]}),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=>b(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:u,onChange:t=>g(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:d,onChange:t=>f(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:m})]})})}export{w as L};
1
+ import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{r}from"./chunk-JZWAC4HX-BBXArFPl.js";function j({projectSlug:x,onClose:o}){const[m,l]=r.useState("Loading logs..."),[u,f]=r.useState(!0),[d,g]=r.useState(!0),[n,b]=r.useState("all"),a=r.useRef(null);return r.useEffect(()=>{const t=async()=>{try{const s=await fetch(`/api/logs/${x}`);if(s.ok){const h=await s.text();if(n==="all")l(h);else{const c=h.trim().split(`
2
+ `).filter(i=>{if(i.length===0)return!1;const p=i.match(/^.*CodeYam Log Level (\d+):/);return!!p&&Number(p[1])<=n});l(c.map(i=>i.replace(/^.*CodeYam Log Level \d+:\s*/,"")).join(`
3
+ `))}d&&a.current&&setTimeout(()=>{var c;(c=a.current)==null||c.scrollTo({top:a.current.scrollHeight,behavior:"smooth"})},100)}else l(`Error: ${s.status} - ${await s.text()}`)}catch(s){l(`Error fetching logs: ${s.message}`)}};if(t().catch(()=>{}),u){const s=setInterval(()=>{t().catch(()=>{})},2e3);return()=>clearInterval(s)}},[x,u,d,n]),r.useEffect(()=>{const t=s=>{s.key==="Escape"&&o()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[o]),e.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-9999 p-5",onClick:o,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 - ",x]}),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=>b(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:u,onChange:t=>f(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:d,onChange:t=>g(t.target.checked),className:"cursor-pointer"}),e.jsx("span",{className:"group-hover:text-white",children:"Auto-scroll"})]}),e.jsx("button",{onClick:o,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:m})]})})}export{j as L};
@@ -0,0 +1,11 @@
1
+ import{j as e}from"./jsx-runtime-D_zvdyIk.js";import{r as t,d as T}from"./chunk-JZWAC4HX-BBXArFPl.js";import{c as S}from"./createLucideIcon-DJB0YQJL.js";import{C as F}from"./circle-check-CT4unAk-.js";import{T as k}from"./triangle-alert-Cs87hJYK.js";import{C as E,a as A}from"./copy-zK0B6Nu-.js";/**
2
+ * @license lucide-react v0.577.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const W=[["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"}]],B=S("bug",W);/**
7
+ * @license lucide-react v0.577.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const L=[["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"}]],w=S("settings",L);function Y(r){return r.scenarioName&&r.entityName?`${r.entityName} → "${r.scenarioName}"`:r.entityName?r.entityName:r.scenarioId?`Scenario: ${r.scenarioId.slice(0,8)}...`:r.entitySha?`Entity: ${r.entitySha.slice(0,8)}...`:"General feedback"}function _({content:r,className:x=""}){const[s,d]=t.useState(!1),i=t.useCallback(()=>{navigator.clipboard.writeText(r).then(()=>{d(!0),setTimeout(()=>d(!1),2e3)}).catch(n=>{console.error("Failed to copy:",n)})},[r]);return e.jsx("button",{onClick:i,className:`cursor-pointer flex items-center gap-1 ${x}`,disabled:s,"aria-label":s?"Copied to clipboard":"Copy to clipboard",children:s?e.jsxs(e.Fragment,{children:[e.jsx(E,{size:14}),"Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(A,{size:14}),"Copy"]})})}function P({isOpen:r,onClose:x,context:s,defaultEmail:d="",screenshotDataUrl:i}){const[n,y]=t.useState(""),[b,I]=t.useState(d),[u,f]=t.useState(!1),[c,j]=t.useState(!1),[M,N]=t.useState(null),[m,h]=t.useState(null),l=T(),o=l.state!=="idle",g=!!(s.scenarioId||s.analysisId),$=s.analysisId||s.scenarioId||"",v=()=>{const a=`/codeyam-diagnose ${$}`;return n.trim()?`${a} ${n.trim()}`:a};if(l.data&&!c&&!m){const a=l.data;a.success&&a.reportId?(j(!0),N(a.reportId)):a.error&&h(a.error)}const D=async()=>{h(null);const a=new FormData;if(a.append("issueType","other"),a.append("description",n),a.append("email",b),a.append("source",s.source),a.append("entitySha",s.entitySha||""),a.append("scenarioId",s.scenarioId||""),a.append("analysisId",s.analysisId||""),a.append("currentUrl",s.currentUrl),a.append("entityName",s.entityName||""),a.append("entityType",s.entityType||""),a.append("scenarioName",s.scenarioName||""),a.append("errorMessage",s.errorMessage||""),i)try{const R=await(await fetch(i)).blob();a.append("screenshot",R,"screenshot.jpg")}catch(C){console.error("Failed to convert screenshot:",C)}l.submit(a,{method:"post",action:"/api/generate-report",encType:"multipart/form-data"})},p=()=>{y(""),f(!1),j(!1),N(null),h(null),x()},z=a=>{a.key==="Escape"&&p()};return r?e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",onKeyDown:z,children:e.jsxs("div",{className:"bg-white rounded-lg max-w-lg w-full p-6 shadow-xl max-h-[90vh] overflow-y-auto",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[o?e.jsx("div",{className:"animate-spin",children:e.jsx(w,{size:24,style:{strokeWidth:1.5}})}):c?e.jsx(F,{size:24,style:{color:"#10B981",strokeWidth:1.5}}):e.jsx(B,{size:24,style:{color:"#005C75",strokeWidth:1.5}}),e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:c?"Report Submitted":"Report Issue"})]}),e.jsx("button",{onClick:p,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"})})})]}),c?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:M})]})]}),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:p,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:Y(s)}),e.jsx("button",{type:"button",onClick:()=>f(!u),className:"text-xs text-gray-500 hover:text-gray-700 underline cursor-pointer",children:u?"Hide":"Details"})]}),u&&e.jsxs("div",{className:"mt-2 pt-2 border-t border-gray-200 text-xs text-gray-600 space-y-1 break-all",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-400",children:"Source:"})," ",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})]})]})]}),i&&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:i,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:n,onChange:a=>y(a.target.value),placeholder:"Optional: Describe what you expected vs what happened...",rows:3,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"})]}),g&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-4 p-4 bg-purple-50 rounded-lg border border-purple-200",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-lg",children:"🔧"}),e.jsx("h3",{className:"text-sm font-semibold text-purple-900",children:"Diagnose & Fix (Recommended)"})]}),e.jsx("p",{className:"text-xs text-purple-700 mb-3",children:"Run this command in Claude Code to investigate the issue locally and potentially fix it. A detailed report will also be uploaded."}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"bg-gray-800 text-gray-50 px-3 py-2.5 pr-20 rounded-md text-xs font-mono overflow-x-auto whitespace-nowrap",children:v()}),e.jsx(_,{content:v(),className:"absolute top-1.5 right-2 px-2 py-1 bg-purple-600 text-white border-none rounded text-[11px] font-medium hover:bg-purple-700 transition-colors"})]})]}),e.jsxs("div",{className:"relative my-5",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("div",{className:"w-full border-t border-gray-300"})}),e.jsx("div",{className:"relative flex justify-center",children:e.jsx("span",{className:"bg-white px-3 text-xs text-gray-500 uppercase",children:"or"})})]})]}),e.jsxs("div",{className:g?"opacity-75":"",children:[g&&e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"text-lg",children:"📤"}),e.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Quick Report"}),e.jsx("span",{className:"text-xs text-gray-500",children:"(won't investigate locally)"})]}),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:b,onChange:a=>I(a.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-4 p-3 bg-amber-50 rounded-lg border border-amber-200 flex gap-2",children:[e.jsx(k,{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."})]})]}),o&&e.jsx("div",{className:"mb-4 text-center",children:e.jsx("p",{className:"text-sm text-gray-600",children:l.formData?"Uploading report...":"Creating archive..."})}),m&&e.jsxs("div",{className:"mb-4 p-3 bg-red-50 rounded-lg border border-red-200 flex gap-2",children:[e.jsx(k,{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:m})]})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:p,disabled:o,className:"px-4 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-300 transition-colors disabled:opacity-50 cursor-pointer",children:"Cancel"}),e.jsx("button",{onClick:()=>void D(),disabled:o,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:o?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"animate-spin",children:e.jsx(w,{size:16,style:{strokeWidth:1.5}})}),"Submitting..."]}):m?"Try Again":"Submit Report"})]})]})]})]})}):null}export{B,P as R,w as S};