@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
@@ -58,24 +58,138 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
58
58
  const signatureSchema = dependencySchema?.signatureSchema;
59
59
  if (!signatureSchema)
60
60
  return;
61
- const sourceEquivalencies = dependencySchema?.sourceEquivalencies ?? {};
61
+ // Get sourceEquivalencies from the dependent analysis's mergedDataStructure,
62
+ // not from dependencySchemas (which doesn't store them)
63
+ const sourceEquivalencies = dependentAnalysis?.metadata?.mergedDataStructure?.sourceEquivalencies ??
64
+ {};
65
+ // Build a fallback mapping from parent's usageEquivalencies
66
+ // This helps when the child's sourceEquivalencies don't have a mapping
67
+ // For example, if parent passes `entity` to child's `signature[0]`,
68
+ // usageEquivalencies might have: entity -> [{schemaPath: 'signature[0]', scopeNodeName: entityName}]
69
+ const usageEquivalencies = mergedDataStructure?.usageEquivalencies ?? {};
70
+ const signatureToParentPath = {};
71
+ for (const parentPath in usageEquivalencies) {
72
+ const usages = usageEquivalencies[parentPath];
73
+ for (const usage of usages) {
74
+ if (usage.scopeNodeName !== entityName)
75
+ continue;
76
+ // Extract signature path from schemaPath
77
+ // Format can be:
78
+ // 1. "functionName(args).signature[N]" or "functionName(args).signature[N].property" (real data)
79
+ // 2. "signature[N]" or "signature[N].property" (simplified/test format)
80
+ let signaturePath;
81
+ const signatureIndex = usage.schemaPath.indexOf('.signature[');
82
+ if (signatureIndex !== -1) {
83
+ // Full format: extract "signature[N]" or "signature[N].property" after the dot
84
+ signaturePath = usage.schemaPath.slice(signatureIndex + 1);
85
+ }
86
+ else if (usage.schemaPath.startsWith('signature[')) {
87
+ // Simplified format: already starts with signature[
88
+ signaturePath = usage.schemaPath;
89
+ }
90
+ else {
91
+ continue;
92
+ }
93
+ // Map child's signature path to parent's path
94
+ // e.g., 'signature[0]' -> 'entity'
95
+ signatureToParentPath[signaturePath] = parentPath;
96
+ }
97
+ }
62
98
  // If sourceEquivalencies is empty but the child has mocked imports,
