@codeyam/codeyam-cli 0.1.0-staging.15d0f46 → 0.1.0-staging.1669d45

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 (625) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +9 -5
  5. package/analyzer-template/packages/ai/index.ts +5 -3
  6. package/analyzer-template/packages/ai/package.json +1 -1
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +152 -6
  9. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +107 -1
  10. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  11. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +42 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +38 -1
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +301 -1
  15. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +972 -106
  16. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +232 -0
  17. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  18. package/analyzer-template/packages/ai/src/lib/completionCall.ts +18 -2
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1409 -138
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +771 -0
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +233 -75
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +39 -4
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +23 -0
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +42 -2
  28. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  29. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
  30. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +89 -112
  31. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +6 -0
  32. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +486 -86
  33. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +182 -104
  34. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +201 -0
  35. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  36. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1019 -0
  37. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  38. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  39. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +276 -3
  40. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +33 -3
  41. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +7 -0
  42. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  43. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -102
  44. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +71 -4
  45. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -53
  46. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  47. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  48. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +690 -0
  49. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  50. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  51. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +102 -0
  52. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +8 -1
  53. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +14 -0
  54. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  55. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  56. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +458 -267
  57. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +18 -0
  58. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
  59. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  60. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  61. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  62. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  63. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +196 -0
  64. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  65. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +588 -52
  66. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  67. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  68. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +299 -133
  69. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +156 -0
  70. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -83
  71. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
  72. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +384 -94
  73. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  74. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  75. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  76. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  77. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  78. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  79. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  80. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  81. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  82. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  83. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  84. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  85. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  86. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  87. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  88. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  89. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  90. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  91. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  92. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  93. package/analyzer-template/packages/aws/package.json +2 -2
  94. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  95. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  96. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  97. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  98. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  99. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  100. package/analyzer-template/packages/database/src/lib/kysely/db.ts +4 -4
  101. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
  102. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +36 -9
  103. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +7 -3
  104. package/analyzer-template/packages/generate/index.ts +3 -0
  105. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  106. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  107. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  108. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  109. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
  110. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  111. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -2
  112. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +2 -2
  113. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
  114. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -11
  115. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  116. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +30 -7
  117. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  118. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  119. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  120. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  121. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  122. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
  123. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  124. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  125. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  126. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  127. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  128. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  129. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  130. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  131. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  132. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  133. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  134. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  135. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  136. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  137. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  138. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  139. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  140. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  141. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  142. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  143. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  144. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  145. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  146. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
  147. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  148. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  149. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  150. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  151. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  152. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  153. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  154. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  155. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  156. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  157. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  158. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  159. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  160. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  161. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +63 -13
  162. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  163. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  164. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  165. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
  166. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  167. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +146 -0
  168. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  169. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  170. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  171. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  172. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  173. package/analyzer-template/packages/process/index.ts +2 -0
  174. package/analyzer-template/packages/process/package.json +12 -0
  175. package/analyzer-template/packages/process/tsconfig.json +8 -0
  176. package/analyzer-template/packages/types/index.ts +4 -0
  177. package/analyzer-template/packages/types/src/types/Analysis.ts +79 -13
  178. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  179. package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
  180. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +161 -0
  181. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  182. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  183. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  184. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  185. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +63 -13
  186. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  187. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  188. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  189. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
  190. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  191. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +146 -0
  192. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  193. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  194. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  195. package/analyzer-template/playwright/capture.ts +37 -18
  196. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  197. package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
  198. package/analyzer-template/playwright/waitForServer.ts +21 -6
  199. package/analyzer-template/project/analyzeBaselineCommit.ts +4 -0
  200. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  201. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  202. package/analyzer-template/project/analyzeRegularCommit.ts +4 -0
  203. package/analyzer-template/project/constructMockCode.ts +868 -132
  204. package/analyzer-template/project/controller/startController.ts +16 -1
  205. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  206. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  207. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  208. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +49 -33
  209. package/analyzer-template/project/orchestrateCapture.ts +10 -3
  210. package/analyzer-template/project/reconcileMockDataKeys.ts +102 -2
  211. package/analyzer-template/project/runAnalysis.ts +7 -0
  212. package/analyzer-template/project/serverOnlyModules.ts +127 -2
  213. package/analyzer-template/project/start.ts +26 -4
  214. package/analyzer-template/project/startScenarioCapture.ts +72 -40
  215. package/analyzer-template/project/writeMockDataTsx.ts +118 -55
  216. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  217. package/analyzer-template/project/writeScenarioComponents.ts +263 -92
  218. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  219. package/analyzer-template/project/writeSimpleRoot.ts +13 -15
  220. package/analyzer-template/scripts/comboWorkerLoop.cjs +1 -0
  221. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  222. package/analyzer-template/tsconfig.json +2 -1
  223. package/background/src/lib/local/createLocalAnalyzer.js +1 -29
  224. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  225. package/background/src/lib/local/execAsync.js +1 -1
  226. package/background/src/lib/local/execAsync.js.map +1 -1
  227. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  228. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  229. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +2 -1
  230. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  231. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  232. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  233. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  234. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  235. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +2 -1
  236. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  237. package/background/src/lib/virtualized/project/constructMockCode.js +799 -121
  238. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  239. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  240. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  241. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  242. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  243. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  244. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  245. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  246. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  247. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +42 -28
  248. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  249. package/background/src/lib/virtualized/project/orchestrateCapture.js +7 -4
  250. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  251. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +87 -2
  252. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  253. package/background/src/lib/virtualized/project/runAnalysis.js +6 -0
  254. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  255. package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
  256. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  257. package/background/src/lib/virtualized/project/start.js +21 -4
  258. package/background/src/lib/virtualized/project/start.js.map +1 -1
  259. package/background/src/lib/virtualized/project/startScenarioCapture.js +56 -30
  260. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  261. package/background/src/lib/virtualized/project/writeMockDataTsx.js +110 -48
  262. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  263. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  264. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  265. package/background/src/lib/virtualized/project/writeScenarioComponents.js +211 -75
  266. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  267. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  268. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  269. package/background/src/lib/virtualized/project/writeSimpleRoot.js +13 -13
  270. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  271. package/codeyam-cli/src/cli.js +5 -1
  272. package/codeyam-cli/src/cli.js.map +1 -1
  273. package/codeyam-cli/src/commands/analyze.js +1 -1
  274. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  275. package/codeyam-cli/src/commands/baseline.js +174 -0
  276. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  277. package/codeyam-cli/src/commands/debug.js +28 -18
  278. package/codeyam-cli/src/commands/debug.js.map +1 -1
  279. package/codeyam-cli/src/commands/default.js +0 -15
  280. package/codeyam-cli/src/commands/default.js.map +1 -1
  281. package/codeyam-cli/src/commands/recapture.js +44 -23
  282. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  283. package/codeyam-cli/src/commands/report.js +72 -24
  284. package/codeyam-cli/src/commands/report.js.map +1 -1
  285. package/codeyam-cli/src/commands/start.js +8 -12
  286. package/codeyam-cli/src/commands/start.js.map +1 -1
  287. package/codeyam-cli/src/commands/status.js +23 -1
  288. package/codeyam-cli/src/commands/status.js.map +1 -1
  289. package/codeyam-cli/src/commands/test-startup.js +1 -1
  290. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  291. package/codeyam-cli/src/commands/wipe.js +108 -0
  292. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  293. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  294. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  295. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +27 -27
  296. package/codeyam-cli/src/utils/analysisRunner.js +8 -13
  297. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  298. package/codeyam-cli/src/utils/backgroundServer.js +12 -2
  299. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  300. package/codeyam-cli/src/utils/database.js +91 -5
  301. package/codeyam-cli/src/utils/database.js.map +1 -1
  302. package/codeyam-cli/src/utils/generateReport.js +253 -106
  303. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  304. package/codeyam-cli/src/utils/git.js +79 -0
  305. package/codeyam-cli/src/utils/git.js.map +1 -0
  306. package/codeyam-cli/src/utils/install-skills.js +11 -11
  307. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  308. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  309. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  310. package/codeyam-cli/src/utils/queue/job.js +239 -16
  311. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  312. package/codeyam-cli/src/utils/queue/manager.js +19 -7
  313. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  314. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  315. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  316. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +5 -5
  317. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  318. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  319. package/codeyam-cli/src/utils/wipe.js +128 -0
  320. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  321. package/codeyam-cli/src/webserver/app/lib/database.js +96 -0
  322. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  323. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  324. package/codeyam-cli/src/webserver/backgroundServer.js +2 -5
  325. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  326. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +1 -0
  327. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DKdsUF7Y.js → EntityTypeBadge-COi5OvsN.js} +1 -1
  328. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BwdQv49w.js +41 -0
  329. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CEleMv_j.js +34 -0
  330. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D68KarMg.js +25 -0
  331. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-L75Wvqgw.js +3 -0
  332. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-C53WM8qn.js +6 -0
  333. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-CrNkmy4i.js +3 -0
  334. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +11 -0
  335. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CQifa1n-.js +1 -0
  336. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CyaBFX7l.js +20 -0
  337. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-CWjSsLqY.js → TruncatedFilePath-D36O1rzU.js} +1 -1
  338. package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +11 -0
  339. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +37 -0
  340. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-DgTPh8H-.js +6 -0
  341. package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-DdQKK6on.js +51 -0
  342. package/codeyam-cli/src/webserver/build/client/assets/circle-check-Dmr2bb1R.js +6 -0
  343. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-Do4ZLUYa.js +21 -0
  344. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  345. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  346. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +1 -0
  347. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CbdFyxZh.js +23 -0
  348. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js +6 -0
  349. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-wDWZZO1W.js +6 -0
  350. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BMbl7MeQ.js +5 -0
  351. package/codeyam-cli/src/webserver/build/client/assets/entry.client-5wRKRIH9.js +29 -0
  352. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  353. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DD3SDH7t.js +1 -0
  354. package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +1 -0
  355. package/codeyam-cli/src/webserver/build/client/assets/git-zXjT7J0G.js +15 -0
  356. package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +1 -0
  357. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  358. package/codeyam-cli/src/webserver/build/client/assets/index-DLbXwndH.js +9 -0
  359. package/codeyam-cli/src/webserver/build/client/assets/index-gPZ-lad1.js +3 -0
  360. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-BsPXJ81F.js +6 -0
  361. package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +1 -0
  362. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  363. package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +57 -0
  364. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  365. package/codeyam-cli/src/webserver/build/client/assets/search-P2FKIUql.js +6 -0
  366. package/codeyam-cli/src/webserver/build/client/assets/settings-B2eDuBj8.js +1 -0
  367. package/codeyam-cli/src/webserver/build/client/assets/simulations-L18M6-kN.js +1 -0
  368. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BDz7kbVA.js +6 -0
  369. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-29dDmbH8.js +1 -0
  370. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-CmrTPlIB.js → useLastLogLine-BUm0UVJm.js} +1 -1
  371. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CkIOKTrZ.js +1 -0
  372. package/codeyam-cli/src/webserver/build/client/assets/{useToast-C1ig_BmP.js → useToast-KKw5kTn-.js} +1 -1
  373. package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +1 -0
  374. package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +228 -0
  375. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  376. package/codeyam-cli/src/webserver/build-info.json +5 -5
  377. package/codeyam-cli/src/webserver/devServer.js +1 -3
  378. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  379. package/codeyam-cli/src/webserver/server.js +35 -25
  380. package/codeyam-cli/src/webserver/server.js.map +1 -1
  381. package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam:debug.md} +1 -1
  382. package/codeyam-cli/templates/codeyam:diagnose.md +625 -0
  383. package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam:setup.md} +139 -4
  384. package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam:sim.md} +1 -1
  385. package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam:test.md} +1 -1
  386. package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam:verify.md} +1 -1
  387. package/package.json +8 -8
  388. package/packages/ai/index.js +2 -4
  389. package/packages/ai/index.js.map +1 -1
  390. package/packages/ai/src/lib/analyzeScope.js +107 -0
  391. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  392. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +76 -1
  393. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  394. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  395. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  396. package/packages/ai/src/lib/astScopes/methodSemantics.js +29 -0
  397. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  398. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  399. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  400. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +23 -0
  401. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  402. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +239 -1
  403. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  404. package/packages/ai/src/lib/astScopes/processExpression.js +728 -87
  405. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  406. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  407. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  408. package/packages/ai/src/lib/completionCall.js +17 -1
  409. package/packages/ai/src/lib/completionCall.js.map +1 -1
  410. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1126 -82
  411. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  412. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
  413. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  414. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +482 -0
  415. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  416. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +173 -55
  417. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  418. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +16 -1
  419. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  420. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +35 -2
  421. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  422. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +20 -0
  423. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  424. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  425. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  426. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +34 -3
  427. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  428. package/packages/ai/src/lib/deepEqual.js +32 -0
  429. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  430. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  431. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  432. package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -90
  433. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  434. package/packages/ai/src/lib/generateEntityDataStructure.js +5 -0
  435. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  436. package/packages/ai/src/lib/generateEntityScenarioData.js +398 -81
  437. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  438. package/packages/ai/src/lib/generateEntityScenarios.js +168 -82
  439. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  440. package/packages/ai/src/lib/generateExecutionFlows.js +123 -0
  441. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  442. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  443. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  444. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +742 -0
  445. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  446. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  447. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  448. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  449. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  450. package/packages/ai/src/lib/isolateScopes.js +231 -4
  451. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  452. package/packages/ai/src/lib/mergeStatements.js +26 -3
  453. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  454. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +6 -0
  455. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  456. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  457. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  458. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -64
  459. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  460. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +58 -4
  461. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  462. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -34
  463. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  464. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  465. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  466. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  467. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  468. package/packages/ai/src/lib/resolvePathToControllable.js +563 -0
  469. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  470. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  471. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  472. package/packages/ai/src/lib/worker/SerializableDataStructure.js +22 -0
  473. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  474. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +4 -0
  475. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  476. package/packages/analyze/src/lib/FileAnalyzer.js +15 -0
  477. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  478. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  479. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  480. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  481. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  482. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +214 -50
  483. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  484. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +10 -0
  485. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  486. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
  487. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  488. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  489. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  490. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  491. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  492. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  493. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  494. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  495. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  496. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +159 -0
  497. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  498. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  499. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  500. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +458 -48
  501. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  502. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  503. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  504. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  505. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  506. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +235 -81
  507. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  508. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +96 -0
  509. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  510. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -69
  511. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  512. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
  513. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  514. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +307 -89
  515. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  516. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  517. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  518. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  519. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  520. package/packages/database/src/lib/kysely/db.js +2 -2
  521. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
  522. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  523. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  524. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  525. package/packages/generate/index.js +3 -0
  526. package/packages/generate/index.js.map +1 -1
  527. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  528. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  529. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  530. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  531. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  532. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  533. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  534. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  535. package/packages/generate/src/lib/deepMerge.js +27 -1
  536. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  537. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  538. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  539. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  540. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  541. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  542. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  543. package/packages/process/index.js +3 -0
  544. package/packages/process/index.js.map +1 -0
  545. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  546. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  547. package/packages/process/src/ProcessManager.js.map +1 -0
  548. package/packages/process/src/index.js.map +1 -0
  549. package/packages/process/src/managedExecAsync.js.map +1 -0
  550. package/packages/types/index.js.map +1 -1
  551. package/scripts/finalize-analyzer.cjs +3 -1
  552. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  553. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -197
  554. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -271
  555. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -294
  556. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  557. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -115
  558. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  559. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  560. package/analyzer-template/process/README.md +0 -507
  561. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  562. package/background/src/lib/process/ProcessManager.js.map +0 -1
  563. package/background/src/lib/process/index.js.map +0 -1
  564. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  565. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  566. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  567. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-D0VW1-W7.js +0 -1
  568. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BAk4S4pI.js +0 -1
  569. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Y756iZxZ.js +0 -25
  570. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-zzrrjW1p.js +0 -3
  571. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-QMn7bJg6.js +0 -3
  572. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DmP5mRxX.js +0 -1
  573. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BXwvsbLw.js +0 -1
  574. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DAmUX_1y.js +0 -5
  575. package/codeyam-cli/src/webserver/build/client/assets/_index-Df-nk4J5.js +0 -1
  576. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-_ZUyFdie.js +0 -7
  577. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-Eoh0PhcW.js +0 -1
  578. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CZgPLy5i.js +0 -26
  579. package/codeyam-cli/src/webserver/build/client/assets/circle-check-DI-p9ZLZ.js +0 -1
  580. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DvyV2x6y.js +0 -1
  581. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DURu2qlF.js +0 -1
  582. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-DDobn9Xh.js +0 -16
  583. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CGdWnLD_.js +0 -1
  584. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-DgMmzrKs.js +0 -5
  585. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DEVXuhkn.js +0 -13
  586. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-WPRQyc68.js +0 -1
  587. package/codeyam-cli/src/webserver/build/client/assets/files-B9u3lJer.js +0 -1
  588. package/codeyam-cli/src/webserver/build/client/assets/git-YGnKIuHU.js +0 -11
  589. package/codeyam-cli/src/webserver/build/client/assets/globals-28lrWTTo.css +0 -1
  590. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  591. package/codeyam-cli/src/webserver/build/client/assets/index-CJ0uPJjV.js +0 -1
  592. package/codeyam-cli/src/webserver/build/client/assets/index-CfqeA2XG.js +0 -3
  593. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DIjSvh6B.js +0 -1
  594. package/codeyam-cli/src/webserver/build/client/assets/manifest-8125c15c.js +0 -1
  595. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-BXl3LOEh.js +0 -1
  596. package/codeyam-cli/src/webserver/build/client/assets/root-C-g286WP.js +0 -16
  597. package/codeyam-cli/src/webserver/build/client/assets/search-xBKWfOxd.js +0 -1
  598. package/codeyam-cli/src/webserver/build/client/assets/settings-DVY_wGOx.js +0 -1
  599. package/codeyam-cli/src/webserver/build/client/assets/simulations-Be1pJo5A.js +0 -1
  600. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CR-FkSvx.js +0 -1
  601. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DABetnSj.js +0 -1
  602. package/codeyam-cli/src/webserver/build/server/assets/index-DcR7DH9q.js +0 -1
  603. package/codeyam-cli/src/webserver/build/server/assets/server-build-BDBrfp7e.js +0 -175
  604. package/codeyam-cli/templates/debug-codeyam.md +0 -527
  605. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  606. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  607. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -136
  608. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  609. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -220
  610. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  611. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -241
  612. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  613. package/packages/ai/src/lib/isFrontend.js +0 -5
  614. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  615. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  616. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  617. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -72
  618. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  619. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  620. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  621. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  622. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  623. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  624. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  625. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -1,13 +1,151 @@
