@codeyam/codeyam-cli 0.1.0-staging.b8a55ba → 0.1.0-staging.c90f8c9

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 (645) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +9 -6
  5. package/analyzer-template/packages/ai/index.ts +10 -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 +126 -6
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +116 -1
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +140 -6
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +15 -0
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  16. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +849 -9
  17. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +244 -0
  18. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  19. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +892 -117
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +296 -35
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +120 -76
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +80 -5
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +8 -1
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  28. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  29. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  30. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  31. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  32. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
  33. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +86 -142
  34. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +1 -0
  35. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1111 -87
  36. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +191 -191
  37. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +570 -0
  38. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  39. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1977 -0
  40. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  41. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +5 -5
  42. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +276 -3
  43. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +33 -3
  44. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  45. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -142
  46. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  47. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  48. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +90 -6
  49. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -89
  50. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  51. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +11 -11
  52. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  53. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +812 -0
  54. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  55. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  56. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +118 -0
  57. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +14 -0
  58. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  59. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  60. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  61. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +381 -265
  62. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +18 -0
  63. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
  64. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -7
  65. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  66. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  67. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  68. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  69. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +148 -41
  70. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  71. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +506 -59
  72. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  73. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +157 -74
  74. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +156 -0
  75. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +35 -129
  76. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -3
  77. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +420 -87
  78. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  79. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  80. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  81. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  82. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  83. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  84. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  85. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  86. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  87. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  88. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  89. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  90. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  91. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  92. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  93. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  94. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  95. package/analyzer-template/packages/aws/package.json +3 -3
  96. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  97. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  98. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  99. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  100. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +17 -1
  101. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  102. package/analyzer-template/packages/database/src/lib/loadCommits.ts +16 -0
  103. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  104. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +7 -3
  105. package/analyzer-template/packages/generate/index.ts +3 -0
  106. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  107. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  108. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  109. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  110. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -18
  111. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  112. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +17 -1
  113. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  114. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  115. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  116. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  117. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
  118. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  119. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  120. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  121. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  122. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  123. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  124. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  125. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +13 -1
  126. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  127. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  128. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  129. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  130. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  131. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  132. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  133. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  134. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  135. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  136. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  137. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  138. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  139. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  140. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  141. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  142. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  143. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  144. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  145. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  146. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  147. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  148. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  149. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  150. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  151. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  152. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  153. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  154. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  155. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  156. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  157. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  158. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  159. package/analyzer-template/packages/github/dist/types/index.d.ts +3 -4
  160. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  161. package/analyzer-template/packages/github/dist/types/index.js +0 -1
  162. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  163. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +71 -27
  164. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  165. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  166. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  167. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +9 -54
  168. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  169. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +1 -21
  170. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  171. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +148 -0
  172. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  173. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  174. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  175. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  176. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  177. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  178. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  179. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  180. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  181. package/analyzer-template/packages/process/index.ts +2 -0
  182. package/analyzer-template/packages/process/package.json +12 -0
  183. package/analyzer-template/packages/process/tsconfig.json +8 -0
  184. package/analyzer-template/packages/types/index.ts +3 -6
  185. package/analyzer-template/packages/types/src/types/Analysis.ts +87 -27
  186. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  187. package/analyzer-template/packages/types/src/types/Scenario.ts +9 -77
  188. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +175 -0
  189. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  190. package/analyzer-template/packages/utils/dist/types/index.d.ts +3 -4
  191. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  192. package/analyzer-template/packages/utils/dist/types/index.js +0 -1
  193. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  194. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +71 -27
  195. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  196. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  197. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  198. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +9 -54
  199. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  200. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +1 -21
  201. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  202. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +148 -0
  203. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  204. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  205. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  206. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  207. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  208. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  209. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  210. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  211. package/analyzer-template/playwright/capture.ts +37 -18
  212. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  213. package/analyzer-template/playwright/waitForServer.ts +21 -6
  214. package/analyzer-template/project/analyzeBaselineCommit.ts +4 -0
  215. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  216. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  217. package/analyzer-template/project/analyzeRegularCommit.ts +4 -0
  218. package/analyzer-template/project/constructMockCode.ts +1112 -169
  219. package/analyzer-template/project/controller/startController.ts +16 -1
  220. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  221. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  222. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  223. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +7 -1
  224. package/analyzer-template/project/orchestrateCapture.ts +36 -3
  225. package/analyzer-template/project/reconcileMockDataKeys.ts +220 -78
  226. package/analyzer-template/project/runAnalysis.ts +11 -0
  227. package/analyzer-template/project/serverOnlyModules.ts +127 -2
  228. package/analyzer-template/project/start.ts +16 -4
  229. package/analyzer-template/project/startScenarioCapture.ts +6 -0
  230. package/analyzer-template/project/writeMockDataTsx.ts +164 -24
  231. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  232. package/analyzer-template/project/writeScenarioComponents.ts +304 -112
  233. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  234. package/analyzer-template/project/writeSimpleRoot.ts +11 -35
  235. package/analyzer-template/scripts/comboWorkerLoop.cjs +1 -0
  236. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  237. package/analyzer-template/tsconfig.json +2 -1
  238. package/background/src/lib/local/createLocalAnalyzer.js +1 -29
  239. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  240. package/background/src/lib/local/execAsync.js +1 -1
  241. package/background/src/lib/local/execAsync.js.map +1 -1
  242. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  243. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  244. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +2 -1
  245. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  246. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  247. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  248. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  249. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  250. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +2 -1
  251. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  252. package/background/src/lib/virtualized/project/constructMockCode.js +987 -130
  253. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  254. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  255. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  256. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  257. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  258. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  259. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  260. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  261. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  262. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +3 -1
  263. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  264. package/background/src/lib/virtualized/project/orchestrateCapture.js +27 -4
  265. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  266. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +188 -47
  267. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  268. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  269. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  270. package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
  271. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  272. package/background/src/lib/virtualized/project/start.js +15 -4
  273. package/background/src/lib/virtualized/project/start.js.map +1 -1
  274. package/background/src/lib/virtualized/project/startScenarioCapture.js +7 -0
  275. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  276. package/background/src/lib/virtualized/project/writeMockDataTsx.js +139 -23
  277. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  278. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  279. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  280. package/background/src/lib/virtualized/project/writeScenarioComponents.js +228 -95
  281. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  282. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  283. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  284. package/background/src/lib/virtualized/project/writeSimpleRoot.js +11 -34
  285. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  286. package/codeyam-cli/src/cli.js +5 -1
  287. package/codeyam-cli/src/cli.js.map +1 -1
  288. package/codeyam-cli/src/commands/analyze.js +1 -1
  289. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  290. package/codeyam-cli/src/commands/baseline.js +174 -0
  291. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  292. package/codeyam-cli/src/commands/debug.js +28 -18
  293. package/codeyam-cli/src/commands/debug.js.map +1 -1
  294. package/codeyam-cli/src/commands/default.js +0 -15
  295. package/codeyam-cli/src/commands/default.js.map +1 -1
  296. package/codeyam-cli/src/commands/recapture.js +29 -18
  297. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  298. package/codeyam-cli/src/commands/report.js +46 -1
  299. package/codeyam-cli/src/commands/report.js.map +1 -1
  300. package/codeyam-cli/src/commands/start.js +8 -12
  301. package/codeyam-cli/src/commands/start.js.map +1 -1
  302. package/codeyam-cli/src/commands/status.js +23 -1
  303. package/codeyam-cli/src/commands/status.js.map +1 -1
  304. package/codeyam-cli/src/commands/test-startup.js +1 -1
  305. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  306. package/codeyam-cli/src/commands/wipe.js +108 -0
  307. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  308. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  309. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  310. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +31 -27
  311. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  312. package/codeyam-cli/src/utils/analysisRunner.js +28 -14
  313. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  314. package/codeyam-cli/src/utils/backgroundServer.js +12 -2
  315. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  316. package/codeyam-cli/src/utils/database.js +91 -5
  317. package/codeyam-cli/src/utils/database.js.map +1 -1
  318. package/codeyam-cli/src/utils/generateReport.js +4 -3
  319. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  320. package/codeyam-cli/src/utils/git.js +79 -0
  321. package/codeyam-cli/src/utils/git.js.map +1 -0
  322. package/codeyam-cli/src/utils/install-skills.js +31 -17
  323. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  324. package/codeyam-cli/src/utils/queue/job.js +105 -0
  325. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  326. package/codeyam-cli/src/utils/queue/manager.js +6 -0
  327. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  328. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  329. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  330. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +7 -5
  331. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  332. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  333. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  334. package/codeyam-cli/src/utils/wipe.js +128 -0
  335. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  336. package/codeyam-cli/src/webserver/app/lib/database.js +73 -20
  337. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  338. package/codeyam-cli/src/webserver/bootstrap.js +40 -0
  339. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  340. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BXhEawa3.js +1 -0
  341. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-CzGX-miz.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
  342. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Ba2JVPzP.js +41 -0
  343. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-C8lyxW9k.js +34 -0
  344. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-aht4aafF.js +25 -0
  345. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CBQPrpT0.js → LibraryFunctionPreview-CVtiBnY5.js} +1 -1
  346. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-D1CdlbrV.js → LoadingDots-B0GLXMsr.js} +1 -1
  347. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-wDPcZNKx.js → LogViewer-xgeCVgSM.js} +1 -1
  348. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-D4TZhLuw.js +21 -0
  349. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-BfmDgXxG.js → SafeScreenshot-DuDvi0jm.js} +1 -1
  350. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DEx02QDa.js +10 -0
  351. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-6J7zDUD5.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
  352. package/codeyam-cli/src/webserver/build/client/assets/_index-BwqWJOgH.js +11 -0
  353. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DoLIqZX2.js +37 -0
  354. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BYimnrHg.js → chevron-down-Cx24_aWc.js} +1 -1
  355. package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-CXRTFQ3F.js +51 -0
  356. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CaVsIRxt.js → circle-check-BOARzkeR.js} +1 -1
  357. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-CgUsG7ib.js → createLucideIcon-BdhJEx6B.js} +1 -1
  358. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  359. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  360. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BRb-0kQl.js +1 -0
  361. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-zUEpfPsu.js → entity._sha._-C2N4Op8e.js} +12 -12
  362. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js +6 -0
  363. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D1T4TGjf.js +6 -0
  364. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CfLCUi9S.js → entity._sha_.edit._scenarioId-CTBG2mmz.js} +1 -1
  365. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DKJyZfAY.js → entry.client-CS2cb_eZ.js} +6 -6
  366. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  367. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DAtOlaWE.js → fileTableUtils-DMJ7zii9.js} +1 -1
  368. package/codeyam-cli/src/webserver/build/client/assets/files-Cs4MdYtv.js +1 -0
  369. package/codeyam-cli/src/webserver/build/client/assets/{git-D62Lxxmv.js → git-B4RJRvYB.js} +2 -2
  370. package/codeyam-cli/src/webserver/build/client/assets/git-commit-horizontal-CysbcZxi.js +6 -0
  371. package/codeyam-cli/src/webserver/build/client/assets/globals-DMUaGAqV.css +1 -0
  372. package/codeyam-cli/src/webserver/build/client/assets/{index-CzNNiTkw.js → index-B1h680n5.js} +1 -1
  373. package/codeyam-cli/src/webserver/build/client/assets/{index-BosqDOlH.js → index-lzqtyFU8.js} +1 -1
  374. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CNp9QFCX.js → loader-circle-B7B9V-bu.js} +1 -1
  375. package/codeyam-cli/src/webserver/build/client/assets/manifest-f874c610.js +1 -0
  376. package/codeyam-cli/src/webserver/build/client/assets/root-Bz5TunQg.js +57 -0
  377. package/codeyam-cli/src/webserver/build/client/assets/rules-hEkvVw2-.js +97 -0
  378. package/codeyam-cli/src/webserver/build/client/assets/{search-DDGjYAMJ.js → search-CxXUmBSd.js} +1 -1
  379. package/codeyam-cli/src/webserver/build/client/assets/settings-CS5f3WzT.js +1 -0
  380. package/codeyam-cli/src/webserver/build/client/assets/simulations-DwFIBT09.js +1 -0
  381. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CBc5dE1s.js → triangle-alert-B6LgvRJg.js} +1 -1
  382. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-C1v1PQzo.js +1 -0
  383. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BqPPNjAl.js → useLastLogLine-aSv48UbS.js} +1 -1
  384. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DYxHZQuP.js +1 -0
  385. package/codeyam-cli/src/webserver/build/client/assets/{useToast-DWHcCcl1.js → useToast-mBRpZPiu.js} +1 -1
  386. package/codeyam-cli/src/webserver/build/server/assets/index-uNNbimct.js +1 -0
  387. package/codeyam-cli/src/webserver/build/server/assets/server-build-B08qC4Y7.js +257 -0
  388. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  389. package/codeyam-cli/src/webserver/build-info.json +5 -5
  390. package/codeyam-cli/src/webserver/server.js +35 -25
  391. package/codeyam-cli/src/webserver/server.js.map +1 -1
  392. package/codeyam-cli/templates/codeyam-power-rules-hook.sh +200 -0
  393. package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam:debug.md} +48 -4
  394. package/codeyam-cli/templates/{debug-codeyam.md → codeyam:diagnose.md} +185 -23
  395. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  396. package/codeyam-cli/templates/codeyam:power-rules.md +449 -0
  397. package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam:setup.md} +139 -4
  398. package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam:sim.md} +1 -1
  399. package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam:test.md} +1 -1
  400. package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam:verify.md} +1 -1
  401. package/package.json +6 -5
  402. package/packages/ai/index.js +5 -4
  403. package/packages/ai/index.js.map +1 -1
  404. package/packages/ai/src/lib/analyzeScope.js +97 -0
  405. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  406. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  407. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  408. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +84 -1
  409. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  410. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  411. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  412. package/packages/ai/src/lib/astScopes/methodSemantics.js +97 -6
  413. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  414. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  415. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  416. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +7 -0
  417. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  418. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  419. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  420. package/packages/ai/src/lib/astScopes/processExpression.js +654 -13
  421. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  422. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  423. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  424. package/packages/ai/src/lib/completionCall.js +178 -31
  425. package/packages/ai/src/lib/completionCall.js.map +1 -1
  426. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +715 -64
  427. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  428. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
  429. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  430. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +230 -23
  431. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  432. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +77 -55
  433. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  434. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +67 -3
  435. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  436. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  437. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  438. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +6 -1
  439. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  440. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  441. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  442. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  443. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  444. package/packages/ai/src/lib/deepEqual.js +32 -0
  445. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  446. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  447. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  448. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  449. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  450. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  451. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  452. package/packages/ai/src/lib/generateChangesEntityScenarios.js +78 -120
  453. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  454. package/packages/ai/src/lib/generateEntityDataStructure.js +1 -0
  455. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  456. package/packages/ai/src/lib/generateEntityScenarioData.js +906 -82
  457. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  458. package/packages/ai/src/lib/generateEntityScenarios.js +170 -162
  459. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  460. package/packages/ai/src/lib/generateExecutionFlows.js +392 -0
  461. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  462. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  463. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  464. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1440 -0
  465. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  466. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  467. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  468. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -2
  469. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  470. package/packages/ai/src/lib/isolateScopes.js +231 -4
  471. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  472. package/packages/ai/src/lib/mergeStatements.js +26 -3
  473. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  474. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  475. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  476. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -100
  477. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  478. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  479. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  480. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +68 -6
  481. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  482. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -70
  483. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  484. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  485. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  486. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +9 -9
  487. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  488. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  489. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  490. package/packages/ai/src/lib/resolvePathToControllable.js +667 -0
  491. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  492. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  493. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  494. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  495. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  496. package/packages/analyze/src/lib/FileAnalyzer.js +15 -0
  497. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  498. package/packages/analyze/src/lib/analysisContext.js +30 -5
  499. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  500. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  501. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  502. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  503. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  504. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +151 -52
  505. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  506. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +10 -0
  507. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  508. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
  509. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  510. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -7
  511. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  512. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  513. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  514. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  515. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  516. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  517. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  518. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  519. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  520. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +121 -37
  521. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  522. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  523. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  524. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +410 -55
  525. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  526. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  527. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  528. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +126 -57
  529. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  530. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +96 -0
  531. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  532. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +27 -98
  533. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  534. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -3
  535. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  536. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +342 -83
  537. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  538. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  539. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  540. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  541. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  542. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  543. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  544. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  545. package/packages/database/src/lib/loadAnalyses.js +45 -2
  546. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  547. package/packages/database/src/lib/loadCommits.js +13 -1
  548. package/packages/database/src/lib/loadCommits.js.map +1 -1
  549. package/packages/database/src/lib/loadEntities.js +23 -4
  550. package/packages/database/src/lib/loadEntities.js.map +1 -1
  551. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  552. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  553. package/packages/generate/index.js +3 -0
  554. package/packages/generate/index.js.map +1 -1
  555. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  556. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  557. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  558. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  559. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  560. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  561. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  562. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  563. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  564. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  565. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  566. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  567. package/packages/process/index.js +3 -0
  568. package/packages/process/index.js.map +1 -0
  569. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  570. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  571. package/packages/process/src/ProcessManager.js.map +1 -0
  572. package/packages/process/src/index.js.map +1 -0
  573. package/packages/process/src/managedExecAsync.js.map +1 -0
  574. package/packages/types/index.js +0 -1
  575. package/packages/types/index.js.map +1 -1
  576. package/packages/types/src/types/Scenario.js +1 -21
  577. package/packages/types/src/types/Scenario.js.map +1 -1
  578. package/packages/utils/src/lib/safeFileName.js +29 -3
  579. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  580. package/scripts/finalize-analyzer.cjs +3 -3
  581. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  582. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -409
  583. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -288
  584. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -495
  585. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  586. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -120
  587. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  588. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  589. package/analyzer-template/process/README.md +0 -507
  590. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  591. package/background/src/lib/process/ProcessManager.js.map +0 -1
  592. package/background/src/lib/process/index.js.map +0 -1
  593. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  594. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  595. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  596. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js +0 -7
  597. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js.map +0 -1
  598. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +0 -1
  599. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +0 -41
  600. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +0 -25
  601. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +0 -11
  602. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +0 -15
  603. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +0 -11
  604. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-2mG6mjVb.js +0 -32
  605. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +0 -51
  606. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +0 -1
  607. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +0 -1
  608. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +0 -1
  609. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +0 -1
  610. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +0 -1
  611. package/codeyam-cli/src/webserver/build/client/assets/globals-C6vQASxy.css +0 -1
  612. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +0 -1
  613. package/codeyam-cli/src/webserver/build/client/assets/manifest-09d684be.js +0 -1
  614. package/codeyam-cli/src/webserver/build/client/assets/root-BxJUvKau.js +0 -56
  615. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +0 -1
  616. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +0 -1
  617. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +0 -1
  618. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +0 -1
  619. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +0 -1
  620. package/codeyam-cli/src/webserver/build/server/assets/index-CV6i1S1A.js +0 -1
  621. package/codeyam-cli/src/webserver/build/server/assets/server-build-BDlyhfrv.js +0 -175
  622. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  623. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  624. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -298
  625. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  626. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -226
  627. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  628. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -408
  629. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  630. package/packages/ai/src/lib/isFrontend.js +0 -5
  631. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  632. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  633. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  634. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -77
  635. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  636. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  637. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  638. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  639. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  640. /package/codeyam-cli/src/webserver/build/client/assets/{api.link-scenario-value-l0sNRNKZ.js → api.health-l0sNRNKZ.js} +0 -0
  641. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-key-attributes-l0sNRNKZ.js → api.restart-server-l0sNRNKZ.js} +0 -0
  642. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-valid-values-l0sNRNKZ.js → api.rules-l0sNRNKZ.js} +0 -0
  643. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  644. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  645. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -1,77 +0,0 @@