63
- // propagate key attributes directly since they affect the parent's visual output
99
+ // only propagate key attributes that come from mocked data sources
100
+ // (not props that the parent passes to the child)
64
101
  if (Object.keys(sourceEquivalencies).length === 0) {
65
- // Check both importedExports and nodeModuleImports for mocked imports
102
+ // Collect names of mocked imports
66
103
  const importedExports = dependentAnalysis.entity?.metadata?.importedExports ?? [];
67
104
  const nodeModuleImports = dependentAnalysis.entity?.metadata?.nodeModuleImports ?? {};
68
- const hasMockedImportedExports = importedExports.some((imp) => imp.isMocked);
69
- const hasMockedNodeModuleImports = Object.values(nodeModuleImports).some((imports) => imports?.some((imp) => imp.isMocked));
70
- const childHasMockedImports = hasMockedImportedExports || hasMockedNodeModuleImports;
71
- if (childHasMockedImports) {
105
+ const mockedImportNames = new Set();
106
+ // Collect mocked names from importedExports
107
+ for (const imp of importedExports) {
108
+ if (imp.isMocked) {
109
+ mockedImportNames.add(imp.name);
110
+ }
111
+ }
112
+ // Collect mocked names from nodeModuleImports
113
+ for (const imports of Object.values(nodeModuleImports)) {
114
+ for (const imp of imports) {
115
+ if (imp.isMocked) {
116
+ mockedImportNames.add(imp.name);
117
+ }
118
+ }
119
+ }
120
+ if (mockedImportNames.size > 0) {
72
121
  for (const dependentKeyAttribute of dependentKeyAtttributes) {
73
- relevantDependentKeyAttributes.push({
74
- ...dependentKeyAttribute,
75
- dependentEntityName: entityName,
76
- originalEntityName: entityName,
77
- filePath: path,
78
- });
122
+ // Include key attributes that come from controllable data sources:
123
+ // 1. Mocked data sources (like getScenarioDisplayState())
124
+ // 2. Arguments/props passed to the child (signature[N].*)
125
+ // Exclude attributes that are clearly just the prop name itself (like "size")
126
+ const externalPath = dependentKeyAttribute.externalPath || '';
127
+ const dataStructurePath = dependentKeyAttribute.dataStructurePath || '';
128
+ const comesFromMockedSource = Array.from(mockedImportNames).some((mockedName) => externalPath.includes(`${mockedName}(`) ||
129
+ externalPath.includes(`${mockedName}.`) ||
130
+ dataStructurePath.includes(`${mockedName}(`) ||
131
+ dataStructurePath.includes(`${mockedName}.`) ||
132
+ dataStructurePath.startsWith(mockedName));
133
+ // Check if it comes from an argument (signature[N].something.deeper)
134
+ // but not just a simple prop like "size" or "isOutdated"
135
+ const comesFromArgument = externalPath.startsWith('signature[') &&
136
+ // Must have nested path (at least one dot after the prop name)
137
+ // e.g., signature[0].scenario.metadata.* is OK
138
+ // but signature[0].size is not (it's just a simple prop)
139
+ (externalPath.match(/\./g) || []).length >= 2;
140
+ if (comesFromMockedSource || comesFromArgument) {
141
+ relevantDependentKeyAttributes.push({
142
+ ...dependentKeyAttribute,
143
+ dependentEntityName: entityName,
144
+ originalEntityName: entityName,
145
+ filePath: path,
146
+ });
147
+ }
148
+ }
149
+ return;
150
+ }
151
+ // No mocked imports, try usageEquivalencies fallback for direct argument usage
152
+ if (Object.keys(signatureToParentPath).length > 0) {
153
+ for (const dependentKeyAttribute of dependentKeyAtttributes) {
154
+ if (!dependentKeyAttribute.externalPath?.startsWith('signature['))
155
+ continue;
156
+ const dependentKeyAttributeExternalPathParts = splitOutsideParenthesesAndArrays(dependentKeyAttribute.externalPath);
157
+ // Try to find a matching signature path
158
+ for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
159
+ const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
160
+ if (signatureToParentPath[subExternalPath]) {
161
+ const parentPath = signatureToParentPath[subExternalPath];
162
+ // parentPath is already in parent's schema format (e.g., "signature[0].entity" or just "entity")
163
+ // We need to handle both cases
164
+ const parentPathStartsWithSignature = parentPath.startsWith('signature[');
165
+ let externalPath = parentPathStartsWithSignature
166
+ ? parentPath
167
+ : `signature[0].${parentPath}`;
168
+ // internalPath is parentPath without the signature[N]. prefix
169
+ let internalPath = parentPathStartsWithSignature
170
+ ? parentPath.replace(/^signature\[\d+\]\./, '')
171
+ : parentPath;
172
+ if (i < dependentKeyAttributeExternalPathParts.length) {
173
+ const remainingPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(i));
174
+ externalPath = `${externalPath}.${remainingPath}`;
175
+ internalPath = `${internalPath}.${remainingPath}`;
176
+ }
177
+ // Look up in associationMap for proper internal path
178
+ if (associationMap[externalPath]) {
179
+ internalPath = associationMap[externalPath];
180
+ }
181
+ relevantDependentKeyAttributes.push({
182
+ ...dependentKeyAttribute,
183
+ dependentEntityName: entityName,
184
+ originalEntityName: entityName,
185
+ filePath: path,
186
+ internalPath,
187
+ externalPath,
188
+ dataStructurePath: internalPath,
189
+ });
190
+ break;
191
+ }
192
+ }
79
193
  }
80
194
  }
81
195
  return;