1
1
  import completionCall from "./completionCall.js";
2
2
  import generateEntityScenarioDataGenerator from "./promptGenerators/generateEntityScenarioDataGenerator.js";
3
+ import generateMissingKeysPrompt from "./promptGenerators/generateMissingKeysPrompt.js";
3
4
  import { saveLlmCall } from "../../../../packages/aws/dynamodb/index.js";
4
5
  import validateJson from "./validateJson.js";
5
6
  import { awsLog, awsLogDebugLevel } from "../../../../packages/utils/index.js";
6
7
  import { parseJsonSafe } from "../../../../packages/ai/index.js";
8
+ import convertNullToUndefinedBySchema from "./dataStructure/helpers/convertNullToUndefinedBySchema.js";
9
+ /**
10
+ * Check if any of the scenario's covered flows require error data.
11
+ * Returns true if any requiredValue has an error path with truthy comparison.
12
+ */
13
+ function scenarioRequiresErrorData(scenario, executionFlows) {
14
+ const coveredFlowIds = scenario.metadata?.coveredFlows || [];
15
+ for (const flowId of coveredFlowIds) {
16
+ const flow = executionFlows?.find((f) => f.id === flowId);
17
+ if (!flow?.requiredValues)
18
+ continue;
19
+ for (const rv of flow.requiredValues) {
20
+ // Check if any requiredValue has an error path and requires it to be truthy
21
+ if (rv.attributePath?.toLowerCase().includes('.error') &&
22
+ rv.comparison === 'truthy') {
23
+ return true;
24
+ }
25
+ }
26
+ }
27
+ return false;
28
+ }
29
+ /**
30
+ * Deep merge scenario data with default scenario data.
31
+ * The scenario-specific data takes precedence, with default filling in missing fields.
32
+ *
33
+ * IMPORTANT: null values are PRESERVED (not removed) in the result.
34
+ * This is critical because writeMockDataTsx.ts does another deepMerge with default data,
35
+ * and it needs null values to prevent defaults from being filled back in.
36
+ * If we removed null here, the second merge would restore the defaults,
37
+ * making scenarios identical to the default scenario.
38
+ */
39
+ function deepMergeScenarioData(defaultData, scenarioData) {
40
+ // Guard against non-object inputs (LLM sometimes returns primitives)
41
+ if (typeof scenarioData !== 'object' ||
42
+ scenarioData === null ||
43
+ Array.isArray(scenarioData)) {
44
+ // Return scenario value directly if it's not a mergeable object
45
+ return scenarioData;
46
+ }
47
+ if (typeof defaultData !== 'object' ||
48
+ defaultData === null ||
49
+ Array.isArray(defaultData)) {
50
+ // Return scenario value if default isn't mergeable
51
+ return scenarioData;
52
+ }
53
+ const result = {};
54
+ // Start with all keys from default
55
+ for (const key of Object.keys(defaultData)) {
56
+ if (key in scenarioData) {
57
+ const scenarioValue = scenarioData[key];
58
+ const defaultValue = defaultData[key];
59
+ // null means explicitly override with null (falsy value)
60
+ // IMPORTANT: We preserve null instead of removing the key
61
+ // This ensures writeMockDataTsx's deepMerge won't fill in defaults
62
+ if (scenarioValue === null) {
63
+ result[key] = null;
64
+ continue;
65
+ }
66
+ // Deep merge objects (but not arrays)
67
+ if (typeof scenarioValue === 'object' &&
68
+ !Array.isArray(scenarioValue) &&
69
+ typeof defaultValue === 'object' &&
70
+ !Array.isArray(defaultValue) &&
71
+ defaultValue !== null) {
72
+ result[key] = deepMergeScenarioData(defaultValue, scenarioValue);
73
+ }
74
+ else {
75
+ // Use scenario value (overrides default)
76
+ result[key] = scenarioValue;
77
+ }
78
+ }
79
+ else {
80
+ // Key not in scenario, use default
81
+ result[key] = defaultData[key];
82
+ }
83
+ }
84
+ // Add any keys that are only in scenario data (including null values)
85
+ for (const key of Object.keys(scenarioData)) {
86
+ if (!(key in defaultData)) {
87
+ result[key] = scenarioData[key];
88
+ }
89
+ }
90
+ return result;
91
+ }
7
92
  const DEFAULT_SCENARIO_NAME = 'Default Scenario';