1
- import { normalizeKey } from "../../../../packages/utils/index.js";
2
- import { joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, } from "./splitOutsideParentheses.js";
3
- function findEquivalent(path, equivalents) {
4
- const pathParts = splitOutsideParenthesesAndArrays(path);
5
- for (const equivalentKey in equivalents) {
6
- const equivalentKeyParts = splitOutsideParenthesesAndArrays(equivalentKey);
7
- if (equivalentKeyParts.some((part) => part.startsWith('signature['))) {
8
- continue;
9
- }
10
- const relevantKey = joinParenthesesAndArrays(pathParts.slice(0, equivalentKeyParts.length));
11
- if (equivalentKey === relevantKey) {
12
- const equivalentValue = equivalents[equivalentKey];
13
- return joinParenthesesAndArrays([
14
- equivalentValue,
15
- ...pathParts.slice(equivalentKeyParts.length),
16
- ]);
17
- }
18
- }
19
- }
20
- function findReverseEquivalent(path, equivalents) {
21
- const pathParts = splitOutsideParenthesesAndArrays(path);
22
- for (const [equivalentKey, equivalentValue] of Object.entries(equivalents)) {
23
- const equivalentKeyParts = splitOutsideParenthesesAndArrays(equivalentKey);
24
- if (equivalentKeyParts.some((part) => part.startsWith('signature['))) {
25
- continue;
26
- }
27
- const equivalentValueParts = splitOutsideParenthesesAndArrays(equivalentValue);
28
- const relevantKey = joinParenthesesAndArrays(pathParts.slice(0, equivalentValueParts.length));
29
- if (equivalentValue === relevantKey) {
30
- return joinParenthesesAndArrays([
31
- equivalentKey,
32
- ...pathParts.slice(equivalentValueParts.length),
33
- ]);
34
- }
35
- }
36
- }
37
- export default function findMatchingAttribute(attributePath, attributesList, equivalents) {
38
- // console.log("CODEYAM DEBUG: findMatchingAttribute called with", JSON.stringify({
39
- // attributePath,
40
- // attributesList,
41
- // equivalents,
42
- // }, null, 2));
43
- const equivalent = findEquivalent(attributePath, equivalents);
44
- const reverseEquivalent = findReverseEquivalent(attributePath, equivalents);
45
- if (attributesList.includes(attributePath)) {
46
- if (reverseEquivalent) {
47
- return reverseEquivalent;
48
- }
49
- return attributePath;
50
- }
51
- else if (equivalent && attributesList.includes(equivalent)) {
52
- return equivalent;
53
- }
54
- else {
55
- const normalizedPath = normalizeKey(attributePath);
56
- const matchingAttribute = attributesList.find((attr) => normalizeKey(attr) === normalizedPath);
57
- // If no exact match find the attribute that matches the most characters starting from the beginning
58
- if (!matchingAttribute) {
59
- const options = attributesList;
60
- const normalizedPathCharacters = normalizedPath.split('');
61
- for (const attr of options) {
62
- const attrCharacters = normalizeKey(attr).split('');
63
- const matchLength = normalizedPathCharacters.findIndex((char, index) => char !== attrCharacters[index]);
64
- if (matchLength !== -1) {
65
- const matchedPrefix = normalizedPathCharacters.slice(0, matchLength);
66
- if (matchedPrefix.length > 0) {
67
- return attr;
68
- }
69
- }
70
- }
71
- }
72
- if (matchingAttribute)
73
- return matchingAttribute;
74
- return null;
75
- }
76
- }
77
- //# sourceMappingURL=findMatchingAttribute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findMatchingAttribute.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/findMatchingAttribute.ts"],"names":[],"mappings":"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"}
@@ -1,298 +0,0 @@
1
- import { joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, } from "./splitOutsideParentheses.js";
2
- import { gatherAttributesMap } from "./promptGenerators/gatherAttributesMap.js";
3
- export default function gatherRelevantDependentKeyAttributes(entity, mergedDataStructure, dependentAnalyses) {
4
- // console.info(
5
- // 'CODEYAM DEBUG: gatherRelevantDependentKeyAttributes inputs',
6
- // entity.name,
7
- // JSON.stringify(
8
- // {
9
- // entity: {
10
- // metadata: {
11
- // isolatedDataStructure:
12
- // entity.metadata?.isolatedDataStructure,
13
- // },
14
- // },
15
- // dependentAnalyses: Object.keys(dependentAnalyses).reduce(
16
- // (acc, path) => {
17
- // acc[path] = Object.keys(dependentAnalyses[path]).reduce(
18
- // (entityAcc, entityName) => {
19
- // entityAcc[entityName] = {
20
- // metadata: {
21
- // keyAttributes:
22
- // dependentAnalyses[path][entityName].metadata
23
- // .keyAttributes,
24
- // },
25
- // entity: {
26
- // metadata: {
27
- // isolatedDataStructure:
28
- // dependentAnalyses[path][entityName].entity.metadata
29
- // ?.isolatedDataStructure,
30
- // },
31
- // },
32
- // };
33
- // return entityAcc;
34
- // },
35
- // {},
36
- // );
37
- // return acc;
38
- // },
39
- // {} as Record<string, Record<string, Record<string, unknown>[]>>,
40
- // ),
41
- // },
42
- // null,
43
- // 2,
44
- // ),
45
- // );
46
- const isolatedDataStructure = entity.metadata?.isolatedDataStructure;
47
- const equivalentSignatureVariables = isolatedDataStructure?.equivalentSignatureVariables ?? {};
48
- const { associationMap } = gatherAttributesMap(isolatedDataStructure ?? mergedDataStructure, mergedDataStructure, equivalentSignatureVariables);
49
- const dependencySchemas = mergedDataStructure?.dependencySchemas;
50
- const relevantDependentKeyAttributes = [];
51
- Object.keys(dependentAnalyses).forEach((path) => {
52
- Object.keys(dependentAnalyses[path]).forEach((entityName) => {
53
- const dependentAnalysis = dependentAnalyses[path][entityName];
54
- const dependentKeyAtttributes = dependentAnalysis?.metadata?.keyAttributes;
55
- if (!dependentKeyAtttributes || dependentKeyAtttributes.length === 0)
56
- return;
57
- const dependencySchema = dependencySchemas?.[path]?.[entityName];
58
- const signatureSchema = dependencySchema?.signatureSchema;
59
- if (!signatureSchema)
60
- return;
61
- // Get sourceEquivalencies from the dependent analysis's mergedDataStructure,
62
- // not from dependencySchemas (which doesn't store them)
63
- const sourceEquivalencies = dependentAnalysis?.metadata?.mergedDataStructure?.sourceEquivalencies ??
64
- {};
65
- // Build a fallback mapping from parent's usageEquivalencies
66
- // This helps when the child's sourceEquivalencies don't have a mapping
67
- // For example, if parent passes `entity` to child's `signature[0]`,
68
- // usageEquivalencies might have: entity -> [{schemaPath: 'signature[0]', scopeNodeName: entityName}]
69
- const usageEquivalencies = mergedDataStructure?.usageEquivalencies ?? {};
70
- const signatureToParentPath = {};
71
- for (const parentPath in usageEquivalencies) {
72
- const usages = usageEquivalencies[parentPath];
73
- for (const usage of usages) {
74
- if (usage.scopeNodeName !== entityName)
75
- continue;
76
- // Extract signature path from schemaPath
77
- // Format can be:
78
- // 1. "functionName(args).signature[N]" or "functionName(args).signature[N].property" (real data)
79
- // 2. "signature[N]" or "signature[N].property" (simplified/test format)
80
- let signaturePath;
81
- const signatureIndex = usage.schemaPath.indexOf('.signature[');
82
- if (signatureIndex !== -1) {
83
- // Full format: extract "signature[N]" or "signature[N].property" after the dot
84
- signaturePath = usage.schemaPath.slice(signatureIndex + 1);
85
- }
86
- else if (usage.schemaPath.startsWith('signature[')) {
87
- // Simplified format: already starts with signature[
88
- signaturePath = usage.schemaPath;
89
- }
90
- else {
91
- continue;
92
- }
93
- // Map child's signature path to parent's path
94
- // e.g., 'signature[0]' -> 'entity'
95
- signatureToParentPath[signaturePath] = parentPath;
96
- }
97
- }
98
- // If sourceEquivalencies is empty but the child has mocked imports,
99
- // only propagate key attributes that come from mocked data sources
100
- // (not props that the parent passes to the child)
101
- if (Object.keys(sourceEquivalencies).length === 0) {
102
- // Collect names of mocked imports
103
- const importedExports = dependentAnalysis.entity?.metadata?.importedExports ?? [];
104
- const nodeModuleImports = dependentAnalysis.entity?.metadata?.nodeModuleImports ?? {};
105
- const mockedImportNames = new Set();
106
- // Collect mocked names from importedExports
107
- for (const imp of importedExports) {
108
- if (imp.isMocked) {
109
- mockedImportNames.add(imp.name);
110
- }
111
- }
112
- // Collect mocked names from nodeModuleImports
113
- for (const imports of Object.values(nodeModuleImports)) {
114
- for (const imp of imports) {
115
- if (imp.isMocked) {
116
- mockedImportNames.add(imp.name);
117
- }
118
- }
119
- }
120
- if (mockedImportNames.size > 0) {
121
- for (const dependentKeyAttribute of dependentKeyAtttributes) {
122
- // Include key attributes that come from controllable data sources:
123
- // 1. Mocked data sources (like getScenarioDisplayState())
124
- // 2. Arguments/props passed to the child (signature[N].*)
125
- // Exclude attributes that are clearly just the prop name itself (like "size")
126
- const externalPath = dependentKeyAttribute.externalPath || '';
127
- const dataStructurePath = dependentKeyAttribute.dataStructurePath || '';
128
- const comesFromMockedSource = Array.from(mockedImportNames).some((mockedName) => externalPath.includes(`${mockedName}(`) ||
129
- externalPath.includes(`${mockedName}.`) ||
130
- dataStructurePath.includes(`${mockedName}(`) ||
131
- dataStructurePath.includes(`${mockedName}.`) ||
132
- dataStructurePath.startsWith(mockedName));
133
- // Check if it comes from an argument (signature[N].something.deeper)
134
- // but not just a simple prop like "size" or "isOutdated"
135
- const comesFromArgument = externalPath.startsWith('signature[') &&
136
- // Must have nested path (at least one dot after the prop name)
137
- // e.g., signature[0].scenario.metadata.* is OK
138
- // but signature[0].size is not (it's just a simple prop)
139
- (externalPath.match(/\./g) || []).length >= 2;
140
- if (comesFromMockedSource || comesFromArgument) {
141
- relevantDependentKeyAttributes.push({
142
- ...dependentKeyAttribute,
143
- dependentEntityName: entityName,
144
- originalEntityName: entityName,
145
- filePath: path,
146
- });
147
- }
148
- }
149
- return;
150
- }
151
- // No mocked imports, try usageEquivalencies fallback for direct argument usage
152
- if (Object.keys(signatureToParentPath).length > 0) {
153
- for (const dependentKeyAttribute of dependentKeyAtttributes) {
154
- if (!dependentKeyAttribute.externalPath?.startsWith('signature['))
155
- continue;
156
- const dependentKeyAttributeExternalPathParts = splitOutsideParenthesesAndArrays(dependentKeyAttribute.externalPath);
157
- // Try to find a matching signature path
158
- for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
159
- const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
160
- if (signatureToParentPath[subExternalPath]) {
161
- const parentPath = signatureToParentPath[subExternalPath];
162
- // parentPath is already in parent's schema format (e.g., "signature[0].entity" or just "entity")
163
- // We need to handle both cases
164
- const parentPathStartsWithSignature = parentPath.startsWith('signature[');
165
- let externalPath = parentPathStartsWithSignature
166
- ? parentPath
167
- : `signature[0].${parentPath}`;
168
- // internalPath is parentPath without the signature[N]. prefix
169
- let internalPath = parentPathStartsWithSignature
170
- ? parentPath.replace(/^signature\[\d+\]\./, '')
171
- : parentPath;
172
- if (i < dependentKeyAttributeExternalPathParts.length) {
173
- const remainingPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(i));
174
- externalPath = `${externalPath}.${remainingPath}`;
175
- internalPath = `${internalPath}.${remainingPath}`;
176
- }
177
- // Look up in associationMap for proper internal path
178
- if (associationMap[externalPath]) {
179
- internalPath = associationMap[externalPath];
180
- }
181
- relevantDependentKeyAttributes.push({
182
- ...dependentKeyAttribute,
183
- dependentEntityName: entityName,
184
- originalEntityName: entityName,
185
- filePath: path,
186
- internalPath,
187
- externalPath,
188
- dataStructurePath: internalPath,
189
- });
190
- break;
191
- }
192
- }
193
- }
194
- }
195
- return;
196
- }
197
- for (const dependentKeyAttribute of dependentKeyAtttributes) {
198
- const dependentKeyAttributeExternalPathParts = splitOutsideParenthesesAndArrays(dependentKeyAttribute.externalPath);
199
- let matchFound = false;
200
- // First, try to match using child's sourceEquivalencies
201
- for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
202
- const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
203
- // Use the sourceEquivalencies from the child's analysis
204
- for (const sourceEquivalencyPath in sourceEquivalencies) {
205
- const sourceEquivalencyPathParts = splitOutsideParenthesesAndArrays(sourceEquivalencyPath);
206
- const relevantSourceEquivalencyPath = joinParenthesesAndArrays(sourceEquivalencyPathParts.slice(1));
207
- if (relevantSourceEquivalencyPath !== subExternalPath)
208
- continue;
209
- const sourcePath = sourceEquivalencies[sourceEquivalencyPath][0]?.schemaPath;
210
- if (!sourcePath)
211
- continue;
212
- let externalPath = sourcePath;
213
- let internalPath = associationMap[sourcePath];
214
- if (i < dependentKeyAttributeExternalPathParts.length) {
215
- externalPath = joinParenthesesAndArrays([
216
- externalPath,
217
- ...dependentKeyAttributeExternalPathParts.slice(i),
218
- ]);
219
- // Only build internalPath if we have a valid base path from associationMap
220
- // Otherwise leave it undefined to avoid paths like "undefined.foo.bar"
221
- if (internalPath !== undefined) {
222
- internalPath = joinParenthesesAndArrays([
223
- internalPath,
224
- ...dependentKeyAttributeExternalPathParts.slice(i),
225
- ]);
226
- }
227
- }
228
- const dependentEntityName = dependentKeyAttribute.dependentEntityName
229
- ? `${dependentKeyAttribute.dependentEntityName} (through ${entityName})`
230
- : entityName;
231
- relevantDependentKeyAttributes.push({
232
- ...dependentKeyAttribute,
233
- dependentEntityName,
234
- originalEntityName: entityName, // Original entity name without "(through X)"
235
- filePath: path, // File path for restructuring into nested format
236
- internalPath,
237
- externalPath,
238
- // Transform dataStructurePath to parent's path structure
239
- dataStructurePath: internalPath,
240
- });
241
- matchFound = true;
242
- break;
243
- }
244
- if (matchFound)
245
- break;
246
- }
247
- // Fallback: if no sourceEquivalency match, try using parent's usageEquivalencies
248
- // This handles direct argument usage like entity.entityType
249
- if (!matchFound &&
250
- dependentKeyAttribute.externalPath?.startsWith('signature[')) {
251
- // Try to find a matching signature path in the usageEquivalencies-derived map
252
- for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
253
- const subExternalPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(0, i));
254
- if (signatureToParentPath[subExternalPath]) {
255
- const parentPath = signatureToParentPath[subExternalPath];
256
- // parentPath is already in parent's schema format (e.g., "signature[0].entity" or just "entity")
257
- // We need to handle both cases
258
- const parentPathStartsWithSignature = parentPath.startsWith('signature[');
259
- let externalPath = parentPathStartsWithSignature
260
- ? parentPath
261
- : `signature[0].${parentPath}`;
262
- // internalPath is parentPath without the signature[N]. prefix
263
- let internalPath = parentPathStartsWithSignature
264
- ? parentPath.replace(/^signature\[\d+\]\./, '')
265
- : parentPath;
266
- if (i < dependentKeyAttributeExternalPathParts.length) {
267
- const remainingPath = joinParenthesesAndArrays(dependentKeyAttributeExternalPathParts.slice(i));
268
- externalPath = `${externalPath}.${remainingPath}`;
269
- internalPath = `${internalPath}.${remainingPath}`;
270
- }
271
- // Look up the full external path in associationMap for proper internal path
272
- const fullExternalPath = externalPath;
273
- if (associationMap[fullExternalPath]) {
274
- internalPath = associationMap[fullExternalPath];
275
- }
276
- const dependentEntityName = dependentKeyAttribute.dependentEntityName
277
- ? `${dependentKeyAttribute.dependentEntityName} (through ${entityName})`
278
- : entityName;
279
- relevantDependentKeyAttributes.push({
280
- ...dependentKeyAttribute,
281
- dependentEntityName,
282
- originalEntityName: entityName,
283
- filePath: path,
284
- internalPath,
285
- externalPath,
286
- dataStructurePath: internalPath,
287
- });
288
- matchFound = true;
289
- break;
290
- }
291
- }
292
- }
293
- }
294
- });
295
- });
296
- return relevantDependentKeyAttributes;
297
- }
298
- //# sourceMappingURL=gatherRelevantDependentKeyAttributes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatherRelevantDependentKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts"],"names":[],"mappings":"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"}
@@ -1,226 +0,0 @@
1
- import completionCall from "./completionCall.js";
2
- import { saveLlmCall } from "../../../../packages/aws/dynamodb/index.js";
3
- import generateEntityKeyAttributesGenerator from "./promptGenerators/generateEntityKeyAttributesGenerator.js";
4
- import { awsLog } from "../../../../packages/utils/index.js";
5
- import { DEFAULT_LARGER_MODEL } from "../../../../packages/ai/index.js";
6
- import isFrontend from "./isFrontend.js";
7
- import { gatherAttributesMap } from "./promptGenerators/gatherAttributesMap.js";
8
- import { formatConditionalUsagesForPrompt } from "./getConditionalUsagesFromCode.js";
9
- export default async function generateChangesEntityKeyAttributes({ entity, existingKeyAttributes, analysis, commitDiff, model, }) {
10
- awsLog(`CodeYam: Generating entity key attributes`, {
11
- filePath: entity.filePath,
12
- entityName: entity.name,
13
- analysisId: analysis.id,
14
- existingKeyAttributes: existingKeyAttributes?.map((a) => a.externalPath),
15
- });
16
- const isolatedDataStructure = entity.metadata?.isolatedDataStructure;
17
- const mergedDataStructure = analysis.metadata.mergedDataStructure;
18
- const equivalentSignatureVariables = isolatedDataStructure?.equivalentSignatureVariables ?? {};
19
- const { attributesMap, associationMap, dataStructurePathMap } = gatherAttributesMap(isolatedDataStructure ?? mergedDataStructure, mergedDataStructure, equivalentSignatureVariables, true);
20
- // Use pre-computed conditional usages from metadata for static analysis context
21
- const conditionalUsages = isolatedDataStructure?.conditionalUsages ?? {};
22
- const compoundConditionals = isolatedDataStructure?.compoundConditionals ?? [];
23
- const staticAnalysisContext = formatConditionalUsagesForPrompt(conditionalUsages, compoundConditionals);
24
- const prompt = generateEntityKeyAttributesGenerator({
25
- code: entity.code,
26
- attributesMap,
27
- existingKeyAttributes,
28
- commitDiff,
29
- staticAnalysisContext,
30
- });
31
- const response = await completionCall({
32
- type: `generateChangesEntityKeyAttributes`,
33
- systemMessage: isFrontend(entity.filePath)
34
- ? FRONTEND_SYSTEM_MESSAGE
35
- : BACKEND_SYSTEM_MESSAGE,
36
- prompt,
37
- model: model ?? DEFAULT_LARGER_MODEL,
38
- });
39
- const llmCall = await saveLlmCall({
40
- object_type: 'analysis',
41
- object_id: analysis.id,
42
- propsJson: {
43
- entity: {
44
- name: entity.name,
45
- filePath: entity.filePath,
46
- code: entity.code,
47
- },
48
- analysis: {
49
- id: analysis.id,
50
- metadata: {
51
- isolatedDataStructure: entity.metadata.isolatedDataStructure,
52
- keyAttributes: analysis.metadata?.keyAttributes ?? [],
53
- },
54
- },
55
- commitDiff,
56
- model,
57
- },
58
- ...response.stats,
59
- });
60
- const { completion: keyAttributesString } = response;
61
- if (!keyAttributesString) {
62
- console.log(`CodeYam Error: Error Generating changes entity key attributes failed: No response from AI`);
63
- return null;
64
- }
65
- awsLog(`LLMCall ${llmCall ? llmCall.id : 'N/A'}: ${entity.filePath} ${entity.name} changes key attributes :>> `, keyAttributesString);
66
- const { addedKeyAttributes, removedKeyAttributes } = JSON.parse(keyAttributesString);
67
- const keyAttributes = [
68
- ...(existingKeyAttributes ?? []),
69
- ];
70
- for (const addedKeyAttribute of addedKeyAttributes ?? []) {
71
- const internalPath = addedKeyAttribute.path;
72
- const index = keyAttributes.findIndex((a) => a.internalPath === internalPath);
73
- const fullKeyAttribute = {
74
- internalPath,
75
- externalPath: associationMap[internalPath],
76
- dataStructurePath: dataStructurePathMap[internalPath] || internalPath,
77
- description: addedKeyAttribute.description,
78
- validValueOptions: addedKeyAttribute.validValueOptions,
79
- errorValueOptions: addedKeyAttribute.errorValueOptions,
80
- // Preserve new fields from LLM response
81
- valueType: addedKeyAttribute.valueType,
82
- dependencies: addedKeyAttribute.dependencies,
83
- };
84
- if (index !== -1) {
85
- keyAttributes.splice(index, 1, fullKeyAttribute);
86
- }
87
- else {
88
- keyAttributes.push(fullKeyAttribute);
89
- }
90
- }
91
- for (const removedKeyAttribute of removedKeyAttributes ?? []) {
92
- const internalPath = typeof removedKeyAttribute === 'string'
93
- ? removedKeyAttribute
94
- : removedKeyAttribute.path;
95
- const index = keyAttributes.findIndex((a) => a.internalPath === internalPath);
96
- if (index !== -1) {
97
- keyAttributes.splice(index, 1);
98
- }
99
- }
100
- const sortedUniqueKeyAttributes = keyAttributes
101
- .filter((keyAttribute, index, self) => self.findIndex((ka) => ka.internalPath === keyAttribute.internalPath) === index)
102
- .filter((keyAttribute) => attributesMap[keyAttribute.internalPath]);
103
- return {
104
- keyAttributes: sortedUniqueKeyAttributes,
105
- llmCall,
106
- };
107
- }
108
- const FRONTEND_SYSTEM_MESSAGE = `You are updating the key attributes for a frontend component that was recently changed.
109
-
110
- This is an INCREMENTAL update. Existing key attributes should be preserved unless the code change clearly invalidates them. Removing and re-adding attributes across changes causes unnecessary churn.
111
-
112
- ## Stability Rules
113
-
114
- - REMOVE only if the attribute is clearly no longer used (variable deleted, conditional removed, no longer referenced)
115
- - KEEP marginal attributes—if unsure, preserve rather than remove
116
- - ADD new attributes freely when warranted
117
-
118
- ## What Makes a Key Attribute
119
-
120
- A key attribute is a data path from "Attributes and Value Types" that dramatically changes how the component renders:
121
-
122
- - Controls a conditional that shows/hides significant UI sections
123
- - Changes the component's primary visual state (not just minor text differences)
124
- - Determines which branch of rendering logic executes
125
-
126
- NOT key attributes:
127
- - Values that only affect non-visible behavior (hrefs, image srcs)
128
- - Fallback values that won't be used if primary values exist
129
- - Values that would cause errors if changed
130
-
131
- Note: A conditional that shows a different UI state (e.g., loading screen, redirect message) IS significant—include it. Only exclude guard clauses that render literally nothing.
132
-
133
- ## Path Format
134
-
135
- Only return attributes from the "Attributes and Value Types" list—these are the only values we can control. Use the exact path provided. Use \`functionCallReturnValue\` for function return values. Use \`[]\` for array items (e.g., \`items[]\`).
136
-
137
- ## Dependencies
138
-
139
- If this key attribute is only used if one or more other attributes have specific values, include those dependencies in a \`dependencies\` array.
140
-
141
- ## Value Type
142
-
143
- Should reiterate the type of the attribute (e.g., "string", "object", "array", "boolean", etc.) based on the "Attributes and Value Types" list.
144
-
145
- ## Response Format
146
-
147
- For \`validValueOptions\`, include boundary/extreme values that trigger different behavior—but NOT values that would cause errors.
148
-
149
- \`\`\`json
150
- {
151
- "addedKeyAttributes": [
152
- {
153
- "path": "user",
154
- "description": "Controls whether the main form or redirect screen displays",
155
- "dependencies": [
156
- { "projectId": "must be a valid project ID for 'user' to have effect" }
157
- ],
158
- "valueType": "object",
159
- "validValueOptions": ["truthy user object", "null/undefined"]
160
- }
161
- ],
162
- "removedKeyAttributes": ["oldAttribute.path"]
163
- }
164
- \`\`\`
165
-
166
- Return empty arrays if no changes needed.
167
- `;
168
- const BACKEND_SYSTEM_MESSAGE = `You are updating the key attributes for a backend function that was recently changed.
169
-
170
- This is an INCREMENTAL update. Existing key attributes should be preserved unless the code change clearly invalidates them. Removing and re-adding attributes across changes causes unnecessary churn.
171
-
172
- ## Stability Rules
173
-
174
- - REMOVE only if the attribute is clearly no longer used (variable deleted, conditional removed, no longer referenced)
175
- - KEEP marginal attributes—if unsure, preserve rather than remove
176
- - ADD new attributes freely when warranted
177
-
178
- ## What Makes a Key Attribute
179
-
180
- A key attribute is a data path from "Attributes and Value Types" that dramatically changes the function's behavior:
181
-
182
- - Controls a conditional that significantly alters execution flow or return value
183
- - Determines which branch of logic executes
184
- - For side-effect functions: changes how external systems are called (database, email, etc.)
185
-
186
- NOT key attributes:
187
- - Fallback values that won't be used if primary values exist
188
- - Values that would cause errors if changed
189
- - Guard clauses that return nothing/minimal data
190
-
191
- ## Path Format
192
-
193
- Only return attributes from the "Attributes and Value Types" list—these are the only values we can control. Use the exact path provided. Use \`functionCallReturnValue\` for function return values. Use \`[]\` for array items (e.g., \`items[]\`).
194
-
195
- ## Dependencies
196
-
197
- If this key attribute is only used if one or more other attributes have specific values, include those dependencies in a \`dependencies\` array.
198
-
199
- ## Value Type
200
-
201
- Should reiterate the type of the attribute (e.g., "string", "object", "array", "boolean", etc.) based on the "Attributes and Value Types" list.
202
-
203
- ## Response Format
204
-
205
- For \`validValueOptions\`, include boundary/extreme values that trigger different behavior—but NOT values that would cause errors.
206
-
207
- \`\`\`json
208
- {
209
- "addedKeyAttributes": [
210
- {
211
- "path": "config.enabled",
212
- "description": "Controls whether the main processing logic runs",
213
- "dependencies": [
214
- { "analysisMode": "must be 'full' for 'enabled' to have effect" }
215
- ],
216
- "valueType": "boolean",
217
- "validValueOptions": ["true", "false"]
218
- }
219
- ],
220
- "removedKeyAttributes": ["oldAttribute.path"]
221
- }
222
- \`\`\`
223
-
224
- Return empty arrays if no changes needed.
225
- `;
226
- //# sourceMappingURL=generateChangesEntityKeyAttributes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateChangesEntityKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityKeyAttributes.ts"],"names":[],"mappings":"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"}