@@ -83,16 +197,16 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
83
197
  for (const dependentKeyAttribute of dependentKeyAtttributes) {
84
198
  const dependentKeyAttributeExternalPathParts = splitOutsideParenthesesAndArrays(dependentKeyAttribute.externalPath);
85
199
  let matchFound = false;
200
+ // First, try to match using child's sourceEquivalencies
86
201
  for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
87
202
  const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
88
- for (const sourceEquivalencyPath in dependencySchema?.sourceEquivalencies ??
89
- {}) {
203
+ // Use the sourceEquivalencies from the child's analysis
204
+ for (const sourceEquivalencyPath in sourceEquivalencies) {
90
205
  const sourceEquivalencyPathParts = splitOutsideParenthesesAndArrays(sourceEquivalencyPath);
91
206
  const relevantSourceEquivalencyPath = joinParenthesesAndArrays(sourceEquivalencyPathParts.slice(1));
92
207
  if (relevantSourceEquivalencyPath !== subExternalPath)
93
208
  continue;
94
- const sourcePath = dependencySchema?.sourceEquivalencies[sourceEquivalencyPath][0]
95
- ?.schemaPath;
209
+ const sourcePath = sourceEquivalencies[sourceEquivalencyPath][0]?.schemaPath;
96
210
  if (!sourcePath)
97
211
  continue;
98
212
  let externalPath = sourcePath;
@@ -121,6 +235,8 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
121
235
  filePath: path, // File path for restructuring into nested format
122
236
  internalPath,
123
237
  externalPath,
238
+ // Transform dataStructurePath to parent's path structure
239
+ dataStructurePath: internalPath,
124
240
  });
125
241
  matchFound = true;
126
242
  break;
@@ -128,6 +244,52 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
128
244
  if (matchFound)
129
245
  break;
130
246
  }
247
+ // Fallback: if no sourceEquivalency match, try using parent's usageEquivalencies
248
+ // This handles direct argument usage like entity.entityType
249
+ if (!matchFound &&
250
+ dependentKeyAttribute.externalPath?.startsWith('signature[')) {
251
+ // Try to find a matching signature path in the usageEquivalencies-derived map
252
+ for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
253
+ const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
254
+ if (signatureToParentPath[subExternalPath]) {
255
+ const parentPath = signatureToParentPath[subExternalPath];
256
+ // parentPath is already in parent's schema format (e.g., "signature[0].entity" or just "entity")
257
+ // We need to handle both cases
258
+ const parentPathStartsWithSignature = parentPath.startsWith('signature[');
259
+ let externalPath = parentPathStartsWithSignature
260
+ ? parentPath
261
+ : `signature[0].${parentPath}`;
262
+ // internalPath is parentPath without the signature[N]. prefix
263
+ let internalPath = parentPathStartsWithSignature
264
+ ? parentPath.replace(/^signature\[\d+\]\./, '')
265
+ : parentPath;
266
+ if (i < dependentKeyAttributeExternalPathParts.length) {
267
+ const remainingPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(i));
268
+ externalPath = `${externalPath}.${remainingPath}`;
269
+ internalPath = `${internalPath}.${remainingPath}`;
270
+ }
271
+ // Look up the full external path in associationMap for proper internal path
272
+ const fullExternalPath = externalPath;
273
+ if (associationMap[fullExternalPath]) {
274
+ internalPath = associationMap[fullExternalPath];
275
+ }
276
+ const dependentEntityName = dependentKeyAttribute.dependentEntityName
277
+ ? `${dependentKeyAttribute.dependentEntityName} (through ${entityName})`
278
+ : entityName;
279
+ relevantDependentKeyAttributes.push({
280
+ ...dependentKeyAttribute,
281
+ dependentEntityName,
282
+ originalEntityName: entityName,
283
+ filePath: path,
284
+ internalPath,
285
+ externalPath,
286
+ dataStructurePath: internalPath,
287
+ });
288
+ matchFound = true;
289
+ break;
290
+ }
291
+ }
292
+ }
131
293
  }
132
294
  });
133
295
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gatherRelevantDependentKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gatherRelevantDependentKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { awsLog } from "../../../../packages/utils/index.js";
5
5
  import { DEFAULT_LARGER_MODEL } from "../../../../packages/ai/index.js";
6
6
  import isFrontend from "./isFrontend.js";
7
7
  import { gatherAttributesMap } from "./promptGenerators/gatherAttributesMap.js";
