@codeyam/codeyam-cli 0.1.0-staging.596f0eb → 0.1.0-staging.76566f9

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 (354) 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 +2 -1
  4. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +2 -0
  5. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +22 -0
  6. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +23 -1
  7. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +401 -106
  8. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +60 -0
  9. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +734 -45
  10. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
  11. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +715 -0
  12. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +233 -75
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +34 -1
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +23 -0
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -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/generateChangesEntityScenarioData.ts +41 -0
  21. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +37 -4
  22. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +5 -0
  23. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +213 -12
  24. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +36 -25
  25. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +114 -11
  26. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  27. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  28. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +7 -0
  29. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +42 -2
  30. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +38 -2
  31. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  32. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +5 -0
  33. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +8 -1
  34. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +127 -43
  35. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +158 -0
  36. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +405 -45
  37. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  38. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +260 -133
  39. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +10 -5
  40. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +77 -83
  41. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -5
  42. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +196 -86
  43. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  44. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  45. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  46. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  47. package/analyzer-template/packages/aws/package.json +1 -1
  48. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  49. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  50. package/analyzer-template/packages/database/src/lib/kysely/db.ts +4 -4
  51. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  52. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +20 -9
  53. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  54. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  55. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -2
  56. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +2 -2
  57. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +8 -1
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +14 -7
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  63. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  64. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  66. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  67. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  68. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  69. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  70. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  71. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  72. package/analyzer-template/packages/github/dist/types/index.d.ts +4 -3
  73. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  74. package/analyzer-template/packages/github/dist/types/index.js +1 -0
  75. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  76. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +31 -1
  77. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  78. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +51 -1
  79. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  80. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +21 -1
  81. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  82. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
  83. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  84. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  86. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  87. package/analyzer-template/packages/types/index.ts +8 -0
  88. package/analyzer-template/packages/types/src/types/Analysis.ts +32 -1
  89. package/analyzer-template/packages/types/src/types/Scenario.ts +75 -6
  90. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +49 -0
  91. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  92. package/analyzer-template/packages/utils/dist/types/index.d.ts +4 -3
  93. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  94. package/analyzer-template/packages/utils/dist/types/index.js +1 -0
  95. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  96. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +31 -1
  97. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  98. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +51 -1
  99. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  100. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +21 -1
  101. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  102. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +48 -0
  103. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  104. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  105. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  106. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  107. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  108. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  109. package/analyzer-template/playwright/takeScreenshot.ts +9 -7
  110. package/analyzer-template/project/constructMockCode.ts +286 -84
  111. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +77 -37
  112. package/analyzer-template/project/reconcileMockDataKeys.ts +5 -2
  113. package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
  114. package/analyzer-template/project/serverOnlyModules.ts +71 -23
  115. package/analyzer-template/project/start.ts +10 -0
  116. package/analyzer-template/project/startScenarioCapture.ts +73 -41
  117. package/analyzer-template/project/writeMockDataTsx.ts +115 -54
  118. package/analyzer-template/project/writeScenarioComponents.ts +571 -162
  119. package/analyzer-template/project/writeSimpleRoot.ts +11 -13
  120. package/background/src/lib/virtualized/project/constructMockCode.js +265 -75
  121. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  122. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +67 -32
  123. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  124. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +5 -2
  125. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  126. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
  127. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  128. package/background/src/lib/virtualized/project/serverOnlyModules.js +62 -25
  129. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  130. package/background/src/lib/virtualized/project/start.js +6 -0
  131. package/background/src/lib/virtualized/project/start.js.map +1 -1
  132. package/background/src/lib/virtualized/project/startScenarioCapture.js +54 -31
  133. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  134. package/background/src/lib/virtualized/project/writeMockDataTsx.js +106 -46
  135. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  136. package/background/src/lib/virtualized/project/writeScenarioComponents.js +399 -106
  137. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  138. package/background/src/lib/virtualized/project/writeSimpleRoot.js +11 -11
  139. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  140. package/codeyam-cli/src/cli.js +2 -0
  141. package/codeyam-cli/src/cli.js.map +1 -1
  142. package/codeyam-cli/src/commands/debug.js +14 -2
  143. package/codeyam-cli/src/commands/debug.js.map +1 -1
  144. package/codeyam-cli/src/commands/recapture.js +215 -0
  145. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  146. package/codeyam-cli/src/commands/report.js +26 -23
  147. package/codeyam-cli/src/commands/report.js.map +1 -1
  148. package/codeyam-cli/src/utils/backgroundServer.js +2 -2
  149. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  150. package/codeyam-cli/src/utils/generateReport.js +252 -106
  151. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  152. package/codeyam-cli/src/utils/install-skills.js +2 -2
  153. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  154. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  155. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  156. package/codeyam-cli/src/utils/queue/job.js +140 -16
  157. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  158. package/codeyam-cli/src/utils/queue/manager.js +19 -7
  159. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  160. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  161. package/codeyam-cli/src/webserver/app/lib/database.js +47 -0
  162. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  163. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  164. package/codeyam-cli/src/webserver/backgroundServer.js +5 -10
  165. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  166. package/codeyam-cli/src/webserver/bootstrap.js +9 -0
  167. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  168. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +1 -0
  169. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-efWKDYMr.js → EntityTypeBadge-CzGX-miz.js} +1 -1
  170. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +41 -0
  171. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +25 -0
  172. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CBQPrpT0.js +3 -0
  173. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-D1CdlbrV.js +6 -0
  174. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-wDPcZNKx.js +3 -0
  175. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +11 -0
  176. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BfmDgXxG.js +1 -0
  177. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +15 -0
  178. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-COPstp9J.js → TruncatedFilePath-6J7zDUD5.js} +1 -1
  179. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +11 -0
  180. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CVP_WGQ3.js +32 -0
  181. package/codeyam-cli/src/webserver/build/client/assets/api.link-scenario-value-l0sNRNKZ.js +1 -0
  182. package/codeyam-cli/src/webserver/build/client/assets/api.update-key-attributes-l0sNRNKZ.js +1 -0
  183. package/codeyam-cli/src/webserver/build/client/assets/api.update-valid-values-l0sNRNKZ.js +1 -0
  184. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-BYimnrHg.js +6 -0
  185. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +51 -0
  186. package/codeyam-cli/src/webserver/build/client/assets/circle-check-CaVsIRxt.js +6 -0
  187. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgUsG7ib.js +21 -0
  188. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +1 -0
  189. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +1 -0
  190. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-Dt-SjPsw.js +23 -0
  191. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +1 -0
  192. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +1 -0
  193. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-CfLCUi9S.js +5 -0
  194. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DKJyZfAY.js +29 -0
  195. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DAtOlaWE.js +1 -0
  196. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +1 -0
  197. package/codeyam-cli/src/webserver/build/client/assets/git-D62Lxxmv.js +15 -0
  198. package/codeyam-cli/src/webserver/build/client/assets/globals-C9s7Lhdl.css +1 -0
  199. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  200. package/codeyam-cli/src/webserver/build/client/assets/index-BosqDOlH.js +3 -0
  201. package/codeyam-cli/src/webserver/build/client/assets/index-CzNNiTkw.js +9 -0
  202. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +1 -0
  203. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-CNp9QFCX.js +6 -0
  204. package/codeyam-cli/src/webserver/build/client/assets/manifest-0d27da29.js +1 -0
  205. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  206. package/codeyam-cli/src/webserver/build/client/assets/root-B_wIKCIf.js +56 -0
  207. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  208. package/codeyam-cli/src/webserver/build/client/assets/search-DDGjYAMJ.js +6 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +1 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +1 -0
  211. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CBc5dE1s.js +6 -0
  212. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +1 -0
  213. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +1 -0
  214. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-3pmpUQB-.js → useLastLogLine-BqPPNjAl.js} +1 -1
  215. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +1 -0
  216. package/codeyam-cli/src/webserver/build/client/assets/{useToast-DEyawJ8r.js → useToast-DWHcCcl1.js} +1 -1
  217. package/codeyam-cli/src/webserver/build/server/assets/index-CU58-Ttc.js +1 -0
  218. package/codeyam-cli/src/webserver/build/server/assets/server-build-D35o2uae.js +175 -0
  219. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  220. package/codeyam-cli/src/webserver/build-info.json +5 -5
  221. package/codeyam-cli/src/webserver/devServer.js +1 -3
  222. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  223. package/codeyam-cli/templates/codeyam-setup-skill.md +138 -3
  224. package/codeyam-cli/templates/debug-codeyam.md +625 -0
  225. package/package.json +14 -14
  226. package/packages/ai/src/lib/analyzeScope.js +2 -0
  227. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  228. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +16 -0
  229. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  230. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +16 -0
  231. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  232. package/packages/ai/src/lib/astScopes/processExpression.js +305 -88
  233. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  234. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +582 -41
  235. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  236. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
  237. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  238. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +454 -0
  239. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  240. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +173 -55
  241. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  242. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +16 -1
  243. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  244. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +30 -1
  245. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  246. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +20 -0
  247. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  248. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  249. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  250. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +28 -2
  251. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  252. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +179 -17
  253. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  254. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +6 -0
  255. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
  256. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +41 -0
  257. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  258. package/packages/ai/src/lib/generateChangesEntityScenarios.js +37 -4
  259. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  260. package/packages/ai/src/lib/generateEntityDataStructure.js +4 -0
  261. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  262. package/packages/ai/src/lib/generateEntityKeyAttributes.js +176 -9
  263. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  264. package/packages/ai/src/lib/generateEntityScenarioData.js +29 -25
  265. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  266. package/packages/ai/src/lib/generateEntityScenarios.js +105 -9
  267. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  268. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  269. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  270. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  271. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  272. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +6 -0
  273. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  274. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +38 -2
  275. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  276. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +38 -2
  277. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  278. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  279. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  280. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  281. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +4 -0
  282. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  283. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +100 -23
  284. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  285. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +125 -0
  286. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  287. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +298 -45
  288. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  289. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  290. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  291. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +201 -80
  292. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  293. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +10 -5
  294. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  295. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +55 -69
  296. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  297. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -5
  298. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  299. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +171 -81
  300. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  301. package/packages/database/src/lib/kysely/db.js +2 -2
  302. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  303. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  304. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  305. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  306. package/packages/generate/src/lib/deepMerge.js +27 -1
  307. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  308. package/packages/types/index.js +1 -0
  309. package/packages/types/index.js.map +1 -1
  310. package/packages/types/src/types/Scenario.js +21 -1
  311. package/packages/types/src/types/Scenario.js.map +1 -1
  312. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  313. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  314. package/scripts/finalize-analyzer.cjs +3 -1
  315. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  316. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  317. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-CVbSvOjo.js +0 -1
  318. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DcwcHyl5.js +0 -1
  319. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-WgwC1GfJ.js +0 -26
  320. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-IEKom9O2.js +0 -3
  321. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BYnfxbUG.js +0 -3
  322. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-_lBPJCzG.js +0 -1
  323. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-lHVhvsu_.js +0 -1
  324. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-d_TBk4GQ.js +0 -5
  325. package/codeyam-cli/src/webserver/build/client/assets/_index-kGT7VUqj.js +0 -1
  326. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DDGmhu7P.js +0 -7
  327. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-n_HPRfM_.js +0 -1
  328. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CbVoyx1U.js +0 -26
  329. package/codeyam-cli/src/webserver/build/client/assets/circle-check-D1VOYveA.js +0 -1
  330. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-YR8jjAlu.js +0 -1
  331. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B8vP3V_s.js +0 -1
  332. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CN6aLCT1.js +0 -16
  333. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DA5Jeu2P.js +0 -1
  334. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BTeitalf.js +0 -5
  335. package/codeyam-cli/src/webserver/build/client/assets/entry.client-du6UEYD-.js +0 -13
  336. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-BpjkhMoi.js +0 -1
  337. package/codeyam-cli/src/webserver/build/client/assets/files-BQGvk4lJ.js +0 -1
  338. package/codeyam-cli/src/webserver/build/client/assets/git-DVdYRT-I.js +0 -12
  339. package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.css +0 -1
  340. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  341. package/codeyam-cli/src/webserver/build/client/assets/index-DCG-vks0.js +0 -1
  342. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-GazdNeLl.js +0 -1
  343. package/codeyam-cli/src/webserver/build/client/assets/manifest-0b694d28.js +0 -1
  344. package/codeyam-cli/src/webserver/build/client/assets/root-D3tQP7hx.js +0 -16
  345. package/codeyam-cli/src/webserver/build/client/assets/search-CIY6XmtE.js +0 -1
  346. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  347. package/codeyam-cli/src/webserver/build/client/assets/settings-CoMDgElu.js +0 -1
  348. package/codeyam-cli/src/webserver/build/client/assets/simulations-agkniXp2.js +0 -1
  349. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B2VUcygF.js +0 -1
  350. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-EvdK-zXP.js +0 -1
  351. package/codeyam-cli/src/webserver/build/server/assets/index-DGVHQEXD.js +0 -1
  352. package/codeyam-cli/src/webserver/build/server/assets/server-build-CghkTkIL.js +0 -166
  353. package/codeyam-cli/templates/debug-command.md +0 -303
  354. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