8
- export async function generateDataForScenario({ entity, structure, scenario, defaultScenarioData, incompleteResponse, analysis, model, }) {
93
+ /**
94
+ * For Default Scenario only: detect missing mockData keys and make a follow-up
95
+ * LLM call to fill them in. This handles cases where the LLM completes normally
96
+ * but misses some keys (often small/simple ones when the schema is large).
97
+ */
98
+ async function fillMissingMockDataKeys({ structure, scenario, executionFlows, fullScenarioData, model, }) {
99
+ if (!structure.dataForMocks ||
100
+ typeof structure.dataForMocks !== 'object' ||
101
+ Array.isArray(structure.dataForMocks)) {
102
+ return;
103
+ }
104
+ const expectedKeys = Object.keys(structure.dataForMocks);
105
+ const generatedKeys = Object.keys(fullScenarioData.data.mockData || {});
106
+ const missingKeys = expectedKeys.filter((k) => !generatedKeys.includes(k));
107
+ if (missingKeys.length === 0) {
108
+ return;
109
+ }
110
+ awsLog(`Default Scenario missing ${missingKeys.length} keys, making follow-up call`, { missingKeys });
111
+ // Build subset schema with only missing keys
112
+ const missingSchema = {};
113
+ for (const key of missingKeys) {
114
+ missingSchema[key] = structure.dataForMocks[key];
115
+ }
116
+ const followUpPrompt = generateMissingKeysPrompt({
117
+ scenario,
118
+ executionFlows,
119
+ generatedMockData: fullScenarioData.data.mockData || {},
120
+ missingSchema,
121
+ });
122
+ const followUpResponse = await completionCall({
123
+ type: 'generateMissingMockData',
124
+ systemMessage: generateMissingKeysSystemMessage(),
125
+ prompt: followUpPrompt,
126
+ model,
127
+ });
128
+ if (!followUpResponse.completion) {
129
+ return;
130
+ }
131
+ const followUpJson = validateJson(followUpResponse.completion);
132
+ const followUpParsed = parseJsonSafe(followUpJson);
133
+ if (!followUpParsed ||
134
+ typeof followUpParsed !== 'object' ||
135
+ !('mockData' in followUpParsed)) {
136
+ return;
137
+ }
138
+ const followUpMockData = followUpParsed.mockData;
139
+ if (followUpMockData && typeof followUpMockData === 'object') {
140
+ fullScenarioData.data.mockData = {
141
+ ...fullScenarioData.data.mockData,
142
+ ...followUpMockData,
143
+ };
144
+ }
145
+ }
146
+ export async function generateDataForScenario({ entity, structure, scenario, executionFlows, defaultScenarioData, incompleteResponse, analysis, model, }) {
9
147
  awsLogDebugLevel(1, `Generating data for ${entity.name}: ${scenario.name}`);
10
- const prompt = generateEntityScenarioDataGenerator(structure, scenario, defaultScenarioData, incompleteResponse);
148
+ const prompt = generateEntityScenarioDataGenerator(structure, scenario, executionFlows, defaultScenarioData, incompleteResponse);
11
149
  const isDefault = scenario.name === DEFAULT_SCENARIO_NAME;
12
150
  const response = await completionCall({
13
151
  type: 'generateEntityScenarioData',
@@ -45,46 +183,79 @@ export async function generateDataForScenario({ entity, structure, scenario, def
45
183
  },
46
184
  ...response.stats,
47
185
  });
48
- const { completion, finishReason } = response;
186
+ let { completion, finishReason } = response;
49
187
  if (!completion) {
50
188
  console.log('CodeYam Error: Example data generation failed: No response from AI');
51
189
  return null;
52
190
  }
53
- awsLog(`LLMCall ${llmCall ? llmCall.id : 'N/A'}: ${entity.filePath} ${entity.metadata?.exportAlias ?? entity.name} scenario data completion :>> Finish reason:`, {
54
- finishReason,
55
- completion,
56
- });
191
+ awsLogDebugLevel(1, `LLMCall ${llmCall ? llmCall.id : 'N/A'}: ${entity.filePath} ${entity.metadata?.exportAlias ?? entity.name} finishReason: ${finishReason}`);
192
+ // If response was truncated due to token limit, make a continuation call
193
+ if (finishReason === 'length') {
194
+ awsLogDebugLevel(1, 'Response truncated, making continuation call');
195
+ const continuationResponse = await completionCall({
196
+ type: 'generateEntityScenarioData',
197
+ systemMessage: generateIncompleteSystemMessage(scenario.name, isDefault),
198
+ prompt: completion, // Pass the incomplete response as the prompt
199
+ model,
200
+ });
201
+ if (continuationResponse.completion) {
202
+ completion = completion + continuationResponse.completion;
203
+ finishReason = continuationResponse.finishReason;
204
+ }
205
+ }
57
206
  const validJson = validateJson(completion);
58
207
  const parsed = parseJsonSafe(validJson);
59
208
  if (!parsed || typeof parsed !== 'object' || !('scenarioData' in parsed)) {
60
- console.log('CodeYam Debug: generateDataForScenario failed to parse', {
61
- entityName: entity.name,
62
- scenarioName: scenario.name,
63
- hasParsed: !!parsed,
64
- parsedType: typeof parsed,
65
- hasScenarioData: parsed && 'scenarioData' in parsed,
66
- completionPreview: completion.substring(0, 200),
67
- });
209
+ awsLog(`Failed to parse scenario data for ${entity.name}/${scenario.name}`);
68
210
  return null;
69
211
  }
70
- const { scenarioData: scenarioDataWithoutDescription } = parsed;
71
- console.log('CodeYam Debug: generateDataForScenario parsed successfully', {
72
- entityName: entity.name,
73
- scenarioName: scenario.name,
74
- parsedScenarioName: scenarioDataWithoutDescription.scenarioName,
75
- hasData: !!scenarioDataWithoutDescription.data,
76
- dataKeys: scenarioDataWithoutDescription.data
77
- ? Object.keys(scenarioDataWithoutDescription.data)
78
- : [],
79
- });
212
+ let { scenarioData: scenarioDataWithoutDescription } = parsed;
213
+ // FIX: LLM sometimes puts mock data keys directly under scenarioData instead of
214
+ // under scenarioData.data.mockData. Detect and fix this structural issue.
215
+ if (structure.dataForMocks) {
216
+ const scenarioDataAsAny = scenarioDataWithoutDescription;
217
+ const reservedKeys = new Set([
218
+ 'scenarioName',
219
+ 'data',
220
+ 'scenarioDescription',
221
+ ]);
222
+ const misplacedKeys = [];
223
+ // Find keys that are directly under scenarioData but should be in mockData
224
+ for (const key of Object.keys(scenarioDataAsAny)) {
225
+ if (reservedKeys.has(key))
226
+ continue;
227
+ // If this key exists in the dataForMocks schema, it's misplaced
228
+ if (key in structure.dataForMocks) {
229
+ misplacedKeys.push(key);
230
+ }
231
+ }
232
+ if (misplacedKeys.length > 0) {
233
+ // Ensure data.mockData exists
234
+ if (!scenarioDataAsAny.data) {
235
+ scenarioDataAsAny.data = {};
236
+ }
237
+ if (!scenarioDataAsAny.data.mockData) {
238
+ scenarioDataAsAny.data.mockData = {};
239
+ }
240
+ // Move misplaced keys to mockData
241
+ for (const key of misplacedKeys) {
242
+ scenarioDataAsAny.data.mockData[key] = scenarioDataAsAny[key];
243
+ delete scenarioDataAsAny[key];
244
+ }
245
+ // Update the reference
246
+ scenarioDataWithoutDescription =
247
+ scenarioDataAsAny;
248
+ }
249
+ }
80
250
  const fullScenarioData = {
81
251
  ...scenarioDataWithoutDescription,
82
252
  scenarioDescription: scenario?.description ?? '',
83
253
  };
84
254
  if (structure.dataForMocks && !fullScenarioData.data.argumentsData) {
85
255
  fullScenarioData.data.argumentsData = [];
86
- if (structure.arguments && !fullScenarioData.data.argumentsData) {
87
- fullScenarioData.data.argumentsData = [];
256
+ // Populate argumentsData from structure.arguments using top-level data values
257
+ // Bug fix: removed redundant !argumentsData check that was always false after setting to []
258
+ if (structure.arguments) {
88
259
  for (let i = 0; i < structure.arguments.length; ++i) {
89
260
  if (!fullScenarioData.data.argumentsData[i]) {
90
261
  fullScenarioData.data.argumentsData[i] = {};
@@ -103,12 +274,36 @@ export async function generateDataForScenario({ entity, structure, scenario, def
103
274
  fullScenarioData.data.mockData[propKey] = dataAsAny[propKey];
104
275
  }
105
276
  }
277
+ // Convert null values to undefined based on schema type constraints.
278
+ // LLM uses null for "no value" (JSON doesn't support undefined), but TypeScript
279
+ // types like "string | undefined" don't accept null. This converts null→undefined
280
+ // for fields typed as "T | undefined" (but preserves null for "T | null").
281
+ if (structure.dataForMocks && fullScenarioData.data.mockData) {
282
+ convertNullToUndefinedBySchema(fullScenarioData.data.mockData, structure.dataForMocks);
283
+ }
284
+ if (structure.arguments && fullScenarioData.data.argumentsData) {
285
+ for (let i = 0; i < fullScenarioData.data.argumentsData.length; i++) {
286
+ if (structure.arguments[i]) {
287
+ convertNullToUndefinedBySchema(fullScenarioData.data.argumentsData[i], structure.arguments[i]);
288
+ }
289
+ }
290
+ }
291
+ // For Default Scenario only: check for missing keys and make follow-up call if needed
292
+ if (isDefault) {
293
+ await fillMissingMockDataKeys({
294
+ structure,
295
+ scenario,
296
+ executionFlows,
297
+ fullScenarioData,
298
+ model,
299
+ });
300
+ }
106
301
  return {
107
302
  scenarioData: fullScenarioData,
108
303
  llmCall: { name: scenario.name, id: llmCall.id },
109
304
  };
110
305
  }
111
- export default async function generateEntityScenarioData({ entity, structure, scenarios, incompleteResponse, analysis, model, }) {
306
+ export default async function generateEntityScenarioData({ entity, structure, scenarios, executionFlows, incompleteResponse, analysis, model, }) {
112
307
  if (scenarios.length === 0) {
113
308
  return { scenarioDatas: [], llmCalls: [] };
114
309
  }
@@ -120,6 +315,7 @@ export default async function generateEntityScenarioData({ entity, structure, sc
120
315
  entity,
121
316
  structure,
122
317
  scenario: defaultScenario,
318
+ executionFlows,
123
319
  incompleteResponse,
124
320
  analysis,
125
321
  model,
@@ -136,6 +332,7 @@ export default async function generateEntityScenarioData({ entity, structure, sc
136
332
  entity,
137
333
  structure,
138
334
  scenario,
335
+ executionFlows,
139
336
  defaultScenarioData,
140
337
  incompleteResponse,
141
338
  analysis,
@@ -148,28 +345,59 @@ export default async function generateEntityScenarioData({ entity, structure, sc
148
345
  if (nullCount > 0) {
149
346
  awsLog(`⚠️ Warning: ${nullCount} of ${results.length} non-default scenarios failed to generate data for ${entity.name}`);
150
347
  }
151
- scenarioDatas.push(...validResults.map((result) => result.scenarioData));
152
- llmCalls.push(...validResults.map((result) => result.llmCall));
153
- console.log('CodeYam Debug: generateEntityScenarioData results', {
154
- filePath: entity.filePath,
155
- entityName: entity.name,
156
- totalScenarios: scenarios.length,
157
- defaultScenarioGenerated: !!defaultScenarioResult,
158
- otherScenariosRequested: scenarios.length - 1,
159
- otherScenariosResults: results.length,
160
- nullResults: results.filter((r) => r === null).length,
161
- validResults: validResults.length,
162
- finalScenarioDatasCount: scenarioDatas.length,
348
+ // Merge non-default scenario data with default scenario data
349
+ // The LLM generates partial data (only differences), we need to merge with default
350
+ const mergedScenarioDatas = validResults.map((result) => {
351
+ const scenarioData = result.scenarioData;
352
+ // Merge mockData with default mockData
353
+ if (defaultScenarioData.data?.mockData && scenarioData.data?.mockData) {
354
+ scenarioData.data.mockData = deepMergeScenarioData(defaultScenarioData.data.mockData, scenarioData.data.mockData);
355
+ }
356
+ else if (defaultScenarioData.data?.mockData &&
357
+ !scenarioData.data?.mockData) {
358
+ // Use default mockData if scenario has none
359
+ scenarioData.data.mockData = { ...defaultScenarioData.data.mockData };
360
+ }
361
+ // Merge argumentsData with default argumentsData
362
+ if (defaultScenarioData.data?.argumentsData &&
363
+ Array.isArray(defaultScenarioData.data.argumentsData) &&
364
+ scenarioData.data?.argumentsData &&
365
+ Array.isArray(scenarioData.data.argumentsData)) {
366
+ for (let i = 0; i < defaultScenarioData.data.argumentsData.length; i++) {
367
+ const scenarioArg = scenarioData.data.argumentsData[i];
368
+ const defaultArg = defaultScenarioData.data.argumentsData[i];
369
+ // Only merge if both are objects (LLM sometimes returns primitives)
370
+ if (scenarioArg &&
371
+ typeof scenarioArg === 'object' &&
372
+ !Array.isArray(scenarioArg) &&
373
+ defaultArg &&
374
+ typeof defaultArg === 'object' &&
375
+ !Array.isArray(defaultArg)) {
376
+ scenarioData.data.argumentsData[i] = deepMergeScenarioData(defaultArg, scenarioArg);
377
+ }
378
+ else if (scenarioArg !== undefined) {
379
+ // Keep the scenario value as-is (even if primitive)
380
+ scenarioData.data.argumentsData[i] = scenarioArg;
381
+ }
382
+ else if (defaultArg && typeof defaultArg === 'object') {
383
+ // Use default if scenario is undefined and default is an object
384
+ scenarioData.data.argumentsData[i] = { ...defaultArg };
385
+ }
386
+ else {
387
+ scenarioData.data.argumentsData[i] = defaultArg;
388
+ }
389
+ }
390
+ }
391
+ else if (defaultScenarioData.data?.argumentsData &&
392
+ !scenarioData.data?.argumentsData) {
393
+ // Use default argumentsData if scenario has none
394
+ scenarioData.data.argumentsData =
395
+ defaultScenarioData.data.argumentsData.map((arg) => ({ ...arg }));
396
+ }
397
+ return scenarioData;
163
398
  });
164
- awsLog('CodeYam: scenarioDatas :>> ', JSON.stringify({
165
- filePath: entity.filePath,
166
- entityName: entity.name,
167
- scenarioDatas: scenarioDatas.map((sd) => ({
168
- scenarioName: sd.scenarioName,
169
- hasData: !!sd.data,
170
- dataKeys: sd.data ? Object.keys(sd.data) : [],
171
- })),
172
- }, null, 2));
399
+ scenarioDatas.push(...mergedScenarioDatas);
400
+ llmCalls.push(...validResults.map((result) => result.llmCall));
173
401
  return { scenarioDatas, llmCalls };
174
402
  }
175
403
  catch (error) {
@@ -177,27 +405,70 @@ export default async function generateEntityScenarioData({ entity, structure, sc
177
405
  throw error;
178
406
  }
179
407
  }
180
- export const generateSystemMessage = (scenarioName, defaultScenario) => {
408
+ export const generateSystemMessage = (scenarioName, defaultScenario, requiresErrorData = false) => {
181
409
  const scenarioType = defaultScenario
182
410
  ? `## Default Scenario
183
411
  Generate COMPLETE, robust data for the entire data structure.
184
- - Fill ALL fields with realistic values (except error attributes and key attributes set to null or undefined)
185
- - Arrays should have 2-3 items
186
- - Don't skip nested attributes unless the key attributes specify a parent attribute should be null or undefined
412
+ - Fill ALL fields with realistic values (except error attributes)
413
+ - Do not skip any keys, even simple or small entries
414
+ - Arrays should have 3-5 items to provide realistic test data variety
415
+ - Don't skip nested attributes unless the execution flow requirements specify a parent attribute should be null or undefined
187
416
  - This provides the baseline data for all other scenarios`
188
417
  : `## Non-Default Scenario
189
418
  Generate ONLY the differences from the default scenario.
190
419
  - Include only fields that need to change
191
420
  - Set to \`null\` to remove data
192
421
  - Omit unchanged fields—they merge from default`;
422
+ // Only include the "NO ERROR DATA" instruction when the scenario doesn't require error data
423
+ const noErrorDataInstruction = requiresErrorData
424
+ ? `## IMPORTANT: ERROR DATA REQUIRED
425
+ This scenario tests error handling. You MUST include "error" fields with realistic error messages.
426
+ - Set error fields to truthy values (e.g., "Error: Operation failed" or "Something went wrong")
427
+ - The error data is REQUIRED to trigger the correct error UI state`
428
+ : `## CRITICAL: NO ERROR DATA
429
+ NEVER include "error" fields in responses. Skip them entirely.
430
+ - If structure has \`{ data: {...}, error: {...} }\`, only fill \`data\`
431
+ - Leave out any attribute named "error"—do not set to null, omit entirely`;
193
432
  return `You are a test data generator. Create mock data matching a data structure and scenario requirements.
194
433
 
434
+ ## Execution Flow Requirements
435
+ Each scenario has \`coveredFlows\` which lists the execution flows (distinct outcomes/behaviors) this scenario should demonstrate.
436
+ Each flow has \`requiredValues\` - the attribute values that MUST be set to produce that outcome.
437
+
438
+ **Your job**: Generate mock data that satisfies ALL the requiredValues from ALL coveredFlows.
439
+
440
+ For example, if a flow requires:
441
+ \`\`\`json
442
+ {
443
+ "attributePath": "signature[0].isLoading",
444
+ "value": "false",
445
+ "comparison": "equals",
446
+ "valueType": "boolean"
447
+ }
448
+ \`\`\`
449
+ Then set \`isLoading: false\` in the mockData.
450
+
451
+ ## CRITICAL: Blocking Flows to Avoid
452
+ If the scenario includes \`blockingFlowsToAvoid\`, these are flows (like modals, overlays) that would BLOCK the expected UI.
453
+ You MUST generate mock data that PREVENTS these flows from triggering:
454
+
455
+ - For \`comparison: "truthy"\` requirements → set the value to \`false\`, \`null\`, \`undefined\`, or \`0\`
456
+ - For \`comparison: "exists"\` requirements → set the value to \`null\` or omit it entirely
457
+ - For \`comparison: "equals"\` requirements → set a DIFFERENT value than what's required
458
+
459
+ For example, if a blocking flow has:
460
+ \`\`\`json
461
+ {
462
+ "attributePath": "useFetcher().data.success",
463
+ "value": "true",
464
+ "comparison": "truthy"
465
+ }
466
+ \`\`\`
467
+ Then you MUST set \`useFetcher().data\` to \`null\` or \`{ success: false }\` to prevent the modal from appearing.
468
+
195
469
  ${scenarioType}
196
470
 
197
- ## CRITICAL: NO ERROR DATA
198
- NEVER include "error" fields in responses. Skip them entirely.
199
- - If structure has \`{ data: {...}, error: {...} }\`, only fill \`data\`
200
- - Leave out any attribute named "error"—do not set to null, omit entirely
471
+ ${noErrorDataInstruction}
201
472
 
202
473
  ## Special Markers
203
474
 
@@ -213,30 +484,19 @@ Use for relative dates. Code runs in Node (no browser APIs, no external librarie
213
484
  \`\`\`
214
485
  Use simple elements only (\`<div>\`, \`<span>\`). No custom components.
215
486
 
216
- ## Mock Data Keys
217
- Preserve keys exactly as written in the structure. There are two formats:
487
+ ### Arrays
488
+ - Arrays should have many items (at least 4) unless specified otherwise
489
+ - Each item must follow the exact structure provided
490
+ - In general we want robust data, not minimal data unless specified otherwise
218
491
 
219
- ### Standard function calls
220
- \`\`\`json
221
- {
222
- "mockData": {
223
- "useUser()": { "user": { "name": "John" } },
224
- "from().select()": [{ "id": "1" }]
225
- }
226
- }
227
- \`\`\`
228
-
229
- ### Variable-qualified calls (for multiple calls to the same function)
230
- When the same function is called multiple times with results stored in different variables, keys use the format \`variableName <- functionName\`:
231
- \`\`\`json
232
- {
233
- "mockData": {
234
- "entityDiffFetcher <- useFetcher": { "data": null, "state": "idle" },
235
- "reportFetcher <- useFetcher": { "data": { "reportId": "abc123" }, "state": "idle" }
236
- }
237
- }
238
- \`\`\`
239
- This reads as "entityDiffFetcher receives from useFetcher". Each variable gets its own distinct mock data.
492
+ ## CRITICAL: Preserve Exact Structure
493
+ Your response MUST mirror the EXACT nested structure provided in mockData Structure.
494
+ - Do NOT reorganize, split, or create duplicate keys
495
+ - The hierarchy of nested objects must match exactly what was provided unless overridden by scenario rules
496
+ - Only change the leaf VALUES (replacing type descriptions like "string" with actual data like "hello")
497
+ - Copy the key strings EXACTLY from the structure
498
+ - Do NOT modify type parameters, arguments, or any part of the key
499
+ - The keys preserve the exact function call as written in the original code
240
500
 
241
501
  ## Response Format
242
502
  \`\`\`json
@@ -254,9 +514,15 @@ This reads as "entityDiffFetcher receives from useFetcher". Each variable gets i
254
514
  ## Rules
255
515
  - Valid JSON only—no raw code outside markers
256
516
  - No \`undefined\`—use \`null\` or omit
257
- - No data references (can't use \`posts[0]\` elsewhere—duplicate the value)
517
+ - No data references (can't use \`posts[0]\` elsewhere duplicate the value)
258
518
  - Scenario name must match exactly: "${scenarioName}"
259
519
  - Empty mockData: \`{}\`, empty argumentsData: \`[]\`
520
+
521
+ ## IMPORTANT: Avoid Identifier Collisions
522
+ When generating identifier values (SHA hashes, entity IDs, etc.):
523
+ - Use DISTINCT values for different identifier fields
524
+ - Avoid matching: if \`entity.sha\` is "abc123", arrays like \`jobs[].entityShas\` or \`currentlyExecuting.entityShas\` should NOT contain "abc123"
525
+ - This prevents accidental blocking of UI conditionals that check if IDs are in/not-in arrays
260
526
  `;
261
527
  };
262
528
  export const generateIncompleteSystemMessage = (scenarioName, isDefault) => `Your previous response provided us with an incomplete json object.
@@ -268,4 +534,55 @@ Here is the original system message as well:
268
534
  ${generateSystemMessage(scenarioName, isDefault)}
269
535
  \`\`\`
270
536
  `;
537
+ /**
538
+ * System message for follow-up calls to generate missing mockData keys.
539
+ * Includes the same rules as the main system message but with a simpler response format.
540
+ */
541
+ export const generateMissingKeysSystemMessage = () => `You are completing mock data generation for the Default Scenario. The initial response was missing some keys.
542
+
543
+ Generate data ONLY for the missing keys provided in the prompt. Do not skip any of them.
544
+
545
+ ## Special Markers
546
+
547
+ ### Dynamic Dates (\`~~codeyam-code~~\`)
548
+ \`\`\`json
549
+ { "createdAt": { "~~codeyam-code~~": "new Date(Date.now() - 24*60*60*1000)" } }
550
+ \`\`\`
551
+ Use for relative dates. Code runs in Node (no browser APIs, no external libraries).
552
+
553
+ ### JSX Children (\`~~codeyam-jsx~~\`)
554
+ \`\`\`json
555
+ { "children": { "~~codeyam-jsx~~": "<div>Hello</div>" } }
556
+ \`\`\`
557
+ Use simple elements only (\`<div>\`, \`<span>\`). No custom components.
558
+
559
+ ### Arrays
560
+ - Arrays should have many items (at least 4) unless specified otherwise
561
+ - Each item must follow the exact structure provided
562
+
563
+ ## CRITICAL: Preserve Exact Structure
564
+ Your response MUST mirror the EXACT nested structure provided for the missing keys.
565
+ - Only change the leaf VALUES (replacing type descriptions like "string" with actual data)
566
+ - Copy the key strings EXACTLY from the structure
567
+ - Do NOT modify type parameters, arguments, or any part of the key
568
+
569
+ ## CRITICAL: NO ERROR DATA
570
+ NEVER include "error" fields in responses. Skip them entirely.
571
+ - If structure has \`{ data: {...}, error: {...} }\`, only fill \`data\`
572
+ - Leave out any attribute named "error"—do not set to null, omit entirely
573
+
574
+ ## Response Format
575
+ \`\`\`json
576
+ {
577
+ "mockData": {
578
+ // fill in ONLY the missing keys
579
+ }
580
+ }
581
+ \`\`\`
582
+
583
+ ## Rules
584
+ - Valid JSON only—no raw code outside markers
585
+ - No \`undefined\`—use \`null\` or omit
586
+ - No data references (can't use \`posts[0]\` elsewhere — duplicate the value)
587
+ `;
271
588
  //# sourceMappingURL=generateEntityScenarioData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEntityScenarioData.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityScenarioData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateEntityScenarioData.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityScenarioData.ts"],"names":[],"mappings":"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"}