8
+ import { formatConditionalUsagesForPrompt } from "./getConditionalUsagesFromCode.js";
8
9
  export default async function generateChangesEntityKeyAttributes({ entity, existingKeyAttributes, analysis, commitDiff, model, }) {
9
10
  awsLog(`CodeYam: Generating entity key attributes`, {
10
11
  filePath: entity.filePath,
@@ -16,11 +17,16 @@ export default async function generateChangesEntityKeyAttributes({ entity, exist
16
17
  const mergedDataStructure = analysis.metadata.mergedDataStructure;
17
18
  const equivalentSignatureVariables = isolatedDataStructure?.equivalentSignatureVariables ?? {};
18
19
  const { attributesMap, associationMap, dataStructurePathMap } = gatherAttributesMap(isolatedDataStructure ?? mergedDataStructure, mergedDataStructure, equivalentSignatureVariables, true);
20
+ // Use pre-computed conditional usages from metadata for static analysis context
21
+ const conditionalUsages = isolatedDataStructure?.conditionalUsages ?? {};
22
+ const compoundConditionals = isolatedDataStructure?.compoundConditionals ?? [];
23
+ const staticAnalysisContext = formatConditionalUsagesForPrompt(conditionalUsages, compoundConditionals);
19
24
  const prompt = generateEntityKeyAttributesGenerator({
20
25
  code: entity.code,
21
26
  attributesMap,
22
27
  existingKeyAttributes,
23
28
  commitDiff,
29
+ staticAnalysisContext,
24
30
  });
25
31
  const response = await completionCall({
26
32
  type: `generateChangesEntityKeyAttributes`,
@@ -1 +1 @@
1
- {"version":3,"file":"generateChangesEntityKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityKeyAttributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateChangesEntityKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityKeyAttributes.ts"],"names":[],"mappings":"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"}
@@ -196,7 +196,16 @@ Focus scenario updates on demonstrating this change.${scenarioCount ? ` Generate
196
196
  : '';
197
197
  return `You are updating data scenarios after a code change. Determine which existing scenarios need updating, which should be removed, and if new ones are needed.
198
198
 
199
- ${contextSection}## Update Rules
199
+ ${contextSection}## Coverage Goals (IMPORTANT)
200
+ Your primary goal is to MAXIMIZE coverage of key attributes across all scenarios:
201
+
202
+ 1. **Use indexed validValueOptions**: Each key attribute has indexed \`validValueOptions\` (with \`index\` and \`value\`). Reference these by index in your valueOptionRef.
203
+
204
+ 2. **Prioritize attributes with dependencies**: Key attributes with a \`dependencies\` array control conditionally-rendered content. Satisfy these dependencies to reveal gated UI/behavior.
205
+
206
+ 3. **Cover conditional branches**: Use \`codeUsages\` to identify all conditional paths that need coverage.
207
+
208
+ ## Update Rules
200
209
 
201
210
  ### Removed Key Attributes
202
211
  - Update scenarios using removed attributes—replace with new attributes or remove if no longer relevant
@@ -205,6 +214,7 @@ ${contextSection}## Update Rules
205
214
 
206
215
  ### Added Key Attributes
207
216
  - Create or update scenarios to demonstrate new behavior
217
+ - Use different validValueOption indices than existing scenarios to maximize coverage
208
218
 
209
219
  ### Playwright Instructions
210
220
  - Validate existing instructions still work after code changes
@@ -216,7 +226,26 @@ ${contextSection}## Update Rules
216
226
  ### Default Scenario
217
227
  - First scenario must be "${DEFAULT_SCENARIO_NAME}" (exact name)
218
228
  - NEVER include playwrightInstructions—captures initial state only
219
- - Must include all current key attributes with valid values
229
+ - Must include all current key attributes with valid values from their validValueOptions
230
+
231
+ ## keyAttributeInstructions Format
232
+ Use \`dataStructurePath\` as key. Include variable name, instruction, AND a valueOptionRef that references which validValueOption you're using:
233
+ \`\`\`json
234
+ {
235
+ "useStatus().status": {
236
+ "localVariable": "status",
237
+ "instruction": "Set to 'active' mode",
238
+ "valueOptionRef": { "index": 0, "refType": "exact" }
239
+ }
240
+ }
241
+ \`\`\`
242
+
243
+ ### valueOptionRef Types
244
+ - \`"exact"\`: Uses the validValueOption at this index exactly
245
+ - \`"derived"\`: Based on this validValueOption but modified (include \`derivation\` field explaining how)
246
+ - \`"custom"\`: Value not from validValueOptions list (use sparingly)
247
+
248
+ The \`index\` refers to the validValueOptions array position (0 = first option).
220
249
 
221
250
  ## Response Format
222
251
 
@@ -240,7 +269,11 @@ Otherwise:
240
269
  "testName": "it(\\"shows empty message when no notifications\\")",
241
270
  "description": "User has no notifications.",
242
271
  "keyAttributeInstructions": {
243
- "notifications[]": { "localVariable": "notifications[]", "instruction": "Empty array" }
272
+ "useData().notifications[]": {
273
+ "localVariable": "notifications[]",
274
+ "instruction": "Empty array [] to show empty state",
275
+ "valueOptionRef": { "index": 1, "refType": "exact" }
276
+ }
244
277
  }
245
278
  }
246
279
  ]
@@ -250,7 +283,7 @@ Otherwise:
250
283
  ## Rules
251
284
  - Scenario names: letters, numbers, spaces only
252
285
  - testName: Jest style with specific expectations
253
- - Use values from \`validValueOptions\` in key attributes list
286
+ - Use values from \`validValueOptions\` in key attributes list (reference by index)
254
287
  - Include dependency key attributes if dependencies involved
255
288
  - React elements: simple only (\`<div>\`, \`<span>\`)
256
289
  - No external library references—plain JS/TS values
@@ -1 +1 @@
1
- {"version":3,"file":"generateChangesEntityScenarios.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityScenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateChangesEntityScenarios.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityScenarios.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import isolateScopes from "./isolateScopes.js";
2
2
  import analyzeScope from "./analyzeScope.js";
3
+ import { resetScopeDataStructureMetrics } from "./dataStructure/ScopeDataStructure.js";
3
4
  export default async function generateEntityDataStructure({ entity, fileAnalyzer, model, }) {
5
+ // Reset metrics counters to prevent false "infinite loop" detection when
6
+ // processing multiple entities in the same run
7
+ resetScopeDataStructureMetrics();
4
8
  // awsLog('CodeYam: Generating entity data structure', {
5
9
  // filePath: entity.filePath,
6
10
  // entityName: entity.name,
@@ -1 +1 @@
1
- {"version":3,"file":"generateEntityDataStructure.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityDataStructure.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAY1C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,2BAA2B,CAAC,EACxD,MAAM,EACN,YAAY,EACZ,KAAK,GAC2B;IAChC,wDAAwD;IACxD,+BAA+B;IAC/B,6BAA6B;IAC7B,iCAAiC;IACjC,MAAM;IAEN,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,WAAW,GACb,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9C,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACvD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAClD,CAAC;IACR,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,GAAG,CAAC,CAAC,GAAG,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,eAAe;QACf,gDAAgD;QAChD,MAAM;QACN,iCAAiC;QACjC,+BAA+B;QAC/B,iFAAiF;QACjF,MAAM;QACN,KAAK;QACL,mDAAmD;QACnD,kDAAkD;QAClD,4BAA4B;QAC5B,6CAA6C;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,CAAC;QACjB,MAAM;QACN,YAAY;QACZ,KAAK,EAAE,WAAW;QAClB,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CACV,mDAAmD,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CACvF,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,IAAI,gBAAgB,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAClD,OAAO,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,WAAW,CAAC,aAAa,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"generateEntityDataStructure.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityDataStructure.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AAUpF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,2BAA2B,CAAC,EACxD,MAAM,EACN,YAAY,EACZ,KAAK,GAC2B;IAChC,yEAAyE;IACzE,+CAA+C;IAC/C,8BAA8B,EAAE,CAAC;IAEjC,wDAAwD;IACxD,+BAA+B;IAC/B,6BAA6B;IAC7B,iCAAiC;IACjC,MAAM;IAEN,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,WAAW,GACb,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9C,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACvD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAClD,CAAC;IACR,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,GAAG,CAAC,CAAC,GAAG,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,eAAe;QACf,gDAAgD;QAChD,MAAM;QACN,iCAAiC;QACjC,+BAA+B;QAC/B,iFAAiF;QACjF,MAAM;QACN,KAAK;QACL,mDAAmD;QACnD,kDAAkD;QAClD,4BAA4B;QAC5B,6CAA6C;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,CAAC;QACjB,MAAM;QACN,YAAY;QACZ,KAAK,EAAE,WAAW;QAClB,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CACV,mDAAmD,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CACvF,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,IAAI,gBAAgB,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAClD,OAAO,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,WAAW,CAAC,aAAa,CAAC;AACnC,CAAC"}