@@ -14,6 +14,26 @@ export default function deepMerge(
14
14
  seen.add(changes);
15
15
  }
16
16
 
17
+ // Handle arrays at the top level - this is critical for nested arrays (tuples)
18
+ // like [["path", { data }]] which should NOT be converted to objects
19
+ if (Array.isArray(changes)) {
20
+ const defaultArray = Array.isArray(defaultData) ? defaultData : [];
21
+ const result: any[] = [];
22
+ for (let i = 0; i < changes.length; i++) {
23
+ const item = changes[i];
24
+ if (item && typeof item === 'object' && !Array.isArray(item)) {
25
+ // Merge object items with corresponding default array item
26
+ result[i] = deepMerge(defaultArray[i], item, seen);
27
+ } else if (Array.isArray(item)) {
28
+ // Recursively handle nested arrays (tuples)
29
+ result[i] = deepMerge(defaultArray[i], item, seen);
30
+ } else {
31
+ result[i] = item;
32
+ }
33
+ }
34
+ return result;
35
+ }
36
+
17
37
  const merge = { ...defaultData };
18
38
  for (const key in changes) {
19
39
  if (changes[key] === null) {
@@ -21,11 +41,16 @@ export default function deepMerge(
21
41
  // to distinguish between "not loaded" (undefined) and "explicitly null" (null)
22
42
  merge[key] = null;
23
43
  } else if (Array.isArray(changes[key])) {
44
+ // Get the original default array BEFORE we replace it
45
+ const defaultArray = Array.isArray(defaultData[key])
46
+ ? defaultData[key]
47
+ : [];
24
48
  merge[key] = [];
25
49
  for (let i = 0; i < changes[key].length; i++) {
26
50
  const item = changes[key][i];
27
51
  if (typeof item === 'object' && item !== null) {
28
- merge[key][i] = deepMerge(merge?.[key]?.[i], item, seen);
52
+ // Merge with corresponding item from default array by index position
53
+ merge[key][i] = deepMerge(defaultArray[i], item, seen);
29
54
  } else {
30
55
  merge[key][i] = item;
31
56
  }
@@ -7,7 +7,7 @@ import { BackgroundJobsTable } from './tables/backgroundJobsTable';
7
7
  import { BranchesTable } from './tables/branchesTable';
8
8
  import { CommitBranchesTable } from './tables/commitBranchesTable';
9
9
  import { CommitsTable } from './tables/commitsTable';
10
- import { DebugReportsTable } from './tables/debugReportsTable';
10
+ import { DebugBundlesTable } from './tables/debugReportsTable';
11
11
  import { EntitiesTable } from './tables/entitiesTable';
12
12
  import { EntityBranchesTable } from './tables/entityBranchesTable';
13
13
  import { EntityStatementsTable } from './tables/entityStatementsTable';
@@ -29,7 +29,7 @@ declare const databaseSchema: {
29
29
  readonly branches: BranchesTable;
30
30
  readonly commit_branches: CommitBranchesTable;
31
31
  readonly commits: CommitsTable;
32
- readonly debug_reports: DebugReportsTable;
32
+ readonly debug_reports: DebugBundlesTable;
33
33
  readonly entities: EntitiesTable;
34
34
  readonly entity_branches: EntityBranchesTable;
35
35
  readonly entity_statements: EntityStatementsTable;
@@ -13,7 +13,7 @@ import { createBackgroundJobsTable, } from './tables/backgroundJobsTable';
13
13
  import { createBranchesTable } from './tables/branchesTable';
14
14
  import { createCommitBranchesTable, } from './tables/commitBranchesTable';
15
15
  import { createCommitsTable } from './tables/commitsTable';
16
- import { createDebugReportsTable, } from './tables/debugReportsTable';
16
+ import { createDebugBundlesTable, } from './tables/debugReportsTable';
17
17
  import { createEntitiesTable } from './tables/entitiesTable';
18
18
  import { createEntityBranchesTable, } from './tables/entityBranchesTable';
19
19
  import { createEntityStatementsTable, } from './tables/entityStatementsTable';
@@ -274,7 +274,7 @@ export async function createSqliteSchema(db) {
274
274
  await createBranchesTable(db);
275
275
  await createCommitBranchesTable(db);
276
276
  await createCommitsTable(db);
277
- await createDebugReportsTable(db);
277
+ await createDebugBundlesTable(db);
278
278
  await createEntitiesTable(db);
279
279
  await createEntityBranchesTable(db);
280
280
  await createEntityStatementsTable(db);
@@ -6,7 +6,7 @@ import { BackgroundJobsTable } from './tables/backgroundJobsTable';
6
6
  import { BranchesTable } from './tables/branchesTable';
7
7
  import { CommitsTable } from './tables/commitsTable';
8
8
  import { CommitBranchesTable } from './tables/commitBranchesTable';
9
- import { DebugReportsTable } from './tables/debugReportsTable';
9
+ import { DebugBundlesTable } from './tables/debugReportsTable';
10
10
  import { EntitiesTable } from './tables/entitiesTable';
11
11
  import { EntityBranchesTable } from './tables/entityBranchesTable';
12
12
  import { FilesTable } from './tables/filesTable';
@@ -85,5 +85,5 @@ export type DbUserScenario = Selectable<UserScenariosTable> & {
85
85
  user?: DbUser;
86
86
  };
87
87
  export type DbStatement = Selectable<StatementsTable>;
88
- export type DbDebugReport = Selectable<DebugReportsTable>;
88
+ export type DbDebugBundle = Selectable<DebugBundlesTable>;
89
89
  //# sourceMappingURL=tableRelations.d.ts.map
@@ -43,7 +43,14 @@ declare const analysesSchema: {
43
43
  validValueOptions: string[];
44
44
  errorValueOptions: string[];
45
45
  valueType?: string;
46
- dependencies?: Record<string, string>[];
46
+ dependencies?: {
47
+ path: string;
48
+ requiredValue: string | boolean;
49
+ description: string;
50
+ fromChainId?: string;
51
+ }[];
52
+ compoundConditionalIds?: string[];
53
+ sourceLocations?: import("~codeyam/types").SourceLocation[];
47
54
  }[];
48
55
  dependencyTree?: import("~codeyam/types").DependencyTreeNode;
49
56
  dependentAnalyses?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"analysesTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/analysesTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EAEf,MAAM,QAAQ,CAAC;AAKhB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;kBA6Bc,CAAA;;;;;;;;;;;+BAUZ,CAAC;;;6BAEa,CAAC;;;;qBAKhB,CAAC;wBAGf,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAUoZ,CAAC;iBAAqB,CAAC;sBAA0B,CAAC;;;;oBAAuE,CAAC;+BAAmC,CAAC;gCAAoC,CAAC;gCAAoC,CAAC;iCAAqC,CAAC;sBAA0B,CAAC;;qBAAkD,CAAC;sBAA0B,CAAC;iBAAqB,CAAC;sBAA0B,CAAC;;;;;;CAtC1zB,CAAC;AAGX,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,OAAO,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAE5B,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC;AAE7B,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE"}
1
+ {"version":3,"file":"analysesTable.d.ts","sourceRoot":"","sources":["../../../../../../../database/src/lib/kysely/tables/analysesTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EAEf,MAAM,QAAQ,CAAC;AAKhB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;kBA4C4B,CAAC;;;;;;;;;;;+BAQvB,CAAC;;;6BAEG,CAAC;;;;qBAKgK,CAAC;wBAAuH,CAAC;;;;2BAAqW,CAAC;;kCAA0H,CAAC;2BAA4G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA2tB,CAAC;iBAAqB,CAAC;sBAA0B,CAAC;;;;oBAAuE,CAAC;+BAAmC,CAAC;gCAAoC,CAAC;gCAAoC,CAAC;iCAAqC,CAAC;sBAA0B,CAAC;;qBAAkD,CAAC;sBAA0B,CAAC;iBAAqB,CAAC;sBAA0B,CAAC;;;;;;CAtC//D,CAAC;AAGX,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,OAAO,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAE5B,CAAC,MAAM,aAAa,CAAC,EAAE,CAAC;AAE7B,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE"}
@@ -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":"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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"}
@@ -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":"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"}
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"}