@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,6 +1,11 @@
1
1
  import { Kysely } from 'kysely';
2
2
  import type { Generated, JSONColumnType } from 'kysely';
3
- interface DebugReportMetadata {
3
+ /**
4
+ * Metadata for a debug bundle upload.
5
+ * Note: "bundle" refers to the tarball upload (base + delta).
6
+ * The markdown "debug report" from /debug-codeyam is stored in feedback.debugReport.
7
+ */
8
+ interface DebugBundleMetadata {
4
9
  timestamp: string;
5
10
  git: {
6
11
  sha: string;
@@ -18,20 +23,22 @@ interface DebugReportMetadata {
18
23
  arch: string;
19
24
  };
20
25
  }
21
- declare const debugReportsSchema: {
26
+ declare const debugBundlesSchema: {
22
27
  readonly id: Generated<string>;
23
28
  readonly project_slug: string;
24
29
  readonly s3_key: string;
25
30
  readonly file_size_bytes: number;
26
- readonly metadata: JSONColumnType<DebugReportMetadata>;
31
+ readonly metadata: JSONColumnType<DebugBundleMetadata>;
27
32
  readonly status: string;
28
33
  readonly created_at: Generated<string>;
29
34
  readonly uploaded_at: string;
35
+ readonly base_sha: string;
36
+ readonly delta_size_bytes: number;
30
37
  };
31
- export type DebugReportsTable = {
32
- [K in keyof typeof debugReportsSchema]: (typeof debugReportsSchema)[K];
38
+ export type DebugBundlesTable = {
39
+ [K in keyof typeof debugBundlesSchema]: (typeof debugBundlesSchema)[K];
33
40
  };
34
- export declare const DebugReportsTableColumns: (keyof DebugReportsTable)[];
35
- export declare function createDebugReportsTable(db: Kysely<any>): Promise<void>;
41
+ export declare const DebugBundlesTableColumns: (keyof DebugBundlesTable)[];
42
+ export declare function createDebugBundlesTable(db: Kysely<any>): Promise<void>;
36
43
  export {};
37
44
  //# sourceMappingURL=debugReportsTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugReportsTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAIxD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,QAAA,MAAM,kBAAkB;;;;;;;;;CASd,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,MAAM,OAAO,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAEhC,CAAC,MAAM,iBAAiB,CAAC,EAAE,CAAC;AAEjC,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E"}
1
+ {"version":3,"file":"debugReportsTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAIxD;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAGD,QAAA,MAAM,kBAAkB;;;;;;;;;;;CAWd,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,MAAM,OAAO,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAEhC,CAAC,MAAM,iBAAiB,CAAC,EAAE,CAAC;AAEjC,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5E"}
@@ -1,5 +1,6 @@
1
1
  import { schemaField, defaultNow } from '../schemaHelpers';
2
- const debugReportsSchema = {
2
+ // Table name remains 'debug_reports' in the database for backwards compatibility
3
+ const debugBundlesSchema = {
3
4
  id: schemaField(),
4
5
  project_slug: schemaField(),
5
6
  s3_key: schemaField(),
@@ -8,9 +9,12 @@ const debugReportsSchema = {
8
9
  status: schemaField(),
9
10
  created_at: schemaField(),
10
11
  uploaded_at: schemaField(),
12
+ base_sha: schemaField(),
13
+ delta_size_bytes: schemaField(),
11
14
  };
12
- export const DebugReportsTableColumns = Object.keys(debugReportsSchema);
13
- export async function createDebugReportsTable(db) {
15
+ export const DebugBundlesTableColumns = Object.keys(debugBundlesSchema);
16
+ export async function createDebugBundlesTable(db) {
17
+ // Table name remains 'debug_reports' for backwards compatibility
14
18
  await db.schema
15
19
  .createTable('debug_reports')
16
20
  .addColumn('id', 'uuid', (col) => col.primaryKey())
@@ -21,6 +25,8 @@ export async function createDebugReportsTable(db) {
21
25
  .addColumn('status', 'varchar')
22
26
  .addColumn('created_at', 'datetime', defaultNow(true))
23
27
  .addColumn('uploaded_at', 'datetime')
28
+ .addColumn('base_sha', 'varchar')
29
+ .addColumn('delta_size_bytes', 'bigint')
24
30
  .ifNotExists()
25
31
  .execute();
26
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debugReportsTable.js","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAqB3D,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,WAAW,EAAqB;IACpC,YAAY,EAAE,WAAW,EAAU;IACnC,MAAM,EAAE,WAAW,EAAU;IAC7B,eAAe,EAAE,WAAW,EAAiB;IAC7C,QAAQ,EAAE,WAAW,EAA8C;IACnE,MAAM,EAAE,WAAW,EAAiB;IACpC,UAAU,EAAE,WAAW,EAAqB;IAC5C,WAAW,EAAE,WAAW,EAAiB;CACjC,CAAC;AAMX,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CACjD,kBAAkB,CACY,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAe;IAC3D,MAAM,EAAE,CAAC,MAAM;SACZ,WAAW,CAAC,eAAe,CAAC;SAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;SAC3E,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CACrE,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACtC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,gCAAgC;SAC9D,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;SACrD,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;SACpC,WAAW,EAAE;SACb,OAAO,EAAE,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"debugReportsTable.js","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0B3D,iFAAiF;AACjF,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,WAAW,EAAqB;IACpC,YAAY,EAAE,WAAW,EAAU;IACnC,MAAM,EAAE,WAAW,EAAU;IAC7B,eAAe,EAAE,WAAW,EAAiB;IAC7C,QAAQ,EAAE,WAAW,EAA8C;IACnE,MAAM,EAAE,WAAW,EAAiB;IACpC,UAAU,EAAE,WAAW,EAAqB;IAC5C,WAAW,EAAE,WAAW,EAAiB;IACzC,QAAQ,EAAE,WAAW,EAAiB;IACtC,gBAAgB,EAAE,WAAW,EAAiB;CACtC,CAAC;AAMX,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CACjD,kBAAkB,CACY,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAe;IAC3D,iEAAiE;IACjE,MAAM,EAAE,CAAC,MAAM;SACZ,WAAW,CAAC,eAAe,CAAC;SAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;SAC3E,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CACrE,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACtC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,gCAAgC;SAC9D,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;SACrD,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;SACpC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;SAChC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,EAAE,CAAC;AACf,CAAC"}
@@ -32,7 +32,7 @@ declare const scenariosSchema: {
32
32
  [key: string]: string | {
33
33
  localVariable: string;
34
34
  instruction: string;
35
- };
35
+ } | import("~codeyam/types").KeyAttributeValueReference;
36
36
  };
37
37
  data?: {
38
38
  mockData: {
@@ -1 +1 @@
1
- {"version":3,"file":"scenariosTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/scenariosTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAKxD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;eAqCW,CAAC;0BAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA3BtD,CAAC;AAGX,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,OAAO,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAE7B,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC;AAE9B,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAczE"}
1
+ {"version":3,"file":"scenariosTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/scenariosTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAKxD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;eAqCyuE,CAAC;0BAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA3BpxE,CAAC;AAGX,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,OAAO,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAE7B,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC;AAE9B,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAczE"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadReadyToBeCapturedAnalyses.d.ts","sourceRoot":"","sources":["../../../../../database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,MAAM,WAAW,iCAAiC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAA8B,6BAA6B,CACzD,MAAM,EAAE,iCAAiC,GACxC,OAAO,CAAC,QAAQ,EAAE,CAAC,CA8ErB"}
1
+ {"version":3,"file":"loadReadyToBeCapturedAnalyses.d.ts","sourceRoot":"","sources":["../../../../../database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,MAAM,WAAW,iCAAiC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAA8B,6BAA6B,CACzD,MAAM,EAAE,iCAAiC,GACxC,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+ErB"}
@@ -23,9 +23,11 @@ export default async function loadReadyToBeCapturedAnalyses(params) {
23
23
  .select(aliasedTableColumns('scenarios', ScenariosTableColumns))
24
24
  .whereRef('scenarios.analysis_id', '=', 'analyses.id')).as('scenarios'),
25
25
  ])
26
- .where(sql ` ${sql.ref('analyses.status')} -> 'readyToBeCaptured'`, '=', 'true')
26
+ .where(
27
+ // Use ->> to extract as text for proper comparison (-> returns JSONB which doesn't compare to string)
28
+ sql ` ${sql.ref('analyses.status')} ->> 'readyToBeCaptured'`, '=', 'true')
27
29
  // Exclude entities that are not exported - they cannot be captured because they can't be imported
28
- .where(sql `(${sql.ref('entities.metadata')} -> 'notExported') IS NULL OR (${sql.ref('entities.metadata')} -> 'notExported') != 'true'`);
30
+ .where(sql `(${sql.ref('entities.metadata')} ->> 'notExported') IS NULL OR (${sql.ref('entities.metadata')} ->> 'notExported') != 'true'`);
29
31
  if (projectId) {
30
32
  query = query.where('analyses.project_id', '=', projectId);
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loadReadyToBeCapturedAnalyses.js","sourceRoot":"","sources":["../../../../../database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadReadyToBeCapturedAnalyses.js","sourceRoot":"","sources":["../../../../../database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getIFrameMessageListenerCode.d.ts","sourceRoot":"","sources":["../../../../../../generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CA4ET"}
1
+ {"version":3,"file":"getIFrameMessageListenerCode.d.ts","sourceRoot":"","sources":["../../../../../../generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GACb,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAiFT"}
@@ -1,4 +1,8 @@
1
1
  export default function getIFrameMessageListenerCode({ scenarioName, }) {
2
+ // Escape backslashes first, then single quotes to produce valid JS string literals
3
+ const escapedScenarioName = scenarioName
4
+ .replace(/\\/g, '\\\\')
5
+ .replace(/'/g, "\\'");
2
6
  return `const [version, setVersion] = useState(1);
3
7
 
4
8
  function _getScenarioProps({ argumentIndex, propName }: { argumentIndex: number, propName?: string }) {
@@ -10,7 +14,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
10
14
  try {
11
15
  window.parent.postMessage({
12
16
  type: 'codeyam-update',
13
- name: '${scenarioName}',
17
+ name: '${escapedScenarioName}',
14
18
  message,
15
19
  }, '*');
16
20
  } catch (e) {
@@ -24,7 +28,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
24
28
  const parsedData = JSON.parse(event.data.data);
25
29
  console.log("Override data received");
26
30
  respond("Set override data to " + JSON.stringify(parsedData, null, 2));
27
- scenarios().updateData('${scenarioName}', parsedData);
31
+ scenarios().updateData('${escapedScenarioName}', parsedData);
28
32
  setVersion(prev => prev + 1);
29
33
  }
30
34
  }
@@ -40,7 +44,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
40
44
  try {
41
45
  window.parent.postMessage({
42
46
  type: 'codeyam-log',
43
- name: '${scenarioName}',
47
+ name: '${escapedScenarioName}',
44
48
  data: {
45
49
  log: {
46
50
  name: "console.log",
@@ -58,7 +62,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
58
62
  oldConsoleError(...args);
59
63
  window.parent.postMessage({
60
64
  type: 'codeyam-log',
61
- name: '${scenarioName}',
65
+ name: '${escapedScenarioName}',
62
66
  data: {
63
67
  log: {
64
68
  name: "console.log",
@@ -1 +1 @@
1
- {"version":3,"file":"getIFrameMessageListenerCode.js","sourceRoot":"","sources":["../../../../../../generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GAGb;IACC,OAAO;;;;;;;;;;;iBAWQ,YAAY;;;;;;;;;;;;;;kCAcK,YAAY;;;;;;;;;;;;;;;;mBAgB3B,YAAY;;;;;;;;;;;;;;;;;;iBAkBd,YAAY;;;;;;;;;;;;;;;CAe5B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"getIFrameMessageListenerCode.js","sourceRoot":"","sources":["../../../../../../generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GAGb;IACC,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,YAAY;SACrC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAExB,OAAO;;;;;;;;;;;iBAWQ,mBAAmB;;;;;;;;;;;;;;kCAcF,mBAAmB;;;;;;;;;;;;;;;;mBAgBlC,mBAAmB;;;;;;;;;;;;;;;;;;iBAkBrB,mBAAmB;;;;;;;;;;;;;;;CAenC,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../../../../generate/src/lib/deepMerge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,GAAG,EACZ,IAAI,kBAAgB,GACnB,GAAG,CAuCL"}
1
+ {"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../../../../generate/src/lib/deepMerge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,GAAG,EACZ,IAAI,kBAAgB,GACnB,GAAG,CAgEL"}
@@ -10,6 +10,27 @@ export default function deepMerge(defaultData, changes, seen = new WeakSet()) {
10
10
  }
11
11
  seen.add(changes);
12
12
  }
13
+ // Handle arrays at the top level - this is critical for nested arrays (tuples)
14
+ // like [["path", { data }]] which should NOT be converted to objects
15
+ if (Array.isArray(changes)) {
16
+ const defaultArray = Array.isArray(defaultData) ? defaultData : [];
17
+ const result = [];
18
+ for (let i = 0; i < changes.length; i++) {
19
+ const item = changes[i];
20
+ if (item && typeof item === 'object' && !Array.isArray(item)) {
21
+ // Merge object items with corresponding default array item
22
+ result[i] = deepMerge(defaultArray[i], item, seen);
23
+ }
24
+ else if (Array.isArray(item)) {
25
+ // Recursively handle nested arrays (tuples)
26
+ result[i] = deepMerge(defaultArray[i], item, seen);
27
+ }
28
+ else {
29
+ result[i] = item;
30
+ }
31
+ }
32
+ return result;
33
+ }
13
34
  const merge = { ...defaultData };
14
35
  for (const key in changes) {
15
36
  if (changes[key] === null) {
@@ -18,11 +39,16 @@ export default function deepMerge(defaultData, changes, seen = new WeakSet()) {
18
39
  merge[key] = null;
19
40
  }
20
41
  else if (Array.isArray(changes[key])) {
42
+ // Get the original default array BEFORE we replace it
43
+ const defaultArray = Array.isArray(defaultData[key])
44
+ ? defaultData[key]
45
+ : [];
21
46
  merge[key] = [];
22
47
  for (let i = 0; i < changes[key].length; i++) {
23
48
  const item = changes[key][i];
24
49
  if (typeof item === 'object' && item !== null) {
25
- merge[key][i] = deepMerge(merge?.[key]?.[i], item, seen);
50
+ // Merge with corresponding item from default array by index position
51
+ merge[key][i] = deepMerge(defaultArray[i], item, seen);
26
52
  }
27
53
  else {
28
54
  merge[key][i] = item;
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../../generate/src/lib/deepMerge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,WAAgB,EAChB,OAAY,EACZ,IAAI,GAAG,IAAI,OAAO,EAAE;IAEpB,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IACjC,IAAI,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC;IAEjC,IAAI,CAAC;QACH,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1B,4EAA4E;gBAC5E,+EAA+E;gBAC/E,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../../generate/src/lib/deepMerge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getComponentScenarioPath.d.ts","sourceRoot":"","sources":["../../../../../generate/src/lib/getComponentScenarioPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKxD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,UAqBjB"}
1
+ {"version":3,"file":"getComponentScenarioPath.d.ts","sourceRoot":"","sources":["../../../../../generate/src/lib/getComponentScenarioPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKxD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,UA0BjB"}
@@ -9,13 +9,17 @@ export default function getComponentScenarioPath(file, entity, currentPath, appP
9
9
  ? `${appPath}/${CODEYAM_DEMO_PAGES_DIRNAME}/${file.name}`
10
10
  : file.path;
11
11
  const relativePath = safeFolder(getRelativePath(currentPath, filePath).split('/').slice(0, -1).join('/'));
12
+ // Check if the file is an index file (e.g., index.tsx, index.ts)
13
+ // This must match the logic in writeScenarioComponents.ts
14
+ const isIndexFile = file.name.startsWith('index.');
15
+ const indexPrefix = isIndexFile ? 'index_' : '';
12
16
  if (scenario) {
13
17
  // Include scenario name in path to allow multiple scenarios to coexist
14
18
  const importPath = isLibraryDemoPage
15
- ? `${relativePath}/${entity.sha}_${safeFileName(entityName)}_${safeFileName(scenario.name)}`
16
- : `${relativePath}/${entity.sha}_${safeFileName(entityName)}_${safeFileName(scenario.name)}`;
19
+ ? `${relativePath}/${entity.sha}_${indexPrefix}${safeFileName(entityName)}_${safeFileName(scenario.name)}`
20
+ : `${relativePath}/${entity.sha}_${indexPrefix}${safeFileName(entityName)}_${safeFileName(scenario.name)}`;
17
21
  return `${importPath}`;
18
22
  }
19
- return `${relativePath}_${entity.sha}_${safeFileName(entityName)}`;
23
+ return `${relativePath}_${entity.sha}_${indexPrefix}${safeFileName(entityName)}`;
20
24
  }
21
25
  //# sourceMappingURL=getComponentScenarioPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getComponentScenarioPath.js","sourceRoot":"","sources":["../../../../../generate/src/lib/getComponentScenarioPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,IAAU,EACV,MAAc,EACd,WAAmB,EACnB,OAAe,EACf,QAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB;QAChC,CAAC,CAAC,GAAG,OAAO,IAAI,0BAA0B,IAAI,IAAI,CAAC,IAAI,EAAE;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAEd,MAAM,YAAY,GAAG,UAAU,CAC7B,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzE,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,uEAAuE;QACvE,MAAM,UAAU,GAAG,iBAAiB;YAClC,CAAC,CAAC,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5F,CAAC,CAAC,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/F,OAAO,GAAG,UAAU,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"getComponentScenarioPath.js","sourceRoot":"","sources":["../../../../../generate/src/lib/getComponentScenarioPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,IAAU,EACV,MAAc,EACd,WAAmB,EACnB,OAAe,EACf,QAAkB,EAClB,OAAgB;IAEhB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB;QAChC,CAAC,CAAC,GAAG,OAAO,IAAI,0BAA0B,IAAI,IAAI,CAAC,IAAI,EAAE;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAEd,MAAM,YAAY,GAAG,UAAU,CAC7B,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACzE,CAAC;IAEF,iEAAiE;IACjE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QACb,uEAAuE;QACvE,MAAM,UAAU,GAAG,iBAAiB;YAClC,CAAC,CAAC,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC1G,CAAC,CAAC,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7G,OAAO,GAAG,UAAU,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,GAAG,YAAY,IAAI,MAAM,CAAC,GAAG,IAAI,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;AACnF,CAAC"}
@@ -19,13 +19,14 @@ export type { Mock } from './src/types/Mock';
19
19
  export type { ServerCommand, ProjectMetadata, WebApp, EnvironmentVariable, } from './src/types/ProjectMetadata';
20
20
  export type { WebContainerFile, WebContainerDirectory, WebContainerFileSystemTree, } from './src/types/WebContainerFileSystemTree';
21
21
  export type { TsConfigPaths } from './src/types/TsConfigPaths';
22
- export type { ScenariosDataStructure, DataStructure, ConditionalUsage, } from './src/types/ScenariosDataStructure';
23
- export type { Scenario, ScenarioMetadata, PlaywrightInstruction, ExecutionResult, } from './src/types/Scenario';
22
+ export type { ScenariosDataStructure, DataStructure, ConditionalUsage, CompoundConditional, } from './src/types/ScenariosDataStructure';
23
+ export type { Scenario, ScenarioMetadata, PlaywrightInstruction, ExecutionResult, ValueOptionRef, KeyAttributeValueReference, } from './src/types/Scenario';
24
+ export { isStructuredReference, hasStructuredReferences, } from './src/types/Scenario';
24
25
  export type { ScenarioData } from './src/types/ScenarioData';
25
26
  export type { JsonTypeDefinition } from './src/types/JsonTypeDefinition';
26
27
  export type { TimelineItem } from './src/types/TimelineItem';
27
28
  export type { Entity, ReadonlyEntity, WrapperRequirement, } from './src/types/Entity';
28
- export type { Analysis, AnalysisError, AnalysisStatus, AnalysisMetadata, ReadonlyAnalysis, } from './src/types/Analysis';
29
+ export type { Analysis, AnalysisError, AnalysisStatus, AnalysisMetadata, ReadonlyAnalysis, SourceLocation, } from './src/types/Analysis';
29
30
  export { EMPTY_SHA_MARKER } from './src/types/Analysis';
30
31
  export type { CodeExplanation } from './src/types/CodeExplanation';
31
32
  export type { EntityType } from './src/types/EntityType';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { ProjectFramework } from './src/enums/ProjectFramework';
2
+ export { isStructuredReference, hasStructuredReferences, } from './src/types/Scenario';
2
3
  export { EMPTY_SHA_MARKER } from './src/types/Analysis';
3
4
  export { DEFAULT_SCENARIO_NAME } from './src/constants';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAkEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkBxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAsDhE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkBxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -11,6 +11,23 @@ import { Branch } from './Branch';
11
11
  import { AnalysisBranch } from './AnalysisBranch';
12
12
  import { DeepReadonly } from './DeepReadonly';
13
13
  export declare const EMPTY_SHA_MARKER = "0000000000000000000000000000000000000000";
14
+ /** Represents a location in source code where a key attribute is used */
15
+ export interface SourceLocation {
16
+ /** Entity name where this usage occurs */
17
+ entityName: string;
18
+ /** File path relative to project root */
19
+ filePath: string;
20
+ /** Line number (1-based) */
21
+ lineNumber: number;
22
+ /** Column number (0-based) */
23
+ column?: number;
24
+ /** The code snippet at this location */
25
+ codeSnippet: string;
26
+ /** Type of usage: conditional check, render expression, or computation */
27
+ usageType: 'conditional' | 'render' | 'computation';
28
+ /** Human-readable description of how the attribute is used here */
29
+ description?: string;
30
+ }
14
31
  export interface AnalysisError {
15
32
  message: string;
16
33
  stack: string;
@@ -62,7 +79,20 @@ export interface Analysis {
62
79
  /** The expected type of this attribute (e.g., "string", "boolean", "object") */
63
80
  valueType?: string;
64
81
  /** Dependencies that must have specific values for this attribute to have effect */
65
- dependencies?: Record<string, string>[];
82
+ dependencies?: {
83
+ /** Path to the dependent attribute */
84
+ path: string;
85
+ /** Required value or condition for the dependency */
86
+ requiredValue: string | boolean;
87
+ /** Human-readable description of the dependency */
88
+ description: string;
89
+ /** ID of the compound conditional this dependency comes from */
90
+ fromChainId?: string;
91
+ }[];
92
+ /** IDs of compound conditionals this attribute participates in */
93
+ compoundConditionalIds?: string[];
94
+ /** Source locations where this key attribute is used in the code */
95
+ sourceLocations?: SourceLocation[];
66
96
  }[];
67
97
  dependencyTree?: DependencyTreeNode;
68
98
  dependentAnalyses?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"Analysis.d.ts","sourceRoot":"","sources":["../../../../../types/src/types/Analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,aAAa,EACb,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,6CAA6C,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;QACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,qBAAqB,CAAC,EAAE,GAAG,CAAC;QAC5B,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,eAAe,CAAC,EAAE;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,eAAe,EAAE,OAAO,CAAC;YACzB,eAAe,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,MAAM,CAAC;SAChB,EAAE,CAAC;QACJ,mBAAmB,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;QAC1E,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;QAChD,aAAa,CAAC,EAAE;YACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC7B,YAAY,EAAE,MAAM,CAAC;YACrB,YAAY,EAAE,MAAM,CAAC;YACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAC;YACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,gFAAgF;YAChF,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,oFAAoF;YACpF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;SACzC,EAAE,CAAC;QACJ,cAAc,CAAC,EAAE,kBAAkB,CAAC;QACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,0BAA0B,CAAC,EAAE;YAC3B,CAAC,QAAQ,EAAE,MAAM,GAAG;gBAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;SACtD,CAAC;QACF,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,eAAe,CAAC,EAAE;YAChB,GAAG,EAAE,MAAM,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;SACf,GAAG,IAAI,CAAC;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,EAAE,CAAC;QACJ,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,EAAE,CAAC;QACJ,MAAM,EAAE,aAAa,EAAE,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,sBAAsB,CAAC,EAAE,cAAc,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AACpD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"Analysis.d.ts","sourceRoot":"","sources":["../../../../../types/src/types/Analysis.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,49 @@ export interface PlaywrightInstruction {
7
7
  actionFn: string;
8
8
  actionArgs?: unknown[];
9
9
  }
10
+ /**
11
+ * Reference to a specific validValueOption or errorValueOption from keyAttributes.
12
+ * Used in KeyAttributeValueReference to track which predefined value a scenario uses.
13
+ */
14
+ export interface ValueOptionRef {
15
+ /** Index into the validValueOptions or errorValueOptions array */
16
+ index: number;
17
+ /**
18
+ * Type of reference:
19
+ * - 'exact': Uses exactly this value option
20
+ * - 'derived': Based on this value but modified (see derivation field)
21
+ * - 'custom': Not from predefined options (value was custom-generated)
22
+ */
23
+ refType: 'exact' | 'derived' | 'custom';
24
+ /** For 'derived' type: describes how the value differs from the original */
25
+ derivation?: string;
26
+ }
27
+ /**
28
+ * Structured reference for key attribute instructions.
29
+ * Enables tracking of which validValueOptions each scenario uses.
30
+ */
31
+ export interface KeyAttributeValueReference {
32
+ /** The local variable name for this attribute */
33
+ localVariable: string;
34
+ /** Human-readable instruction (kept for backwards compat and readability) */
35
+ instruction: string;
36
+ /** Reference to a validValueOption (for normal scenarios) */
37
+ valueOptionRef?: ValueOptionRef;
38
+ /** Reference to an errorValueOption (for error scenarios) */
39
+ errorOptionRef?: ValueOptionRef;
40
+ }
41
+ /**
42
+ * Type guard to check if a keyAttributeInstruction is the new structured format
43
+ */
44
+ export declare function isStructuredReference(value: string | {
45
+ localVariable: string;
46
+ instruction: string;
47
+ } | KeyAttributeValueReference): value is KeyAttributeValueReference;
48
+ /**
49
+ * Check if a scenario has structured value references in its keyAttributeInstructions.
50
+ * Scenarios without structured references need re-analysis to be included in breakdown view.
51
+ */
52
+ export declare function hasStructuredReferences(scenario: Scenario): boolean;
10
53
  export interface ExecutionResult {
11
54
  returnValue?: unknown;
12
55
  error?: {
@@ -74,11 +117,18 @@ export interface Scenario {
74
117
  dataMapping?: {
75
118
  [key: string]: string;
76
119
  };
120
+ /**
121
+ * Key attribute instructions map data structure paths to their values.
122
+ * Supports three formats (in order of preference):
123
+ * 1. KeyAttributeValueReference (new): structured with valueOptionRef for tracking
124
+ * 2. { localVariable, instruction } (current): basic structured format
125
+ * 3. string (deprecated): legacy instruction-only format
126
+ */
77
127
  keyAttributeInstructions?: {
78
128
  [key: string]: string | {
79
129
  localVariable: string;
80
130
  instruction: string;
81
- };
131
+ } | KeyAttributeValueReference;
82
132
  };
83
133
  data?: {
84
134
  mockData: {
@@ -1 +1 @@
1
- {"version":3,"file":"Scenario.d.ts","sourceRoot":"","sources":["../../../../../types/src/types/Scenario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scenario.d.ts","sourceRoot":"","sources":["../../../../../types/src/types/Scenario.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,22 @@
1
- export {};
1
+ /**
2
+ * Type guard to check if a keyAttributeInstruction is the new structured format
3
+ */
4
+ export function isStructuredReference(value) {
5
+ return (typeof value === 'object' &&
6
+ 'localVariable' in value &&
7
+ 'instruction' in value &&
8
+ ('valueOptionRef' in value || 'errorOptionRef' in value));
9
+ }
10
+ /**
11
+ * Check if a scenario has structured value references in its keyAttributeInstructions.
12
+ * Scenarios without structured references need re-analysis to be included in breakdown view.
13
+ */
14
+ export function hasStructuredReferences(scenario) {
15
+ const instructions = scenario.metadata?.keyAttributeInstructions;
16
+ if (!instructions || Object.keys(instructions).length === 0) {
17
+ return false;
18
+ }
19
+ return Object.values(instructions).some((value) => typeof value === 'object' &&
20
+ ('valueOptionRef' in value || 'errorOptionRef' in value));
21
+ }
2
22
  //# sourceMappingURL=Scenario.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scenario.js","sourceRoot":"","sources":["../../../../../types/src/types/Scenario.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Scenario.js","sourceRoot":"","sources":["../../../../../types/src/types/Scenario.ts"],"names":[],"mappings":"AA4CA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAG8B;IAE9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,eAAe,IAAI,KAAK;QACxB,aAAa,IAAI,KAAK;QACtB,CAAC,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,KAAK,CAAC,CACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IACjE,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,IAAI,KAAK,CAAC,CAC3D,CAAC;AACJ,CAAC"}
@@ -16,6 +16,52 @@ export interface ConditionalUsage {
16
16
  comparedValues?: string[];
17
17
  /** Where this conditional usage occurs */
18
18
  location: 'if' | 'ternary' | 'logical-and' | 'switch';
19
+ /** Source location information for this conditional usage */
20
+ sourceLocation?: {
21
+ /** Line number (1-based) */
22
+ lineNumber: number;
23
+ /** Column number (0-based) */
24
+ column: number;
25
+ /** The code snippet containing this conditional */
26
+ codeSnippet: string;
27
+ };
28
+ /** Unique ID for this compound conditional chain (shared by all conditions in same && chain) */
29
+ chainId?: string;
30
+ /** Position in the chain (0 = leftmost) */
31
+ chainPosition?: number;
32
+ /** Total number of conditions in this chain */
33
+ chainLength?: number;
34
+ /** The full original expression (e.g., "a && b && c") */
35
+ chainExpression?: string;
36
+ /** Whether this condition is negated (e.g., !foo) */
37
+ isNegated?: boolean;
38
+ }
39
+ /**
40
+ * Represents a compound conditional (e.g., a && b && c) where all conditions
41
+ * must be satisfied together for a code path to execute.
42
+ */
43
+ export interface CompoundConditional {
44
+ /** Unique identifier for this compound conditional */
45
+ chainId: string;
46
+ /** The full expression (e.g., "scenarios.length > 0 && !displayState.isQueued") */
47
+ expression: string;
48
+ /** Individual conditions in order */
49
+ conditions: {
50
+ path: string;
51
+ conditionType: 'truthiness' | 'comparison' | 'switch';
52
+ comparedValues?: string[];
53
+ isNegated: boolean;
54
+ /** Required value for this condition to be true */
55
+ requiredValue?: string | boolean;
56
+ }[];
57
+ /** Where this compound conditional occurs */
58
+ location: 'if' | 'ternary' | 'logical-and' | 'switch';
59
+ /** Source location for the entire compound expression */
60
+ sourceLocation: {
61
+ lineNumber: number;
62
+ column: number;
63
+ codeSnippet: string;
64
+ };
19
65
  }
20
66
  export interface DataStructure {
21
67
  signatureSchema: {
@@ -68,6 +114,8 @@ export interface DataStructure {
68
114
  conditionalUsages?: {
69
115
  [attributePath: string]: ConditionalUsage[];
70
116
  };
117
+ /** Compound conditionals grouped by chain (all conditions must be true together) */
118
+ compoundConditionals?: CompoundConditional[];
71
119
  structure?: any;
72
120
  mocksDataStructure?: any;
73
121
  }