@codeyam/codeyam-cli 0.1.0-staging.8e7b1bd → 0.1.0-staging.b8a55ba

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 (385) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +7 -6
  4. package/analyzer-template/packages/ai/package.json +1 -1
  5. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +2 -0
  6. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +22 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +23 -1
  8. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +401 -106
  9. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +60 -0
  10. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +661 -50
  11. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +14 -2
  12. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +715 -0
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +123 -1
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +23 -1
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +23 -0
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +34 -1
  18. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +236 -24
  19. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +18 -1
  20. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +37 -4
  21. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +5 -0
  22. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +213 -12
  23. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +11 -15
  24. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +114 -11
  25. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  26. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  27. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +7 -0
  28. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +42 -2
  29. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +38 -2
  30. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  31. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +5 -0
  32. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +8 -1
  33. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +339 -145
  34. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +20 -0
  35. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +8 -1
  36. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +158 -0
  37. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +107 -18
  38. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  39. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +223 -103
  40. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +10 -5
  41. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +172 -83
  42. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -5
  43. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +97 -27
  44. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  45. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  46. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  47. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  48. package/analyzer-template/packages/aws/package.json +1 -1
  49. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  50. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  51. package/analyzer-template/packages/database/src/lib/kysely/db.ts +4 -4
  52. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  53. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +20 -9
  54. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +3 -2
  55. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  56. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  57. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -2
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +2 -2
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +8 -1
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  63. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +14 -7
  64. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  66. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  67. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +1 -1
  68. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  69. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  70. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +4 -2
  71. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  72. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  73. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  74. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  75. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  76. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  77. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  78. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  80. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/types/index.d.ts +4 -3
  82. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  83. package/analyzer-template/packages/github/dist/types/index.js +1 -0
  84. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  85. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +31 -1
  86. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  87. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +51 -1
  88. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  89. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +21 -1
  90. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  91. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
  92. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  93. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  94. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  95. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  96. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  97. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  98. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  99. package/analyzer-template/packages/types/index.ts +8 -0
  100. package/analyzer-template/packages/types/src/types/Analysis.ts +32 -1
  101. package/analyzer-template/packages/types/src/types/Scenario.ts +75 -6
  102. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +49 -0
  103. package/analyzer-template/packages/ui-components/package.json +4 -4
  104. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  105. package/analyzer-template/packages/utils/dist/types/index.d.ts +4 -3
  106. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  107. package/analyzer-template/packages/utils/dist/types/index.js +1 -0
  108. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  109. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +31 -1
  110. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  111. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +51 -1
  112. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  113. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +21 -1
  114. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  115. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
  116. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  117. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  118. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  119. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  120. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  121. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  122. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  123. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +28 -2
  124. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  125. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  126. package/analyzer-template/playwright/takeScreenshot.ts +9 -7
  127. package/analyzer-template/project/TESTING.md +83 -0
  128. package/analyzer-template/project/constructMockCode.ts +151 -30
  129. package/analyzer-template/project/loadReadyToBeCaptured.ts +17 -1
  130. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +16 -9
  131. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +77 -37
  132. package/analyzer-template/project/reconcileMockDataKeys.ts +104 -3
  133. package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
  134. package/analyzer-template/project/serverOnlyModules.ts +288 -0
  135. package/analyzer-template/project/start.ts +10 -0
  136. package/analyzer-template/project/startScenarioCapture.ts +73 -41
  137. package/analyzer-template/project/writeMockDataTsx.ts +103 -40
  138. package/analyzer-template/project/writeScenarioComponents.ts +1162 -203
  139. package/analyzer-template/project/writeSimpleRoot.ts +26 -4
  140. package/analyzer-template/project/writeUniversalMocks.ts +32 -11
  141. package/background/src/lib/virtualized/project/constructMockCode.js +132 -25
  142. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  143. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +15 -1
  144. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  145. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +11 -6
  146. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  147. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +67 -32
  148. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  149. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +65 -4
  150. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  151. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
  152. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  153. package/background/src/lib/virtualized/project/serverOnlyModules.js +235 -0
  154. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  155. package/background/src/lib/virtualized/project/start.js +6 -0
  156. package/background/src/lib/virtualized/project/start.js.map +1 -1
  157. package/background/src/lib/virtualized/project/startScenarioCapture.js +54 -31
  158. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  159. package/background/src/lib/virtualized/project/writeMockDataTsx.js +87 -34
  160. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  161. package/background/src/lib/virtualized/project/writeScenarioComponents.js +852 -133
  162. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  163. package/background/src/lib/virtualized/project/writeSimpleRoot.js +25 -2
  164. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  165. package/background/src/lib/virtualized/project/writeUniversalMocks.js +27 -12
  166. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  167. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js +7 -0
  168. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js.map +1 -0
  169. package/codeyam-cli/src/cli.js +2 -0
  170. package/codeyam-cli/src/cli.js.map +1 -1
  171. package/codeyam-cli/src/commands/debug.js +14 -2
  172. package/codeyam-cli/src/commands/debug.js.map +1 -1
  173. package/codeyam-cli/src/commands/recapture.js +215 -0
  174. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  175. package/codeyam-cli/src/commands/report.js +26 -23
  176. package/codeyam-cli/src/commands/report.js.map +1 -1
  177. package/codeyam-cli/src/utils/backgroundServer.js +2 -2
  178. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  179. package/codeyam-cli/src/utils/generateReport.js +252 -106
  180. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  181. package/codeyam-cli/src/utils/install-skills.js +2 -7
  182. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  183. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  184. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  185. package/codeyam-cli/src/utils/queue/job.js +140 -16
  186. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  187. package/codeyam-cli/src/utils/queue/manager.js +19 -7
  188. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  189. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  190. package/codeyam-cli/src/webserver/app/lib/database.js +47 -0
  191. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  192. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  193. package/codeyam-cli/src/webserver/backgroundServer.js +5 -10
  194. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  195. package/codeyam-cli/src/webserver/bootstrap.js +9 -0
  196. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  197. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +1 -0
  198. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DQeyk25_.js → EntityTypeBadge-CzGX-miz.js} +1 -1
  199. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +41 -0
  200. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +25 -0
  201. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CBQPrpT0.js +3 -0
  202. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-D1CdlbrV.js +6 -0
  203. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-wDPcZNKx.js +3 -0
  204. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +11 -0
  205. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BfmDgXxG.js +1 -0
  206. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +15 -0
  207. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-ayCJdUAc.js → TruncatedFilePath-6J7zDUD5.js} +1 -1
  208. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +11 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-2mG6mjVb.js +32 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/api.link-scenario-value-l0sNRNKZ.js +1 -0
  211. package/codeyam-cli/src/webserver/build/client/assets/api.update-key-attributes-l0sNRNKZ.js +1 -0
  212. package/codeyam-cli/src/webserver/build/client/assets/api.update-valid-values-l0sNRNKZ.js +1 -0
  213. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-BYimnrHg.js +6 -0
  214. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +51 -0
  215. package/codeyam-cli/src/webserver/build/client/assets/circle-check-CaVsIRxt.js +6 -0
  216. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgUsG7ib.js +21 -0
  217. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +1 -0
  218. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +1 -0
  219. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-FHOVOgFN.js → entity._sha._-zUEpfPsu.js} +22 -15
  220. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +1 -0
  221. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +1 -0
  222. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-CfLCUi9S.js +5 -0
  223. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DKJyZfAY.js +29 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DAtOlaWE.js +1 -0
  225. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +1 -0
  226. package/codeyam-cli/src/webserver/build/client/assets/git-D62Lxxmv.js +15 -0
  227. package/codeyam-cli/src/webserver/build/client/assets/globals-C6vQASxy.css +1 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  229. package/codeyam-cli/src/webserver/build/client/assets/index-BosqDOlH.js +3 -0
  230. package/codeyam-cli/src/webserver/build/client/assets/index-CzNNiTkw.js +9 -0
  231. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +1 -0
  232. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-CNp9QFCX.js +6 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/manifest-09d684be.js +1 -0
  234. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  235. package/codeyam-cli/src/webserver/build/client/assets/root-BxJUvKau.js +56 -0
  236. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  237. package/codeyam-cli/src/webserver/build/client/assets/search-DDGjYAMJ.js +6 -0
  238. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +1 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +1 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CBc5dE1s.js +6 -0
  241. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +1 -0
  242. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +1 -0
  243. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-DOGXmJcI.js → useLastLogLine-BqPPNjAl.js} +1 -1
  244. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +1 -0
  245. package/codeyam-cli/src/webserver/build/client/assets/{useToast-C07gRg7Z.js → useToast-DWHcCcl1.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/server/assets/index-CV6i1S1A.js +1 -0
  247. package/codeyam-cli/src/webserver/build/server/assets/server-build-BDlyhfrv.js +175 -0
  248. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  249. package/codeyam-cli/src/webserver/build-info.json +5 -5
  250. package/codeyam-cli/src/webserver/devServer.js +1 -3
  251. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  252. package/codeyam-cli/templates/debug-codeyam.md +620 -0
  253. package/package.json +14 -14
  254. package/packages/ai/src/lib/analyzeScope.js +2 -0
  255. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  256. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +16 -0
  257. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  258. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +16 -0
  259. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  260. package/packages/ai/src/lib/astScopes/processExpression.js +305 -88
  261. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  262. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +523 -42
  263. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  264. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +12 -2
  265. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  266. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +454 -0
  267. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  268. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +103 -1
  269. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  270. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +16 -1
  271. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  272. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +19 -1
  273. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  274. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +20 -0
  275. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  276. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +28 -2
  277. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  278. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +179 -17
  279. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  280. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +6 -0
  281. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
  282. package/packages/ai/src/lib/generateChangesEntityScenarios.js +37 -4
  283. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  284. package/packages/ai/src/lib/generateEntityDataStructure.js +4 -0
  285. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  286. package/packages/ai/src/lib/generateEntityKeyAttributes.js +176 -9
  287. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  288. package/packages/ai/src/lib/generateEntityScenarioData.js +11 -15
  289. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  290. package/packages/ai/src/lib/generateEntityScenarios.js +105 -9
  291. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  292. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  293. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  294. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  295. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  296. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +6 -0
  297. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  298. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +38 -2
  299. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  300. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +38 -2
  301. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  302. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  303. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  304. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  305. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +4 -0
  306. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  307. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +258 -110
  308. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  309. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +18 -0
  310. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  311. package/packages/analyze/src/lib/files/getImportedExports.js +6 -1
  312. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  313. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +125 -0
  314. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  315. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +74 -19
  316. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  317. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  318. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  319. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +175 -58
  320. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  321. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +10 -5
  322. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  323. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +127 -69
  324. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  325. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -5
  326. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  327. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +74 -23
  328. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  329. package/packages/database/src/lib/kysely/db.js +2 -2
  330. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  331. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  332. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +4 -2
  333. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  334. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  335. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  336. package/packages/generate/src/lib/deepMerge.js +27 -1
  337. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  338. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  339. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  340. package/packages/types/index.js +1 -0
  341. package/packages/types/index.js.map +1 -1
  342. package/packages/types/src/types/Scenario.js +21 -1
  343. package/packages/types/src/types/Scenario.js.map +1 -1
  344. package/packages/utils/src/lib/applyUniversalMocks.js +26 -2
  345. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  346. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  347. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  348. package/scripts/finalize-analyzer.cjs +3 -1
  349. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-CWKV2GEz.js +0 -1
  350. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-D2hFeDeg.js +0 -1
  351. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-C8K-4kKP.js +0 -26
  352. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DgXLv61M.js +0 -3
  353. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-DFdLQbPS.js +0 -3
  354. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DlRDjT4h.js +0 -1
  355. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-7UkVL-UI.js +0 -1
  356. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-XjtsGuPo.js +0 -5
  357. package/codeyam-cli/src/webserver/build/client/assets/_index-D2eJjWLf.js +0 -1
  358. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-w6sbwlOd.js +0 -7
  359. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-BBNQ8hup.js +0 -1
  360. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-Bex4RrGs.js +0 -26
  361. package/codeyam-cli/src/webserver/build/client/assets/circle-check-cdhjVtom.js +0 -1
  362. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DkgmwwRC.js +0 -1
  363. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CwLmCS0J.js +0 -1
  364. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-YZ-kM3ZG.js +0 -1
  365. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BeQlz94_.js +0 -5
  366. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DN2XXM7Z.js +0 -5
  367. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-CUeAIQNI.js +0 -1
  368. package/codeyam-cli/src/webserver/build/client/assets/files-ccMQfhGf.js +0 -1
  369. package/codeyam-cli/src/webserver/build/client/assets/git-JmESAHx5.js +0 -12
  370. package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.css +0 -1
  371. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  372. package/codeyam-cli/src/webserver/build/client/assets/index-DsL9BiOc.js +0 -8
  373. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-COYCR2oZ.js +0 -1
  374. package/codeyam-cli/src/webserver/build/client/assets/manifest-90adba57.js +0 -1
  375. package/codeyam-cli/src/webserver/build/client/assets/root-DfbVEEjF.js +0 -16
  376. package/codeyam-cli/src/webserver/build/client/assets/search-DvK9iMBu.js +0 -1
  377. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  378. package/codeyam-cli/src/webserver/build/client/assets/settings-9LTbit4Z.js +0 -1
  379. package/codeyam-cli/src/webserver/build/client/assets/simulations-BrxN5ZtV.js +0 -1
  380. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-Iv0p8T-1.js +0 -1
  381. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BWmSRPH6.js +0 -1
  382. package/codeyam-cli/src/webserver/build/server/assets/index-CE_1qXCG.js +0 -1
  383. package/codeyam-cli/src/webserver/build/server/assets/server-build-BY_VDhiD.js +0 -166
  384. package/codeyam-cli/templates/debug-command.md +0 -141
  385. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
@@ -1 +1 @@
1
- import{Y as G,M as H,N as I,W as J,O as K,R as L,T as Z,V as _,U as $,X as rr,Q as tr}from"./assets/server-build-BY_VDhiD.js";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"fetch-retry";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"typescript";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"util";import"dotenv";import"events";import"uuid";import"url";import"react-resizable";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"v8";import"react-diff-viewer-continued";export{G as assets,H as assetsBuildDirectory,I as basename,J as entry,K as future,L as isSpaMode,Z as prerender,_ as publicPath,$ as routeDiscovery,rr as routes,tr as ssr};
1
+ import{Z as E,N as F,O as G,X as H,Q as I,T as J,U as K,W as L,V as _,Y as $,R as rr}from"./assets/server-build-BDlyhfrv.js";import"react/jsx-runtime";import"node:stream";import"@react-router/node";import"react-router";import"isbot";import"react-dom/server";import"react";import"lucide-react";import"fetch-retry";import"better-sqlite3";import"pg";import"fs";import"path";import"kysely";import"kysely/helpers/sqlite";import"kysely/helpers/postgres";import"typescript";import"fs/promises";import"os";import"prompts";import"chalk";import"crypto";import"child_process";import"util";import"dotenv";import"events";import"uuid";import"url";import"openai";import"p-queue";import"p-retry";import"@aws-sdk/client-dynamodb";import"lru-cache";import"pluralize";import"piscina";import"json5";import"@aws-sdk/util-dynamodb";import"react-syntax-highlighter";import"react-syntax-highlighter/dist/cjs/styles/prism/index.js";import"node:crypto";import"v8";import"react-diff-viewer-continued";export{E as assets,F as assetsBuildDirectory,G as basename,H as entry,I as future,J as isSpaMode,K as prerender,L as publicPath,_ as routeDiscovery,$ as routes,rr as ssr};
@@ -1,7 +1,7 @@
1
1
  {
2
- "buildTimestamp": "2025-12-24T23:12:20.198Z",
3
- "buildTime": 1766617940198,
4
- "buildNumber": 211,
5
- "semanticVersion": "0.1.211",
6
- "version": "0.1.211 (2025-12-24T23:12)"
2
+ "buildTimestamp": "2026-01-08T16:34:32.051Z",
3
+ "buildTime": 1767890072051,
4
+ "buildNumber": 353,
5
+ "semanticVersion": "0.1.353",
6
+ "version": "0.1.353 (2026-01-08T16:34)"
7
7
  }
@@ -39,9 +39,7 @@ async function initializeQueue() {
39
39
  }
40
40
  else {
41
41
  console.log('📋 No background server detected, using local queue');
42
- const analysisQueue = new AnalysisQueue(rootPath, () => {
43
- dbNotifier.notifyChange('unknown');
44
- });
42
+ const analysisQueue = new AnalysisQueue(rootPath, dbNotifier);
45
43
  analysisQueue.start();
46
44
  return analysisQueue;
47
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/webserver/devServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devServer.js","sourceRoot":"","sources":["../../../../src/webserver/devServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,620 @@
1
+ # Debug Scenario or Analysis
2
+
3
+ When a user asks to debug a scenario or analysis (e.g., `/debug-codeyam [ID]`), use this systematic process.
4
+
5
+ ## Goal
6
+
7
+ Determine whether a capture failure can be fixed locally (via database changes) or requires a CodeYam engine fix. Either way, produce a detailed debug report.
8
+
9
+ ## Definition of Done
10
+
11
+ **Debugging is NOT complete until one of these conditions is met:**
12
+
13
+ 1. **SUCCESS (Database Fix)**: Issue fixed via database/config changes, screenshots recaptured, ALL screenshot files verified on disk AND visually inspected
14
+ 2. **SUCCESS (File Fix)**: Issue fixed via tmp folder edits, screenshots recaptured with `--capture-only`, ALL screenshot files verified AND visually inspected, changes documented for CodeYam team
15
+ 3. **UNFIXABLE**: Issue cannot be fixed locally (rare), documented in final report with full details
16
+
17
+ ---
18
+
19
+ ## Debug Flow Summary
20
+
21
+ ```
22
+ ┌─────────────────────────────────────────────────────────────────────┐
23
+ │ Step 0: Query database for scenario status (DO THIS FIRST!) │
24
+ │ Check ALL scenarios in the analysis for failures │
25
+ │ Retrieve the analysis id to use in the debug command │
26
+ │ │ │
27
+ │ ▼ │
28
+ │ Step 1: codeyam debug [ANALYSIS ID] (generates files to inspect) │
29
+ │ Step 2: Identify error type from logs/output │
30
+ │ Step 3: Diagnose root cause category (1-4) │
31
+ │ Step 4: Attempt fix (database edit or universal mock) │
32
+ │ Step 5: Verify locally (curl returns 200) │
33
+ │ │ │
34
+ │ ┌─────────┴─────────┐ │
35
+ │ ▼ ▼ │
36
+ │ Fix worked Fix didn't work │
37
+ │ (DB changes) │ │
38
+ │ │ ▼ │
39
+ │ │ Step 5a: Fix code in tmp folder │
40
+ │ │ (edit files directly, track changes) │
41
+ │ │ │ │
42
+ │ │ ▼ │
43
+ │ │ Verify without regenerating │
44
+ │ │ │ │
45
+ │ ▼ ▼ │
46
+ │ Step 6: Recapture Step 6: Recapture --capture-only │
47
+ │ (normal) (preserves file fixes) │
48
+ │ │ │ │
49
+ │ └─────────┬─────────┘ │
50
+ │ ▼ │
51
+ │ Step 7: Verify screenshots (check for client-side errors) │
52
+ │ │ │
53
+ │ ▼ │
54
+ │ Verify ALL files exist on disk │
55
+ │ │ │
56
+ │ ▼ │
57
+ │ ✅ DONE - Produce Final Debug Report │
58
+ │ (document ALL changes for CodeYam team) │
59
+ └─────────────────────────────────────────────────────────────────────┘
60
+ ```
61
+
62
+ ---
63
+
64
+ ## What You Can and Cannot Modify
65
+
66
+ **NEVER modify the client's original source code in the workspace.** Only modify files in the tmp folder.
67
+
68
+ **You CAN modify:**
69
+
70
+ - Data in the local SQLite database (`.codeyam/db.sqlite3`)
71
+ - Universal mocks in `.codeyam/universal-mocks`
72
+ - **Files in `/tmp/codeyam/local-dev/{slug}/project/`** - These are temporary copies used for simulation
73
+ - Generated mock files in `__codeyamMocks__/` directories
74
+ - Layout/route files that wrap scenarios
75
+ - Any generated code that has errors
76
+ - Mock data files for testing
77
+
78
+ **IMPORTANT**: When you edit files in the tmp folder, you MUST use `codeyam recapture --capture-only` when recapturing, otherwise your changes will be overwritten! Be sure to address all issues so that the simulation runs correctly. Then, if one of the issues required editing code in the tmp directory you MUST use `codeyam recapture --capture-only`, but if only data was changed then as long as that data is updated in the local database as well you can run `codeyam recapture` and have the system overwrite the tmp project code and use the valid data from the database.
79
+
80
+ ---
81
+
82
+ ## Step 0: Check for Other Failing Scenarios (MANDATORY FIRST STEP)
83
+
84
+ **DO NOT run `codeyam debug` yet!** First, query the database to check if other scenarios in the same analysis are also failing.
85
+
86
+ ```bash
87
+ # First, get the analysis ID (if you have a scenario ID)
88
+ sqlite3 .codeyam/db.sqlite3 "SELECT analysis_id FROM scenarios WHERE id = 'SCENARIO_ID'"
89
+
90
+ # Then check ALL scenarios for that analysis
91
+ sqlite3 .codeyam/db.sqlite3 "
92
+ SELECT
93
+ s.id,
94
+ s.name,
95
+ json_extract(s.metadata, '$.screenshotPaths') as screenshots
96
+ FROM scenarios s
97
+ WHERE s.analysis_id = 'ANALYSIS_ID'
98
+ "
99
+
100
+ # Check for errors in scenario status
101
+ sqlite3 .codeyam/db.sqlite3 "
102
+ SELECT json_extract(status, '$.scenarios') FROM analyses WHERE id = 'ANALYSIS_ID'
103
+ "
104
+ ```
105
+
106
+ **If multiple scenarios are failing, ASK THE USER** whether to fix just the requested scenario or all failing scenarios.
107
+
108
+ ### Check for Client-Side Errors in Screenshots
109
+
110
+ **IMPORTANT:** Even if the database shows no errors and screenshots exist, the scenario may still have a client-side error. Use the Read tool to view the screenshot file and check for:
111
+
112
+ - Red error boundaries or error messages in the rendered UI
113
+ - "Something went wrong" or similar error text
114
+ - Blank/white screens that should have content
115
+ - React error overlays
116
+
117
+ ```bash
118
+ # View the screenshot to check for client-side errors
119
+ # Use the Read tool on the screenshot path from the database
120
+ ```
121
+
122
+ If the screenshot shows a client-side error, proceed to Step 1 to debug it.
123
+
124
+ ---
125
+
126
+ ## Step 1: Run Debug Command
127
+
128
+ ```bash
129
+ codeyam debug ANALYSIS_ID
130
+ ```
131
+
132
+ Output includes:
133
+
134
+ - **Project path**: `/tmp/codeyam/local-dev/{slug}/project`
135
+ - **Start command**: How to run the dev server
136
+ - **URL**: Where to access the scenario
137
+ - **Log path**: Where to watch for errors
138
+
139
+ ---
140
+
141
+ ## Step 2: Identify the Error Type
142
+
143
+ Read the log file or error output to categorize the issue:
144
+
145
+ | Error Type | Symptoms | Likely Category |
146
+ | ---------------------------------- | ----------------------------------- | ---------------------------------------- |
147
+ | **Syntax error in generated file** | `Unexpected token`, `Parse error` | Category 4 (mock code writing) |
148
+ | **Runtime error** | `TypeError`, `ReferenceError` | Category 1-3 (data issue) or 4 |
149
+ | **Missing mock** | `Cannot read property of undefined` | Category 1-2 (missing in data structure) |
150
+ | **Wrong mock type** | `X is not a function` | Category 3-4 (wrong data or mock code) |
151
+
152
+ ---
153
+
154
+ ## Step 3: Diagnose Root Cause Category
155
+
156
+ This is the most important step. Determine WHERE in the pipeline the bug originated.
157
+
158
+ ### The 4 Error Categories
159
+
160
+ | Category | What's Wrong | Where to Check | Fixable Locally? |
161
+ | -------- | ---------------------------------------------------- | ------------------------- | ---------------------- |
162
+ | **1** | Missing attribute in `isolatedDataStructure` | `entities.metadata` | Sometimes (re-analyze) |
163
+ | **2** | Attribute not merged into `mergedDataStructure` | `analyses.metadata` | Sometimes (re-analyze) |
164
+ | **3** | Data structure complete, but scenario data wrong | `scenarios.metadata` | Yes (edit mockData) |
165
+ | **4** | Data complete, but mock code/mock data written wrong | Generated files in `/tmp` | **No (engine bug)** |
166
+
167
+ ### Diagnostic Queries
168
+
169
+ ```bash
170
+ # Category 1: Check isolatedDataStructure
171
+ # Is the attribute traced at all in the entity?
172
+ sqlite3 .codeyam/db.sqlite3 \
173
+ "SELECT json_extract(metadata, '$.isolatedDataStructure') FROM entities WHERE sha = 'ENTITY_SHA'" \
174
+ | python3 -m json.tool
175
+
176
+ # Category 2: Check mergedDataStructure
177
+ # Was the attribute properly merged from dependencies?
178
+ sqlite3 .codeyam/db.sqlite3 \
179
+ "SELECT json_extract(metadata, '$.mergedDataStructure') FROM analyses WHERE id = 'ANALYSIS_ID'" \
180
+ | python3 -m json.tool
181
+
182
+ # Category 2 (also check): scenariosDataStructure
183
+ sqlite3 .codeyam/db.sqlite3 \
184
+ "SELECT json_extract(metadata, '$.scenariosDataStructure') FROM analyses WHERE id = 'ANALYSIS_ID'" \
185
+ | python3 -m json.tool
186
+
187
+ # Category 3: Check scenario mockData
188
+ # Did the LLM generate correct mock data?
189
+ sqlite3 .codeyam/db.sqlite3 \
190
+ "SELECT json_extract(metadata, '$.data.mockData') FROM scenarios WHERE id = 'SCENARIO_ID'" \
191
+ | python3 -m json.tool
192
+ ```
193
+
194
+ ### Diagnosis Flow
195
+
196
+ 1. **Start with the error** - What attribute/value is missing or wrong at runtime?
197
+ 2. **Check `isolatedDataStructure`** - Is the attribute traced in the entity? If missing → Category 1
198
+ 3. **Check `mergedDataStructure`** - Is the attribute present after merging? If missing → Category 2
199
+ 4. **Check `scenariosDataStructure`** - Is the data structure for mocks correct? If wrong → Category 2
200
+ 5. **Check scenario `mockData`** - Does the scenario have correct mock values? If wrong → Category 3
201
+ 6. **Check generated mock code** - Is the mock code syntactically/semantically correct? If wrong → **Category 4 (engine bug)**
202
+
203
+ ### Category 4 Indicators (Engine Bug)
204
+
205
+ The issue is Category 4 if:
206
+
207
+ - All data structures in the database look correct
208
+ - The scenario's mockData has the right keys and values
209
+ - BUT the generated mock code has syntax errors, wrong structure, or doesn't match the data
210
+ - Database edits don't fix the generated code (it regenerates wrong)
211
+
212
+ ---
213
+
214
+ ## Step 4: Attempt Fix
215
+
216
+ ### For Categories 1-2 (Data Structure Issues)
217
+
218
+ These usually require re-running analysis. You can try:
219
+
220
+ ```bash
221
+ # Delete the analysis and re-analyze
222
+ codeyam analyze --entity EntityName path/to/file.tsx
223
+ ```
224
+
225
+ ### For Category 3 (Scenario Data Issues)
226
+
227
+ Fix the mockData directly in the database:
228
+
229
+ ```bash
230
+ # Export metadata
231
+ sqlite3 .codeyam/db.sqlite3 "SELECT metadata FROM scenarios WHERE id = 'SCENARIO_ID'" > /tmp/metadata.json
232
+
233
+ # Edit with Python
234
+ python3 << 'EOF'
235
+ import json
236
+ with open('/tmp/metadata.json') as f:
237
+ data = json.loads(f.read())
238
+
239
+ # Fix the mockData
240
+ data['data']['mockData']['keyName'] = {"fixed": "value"}
241
+
242
+ with open('/tmp/metadata_fixed.json', 'w') as f:
243
+ f.write(json.dumps(data))
244
+ EOF
245
+
246
+ # Update database (use Python to avoid escaping issues)
247
+ python3 << 'EOF'
248
+ import sqlite3
249
+ import json
250
+
251
+ with open('/tmp/metadata_fixed.json') as f:
252
+ metadata = f.read()
253
+
254
+ conn = sqlite3.connect('.codeyam/db.sqlite3')
255
+ conn.execute("UPDATE scenarios SET metadata = ? WHERE id = 'SCENARIO_ID'", (metadata,))
256
+ conn.commit()
257
+ conn.close()
258
+ EOF
259
+ ```
260
+
261
+ ### For Category 4 (Code Generation Issues)
262
+
263
+ **CAN be fixed locally by editing files in the tmp folder!** See Step 5a below.
264
+
265
+ After fixing, use `codeyam recapture --capture-only` to capture without regenerating the (now-fixed) files.
266
+
267
+ ### Universal Mocks (for infrastructure dependencies)
268
+
269
+ You can use universal mocks to mock out functions that are not detected by the analysis (are not part of the dependency tree). This often includes things like middleware or functions that run on startup and require environment variables.
270
+
271
+ ## Quick Reference: Mock Path Decision Tree
272
+
273
+ ```
274
+ Where is the error coming from?
275
+
276
+ ├── node_modules package (e.g., @prisma/client, @supabase/supabase-js)
277
+ │ └── Mock path: .codeyam/universal-mocks/node_modules/{package}.ts
278
+ │ Example: .codeyam/universal-mocks/node_modules/@prisma/client.ts
279
+
280
+ └── Project file (e.g., lib/db.ts, packages/prisma/index.ts)
281
+ └── Mock path: .codeyam/universal-mocks/{same-path-as-original}
282
+ Example: .codeyam/universal-mocks/lib/db.ts
283
+ Example: .codeyam/universal-mocks/packages/prisma/index.ts
284
+ ```
285
+
286
+ ## Quick Reference: Mock Writing Rules
287
+
288
+ **BEFORE writing any mock:**
289
+
290
+ 1. Read the original file first
291
+ 2. Note all its export names exactly
292
+
293
+ **WHEN writing the mock:**
294
+
295
+ 1. Export names MUST match exactly (case-sensitive)
296
+ 2. ALL code MUST be inside exports (no helper variables outside)
297
+ 3. Keep it minimal - empty methods are fine
298
+
299
+ **AFTER writing the mock:**
300
+
301
+ ```bash
302
+ codeyam validate-mock .codeyam/universal-mocks/{path-to-your-mock}
303
+ ```
304
+
305
+ ---
306
+
307
+ ## Step 5: Verify Database Fixes Locally
308
+
309
+ After making **database changes** (Categories 1-3):
310
+
311
+ 1. **Re-run `codeyam debug ID`** to regenerate scenario files with updated data
312
+ 2. **Start the dev server** and curl the URL to check for errors:
313
+ ```bash
314
+ curl -s http://localhost:3112/static/... | head -50
315
+ ```
316
+ 3. **Check for 200 response** (no `statusCode:500`)
317
+
318
+ **If verification fails and you've already tried database fixes:** Proceed to Step 5a to fix code directly.
319
+
320
+ ---
321
+
322
+ ## Step 5a: Fix Code Issues in Tmp Folder (Category 4)
323
+
324
+ If the error is in generated code or mock files, you can fix them directly in the tmp folder:
325
+
326
+ ### Locate the Problematic File
327
+
328
+ Files are in `/tmp/codeyam/local-dev/{slug}/project/`. Common locations:
329
+
330
+ - **Generated mocks**: `__codeyamMocks__/MockData_*.tsx` or `__codeyamMocks__/MockCode_*.tsx`
331
+ - **Scenario layouts**: `app/static/{projectSlug}/{analysisId}/{entitySlug}/{scenarioSlug}/`
332
+ - **Route files**: `app/routes/` or `pages/` depending on framework
333
+
334
+ ### Make the Fix
335
+
336
+ Edit the problematic file directly using the Edit tool. Common fixes include:
337
+
338
+ - **Syntax errors**: Fix missing brackets, commas, or quotes in generated code
339
+ - **Wrong import paths**: Correct import statements
340
+ - **Missing exports**: Add missing named or default exports
341
+ - **Type errors**: Fix TypeScript type issues
342
+ - **Wrong mock structure**: Adjust the shape of generated mock data
343
+
344
+ ### Track Your Changes (MANDATORY)
345
+
346
+ For every file you edit, record:
347
+
348
+ - The full file path
349
+ - What you changed (brief description)
350
+ - The before/after code (for the final report)
351
+
352
+ ### Verify Without Regenerating
353
+
354
+ After editing files, **do NOT run `codeyam debug` again** (it would overwrite your changes).
355
+
356
+ Instead, manually start the dev server:
357
+
358
+ ```bash
359
+ cd /tmp/codeyam/local-dev/{slug}/project
360
+ npm run dev # or pnpm dev / yarn dev
361
+ ```
362
+
363
+ Then curl the scenario URL to verify the fix works:
364
+
365
+ ```bash
366
+ curl -s http://localhost:3112/static/codeyam-sample | head -50
367
+ ```
368
+
369
+ ---
370
+
371
+ ## Change Tracking (MANDATORY)
372
+
373
+ **You MUST track all changes for the final report.** This is essential for the CodeYam team to fix engine bugs.
374
+
375
+ ### Database Changes
376
+
377
+ For each database modification, record:
378
+
379
+ | Table | Record ID | Field Path | Before | After |
380
+ | ----------- | --------- | ---------------------------- | --------- | ----------- |
381
+ | `scenarios` | `abc123` | `metadata.data.mockData.key` | `"wrong"` | `"correct"` |
382
+
383
+ ### File Changes
384
+
385
+ For each file modification in the tmp folder, record:
386
+
387
+ | File Path | Change Description |
388
+ | ---------------------------------------------------- | ------------------------------------- |
389
+ | `/tmp/.../project/__codeyamMocks__/MockData_xyz.tsx` | Fixed missing comma in object literal |
390
+
391
+ Include the actual diff:
392
+
393
+ ```diff
394
+ --- before
395
+ +++ after
396
+ @@ -10,3 +10,3 @@
397
+ - key: "value"
398
+ + key: "value",
399
+ anotherKey: "value2"
400
+ ```
401
+
402
+ ---
403
+
404
+ ## Step 6: Recapture Screenshots
405
+
406
+ **Only proceed here if Step 5 or 5a verification passed.**
407
+
408
+ ### Choose the Right Recapture Mode
409
+
410
+ **If you only made DATABASE changes (Categories 1-3):**
411
+
412
+ ```bash
413
+ codeyam recapture SCENARIO_ID
414
+ ```
415
+
416
+ This will regenerate the tmp folder files using the updated database data, then capture screenshots.
417
+
418
+ **If you made FILE changes in the tmp folder (Category 4):**
419
+
420
+ ```bash
421
+ codeyam recapture SCENARIO_ID --capture-only
422
+ ```
423
+
424
+ **CRITICAL**: The `--capture-only` flag preserves your manual file fixes. Without this flag, your changes would be overwritten!
425
+
426
+ ### Verify Files After Capture
427
+
428
+ ```bash
429
+ # Check database for screenshot paths
430
+ sqlite3 .codeyam/db.sqlite3 "SELECT name, json_extract(metadata, '$.screenshotPaths') FROM scenarios WHERE analysis_id = 'ANALYSIS_ID'"
431
+
432
+ # Verify files actually exist
433
+ find .codeyam/captures -name "*.png" -path "*ANALYSIS_ID*" -mmin -5
434
+ ```
435
+
436
+ ---
437
+
438
+ ## Step 7: Verify Screenshots for Client-Side Errors
439
+
440
+ **IMPORTANT**: Even if capture completes successfully, the screenshots may show client-side errors!
441
+
442
+ ### View the Screenshots
443
+
444
+ Use the Read tool to view each captured screenshot file:
445
+
446
+ ```bash
447
+ # Get the screenshot path from the database
448
+ sqlite3 .codeyam/db.sqlite3 "SELECT json_extract(metadata, '$.screenshotPaths[0]') FROM scenarios WHERE id = 'SCENARIO_ID'"
449
+ ```
450
+
451
+ Then read the screenshot file to visually inspect it.
452
+
453
+ ### Check for These Issues
454
+
455
+ - **Red error boundaries** or React error overlays
456
+ - **"Something went wrong"** or similar error text
457
+ - **Blank/white screens** that should have content
458
+ - **Missing components** or broken layouts
459
+ - **Console errors** shown in error overlays
460
+
461
+ ### If Screenshot Shows Errors
462
+
463
+ 1. The fix didn't fully work - go back to Step 5 or 5a
464
+ 2. Check the log file for additional error details:
465
+ ```bash
466
+ tail -100 /tmp/codeyam/local-dev/{slug}/codeyam/log.txt
467
+ ```
468
+ 3. Fix the remaining issues
469
+ 4. Run recapture again (with `--capture-only` if you edited files)
470
+
471
+ ---
472
+
473
+ ## Final Debug Report (MANDATORY)
474
+
475
+ **Always produce this report**, whether the issue was fixed or identified as an engine bug.
476
+
477
+ ---
478
+
479
+ ## Debug Session Report
480
+
481
+ ### Issue Summary
482
+
483
+ **Error:** `[Exact error message, e.g., "Transform failed: Unexpected token at line 66"]`
484
+
485
+ **Entity:** `[Entity name]` in `[file/path.tsx]`
486
+
487
+ **Root Cause Category:** [1, 2, 3, or 4]
488
+
489
+ **Outcome:** [Fixed via database changes / Fixed via file edits (engine bug) / Unfixable]
490
+
491
+ ### Affected Scenarios
492
+
493
+ | Scenario ID | Name | Analysis ID | Status |
494
+ | ----------- | -------- | --------------- | -------------------- |
495
+ | `[id]` | `[name]` | `[analysis-id]` | [Fixed / Engine bug] |
496
+
497
+ ### Root Cause Category Determination
498
+
499
+ **Category identified:** [1 / 2 / 3 / 4]
500
+
501
+ **Evidence:**
502
+
503
+ - [ ] **Category 1** (isolatedDataStructure): [What was missing/wrong in entity metadata?]
504
+ - [ ] **Category 2** (mergedDataStructure): [What was missing/wrong after merge?]
505
+ - [ ] **Category 3** (scenario mockData): [What was wrong in the LLM-generated data?]
506
+ - [ ] **Category 4** (mock code writing): [What was wrong in the generated code?]
507
+
508
+ **How determined:**
509
+ [Explain what you checked and what you found. Include relevant JSON snippets.]
510
+
511
+ ### Database Changes Made (if any)
512
+
513
+ | Table | Record ID | Field Path | Before | After |
514
+ | --------- | --------- | ---------- | ------------- | ------------- |
515
+ | `[table]` | `[id]` | `[path]` | `[old value]` | `[new value]` |
516
+
517
+ **SQL/Python commands used:**
518
+
519
+ ```sql
520
+ [Include the exact commands]
521
+ ```
522
+
523
+ ### File Changes Made (if any)
524
+
525
+ If you edited files in the tmp folder to fix Category 4 issues:
526
+
527
+ | File Path | Change Description |
528
+ | -------------------------------------------------------- | -------------------------- |
529
+ | `/tmp/codeyam/local-dev/{slug}/project/path/to/file.tsx` | [Brief description of fix] |
530
+
531
+ **Diffs:**
532
+
533
+ ```diff
534
+ --- before
535
+ +++ after
536
+ @@ -line,count +line,count @@
537
+ -[old code]
538
+ +[new code]
539
+ ```
540
+
541
+ **Recapture command used:**
542
+
543
+ ```bash
544
+ codeyam recapture SCENARIO_ID --capture-only
545
+ ```
546
+
547
+ ### For Category 4 (Code Generation Bug) - Required Details
548
+
549
+ If this is an engine bug, include:
550
+
551
+ **What the data looks like (correct):**
552
+
553
+ ```json
554
+ [Show the relevant data structure from the database that looks correct]
555
+ ```
556
+
557
+ **What the generated code looks like (wrong):**
558
+
559
+ ```javascript
560
+ [Show the problematic generated mock code]
561
+ ```
562
+
563
+ **What the generated code should look like:**
564
+
565
+ ```javascript
566
+ [Show what correct code would look like]
567
+ ```
568
+
569
+ **Pattern/Edge case:**
570
+ [Describe the pattern that causes this bug, e.g., "Function call signatures like '()' in array item schemas get converted to empty computed property keys"]
571
+
572
+ ### Verification
573
+
574
+ - [ ] Scenario loads without errors (curl returns 200)
575
+ - [ ] Screenshots recaptured successfully
576
+ - [ ] Used `--capture-only` flag (if file changes were made)
577
+ - [ ] Screenshot files verified to exist on disk
578
+ - [ ] Screenshots visually inspected - no client-side errors visible
579
+ - [ ] All changes documented above for CodeYam team
580
+
581
+ ---
582
+
583
+ ## Saving and Uploading the Report (MANDATORY)
584
+
585
+ After completing the debug session, **you MUST save the report**:
586
+
587
+ 1. **Write the report to file:**
588
+
589
+ ```bash
590
+ # Write the full "Debug Session Report" section above to this file
591
+ # Use the Write tool to save to:
592
+ .codeyam/debug-report.md
593
+ ```
594
+
595
+ 2. **Ask user if they want to upload:**
596
+ After saving, ask the user: "Would you like to upload this debug report to CodeYam for the team to review? Run: `codeyam report --upload`"
597
+
598
+ The report will be:
599
+
600
+ - Included in the delta tarball at the root level for easy access
601
+ - Stored in the database metadata for searchability
602
+ - Available to CodeYam engineers when they download the report
603
+
604
+ ---
605
+
606
+ ### Helper Queries
607
+
608
+ ```bash
609
+ # Get scenario details
610
+ sqlite3 .codeyam/db.sqlite3 "SELECT id, analysis_id, name FROM scenarios WHERE id = 'ID'"
611
+
612
+ # Get entity for analysis
613
+ sqlite3 .codeyam/db.sqlite3 "SELECT e.name, e.file_path FROM entities e JOIN analyses a ON e.sha = a.entity_sha WHERE a.id = 'ANALYSIS_ID'"
614
+
615
+ # List all scenarios for an analysis
616
+ sqlite3 .codeyam/db.sqlite3 "SELECT id, name FROM scenarios WHERE analysis_id = 'ANALYSIS_ID'"
617
+
618
+ # Check for dependent analyses
619
+ sqlite3 .codeyam/db.sqlite3 "SELECT json_extract(metadata, '$.dependentAnalyses') FROM analyses WHERE id = 'ANALYSIS_ID'" | python3 -m json.tool
620
+ ```