@codeyam/codeyam-cli 0.1.0-bleeding-edge.8afd3ee → 0.1.0-staging.036391e

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 (2306) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/common/execAsync.ts +2 -2
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +32 -27
  5. package/analyzer-template/packages/ai/index.ts +26 -7
  6. package/analyzer-template/packages/ai/package.json +5 -5
  7. package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
  8. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  9. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +260 -8
  10. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  11. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +245 -40
  12. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  13. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +426 -20
  14. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +42 -3
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  17. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +48 -2
  18. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  19. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1715 -122
  20. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +322 -5
  21. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +28 -11
  22. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +4262 -720
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +175 -7
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +21 -4
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +976 -0
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +249 -81
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +152 -0
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +163 -0
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +71 -2
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +229 -21
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +106 -8
  38. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  39. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  40. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  41. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +455 -88
  42. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  43. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.ts +33 -3
  44. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  45. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  46. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  47. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  48. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  49. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  50. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  51. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +124 -158
  52. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +139 -346
  53. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +70 -7
  54. package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
  55. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1410 -195
  56. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +232 -295
  57. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +578 -0
  58. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  59. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2267 -0
  60. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  61. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +49 -72
  62. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +170 -37
  63. package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
  64. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  65. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  66. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +135 -7
  67. package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
  68. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +150 -31
  69. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
  70. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
  71. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +77 -150
  72. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  73. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  74. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
  75. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +119 -40
  76. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +16 -49
  77. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  78. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  79. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  80. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  81. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  82. package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
  83. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  84. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +171 -2
  85. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
  86. package/analyzer-template/packages/analyze/index.ts +2 -0
  87. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +230 -54
  88. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  89. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  90. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -1
  91. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +3 -1
  92. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  93. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  94. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  95. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.ts +4 -2
  96. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +49 -9
  97. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  98. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  99. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  100. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +744 -153
  101. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +61 -3
  102. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  103. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +4 -1
  104. package/analyzer-template/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.ts +1 -1
  105. package/analyzer-template/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.ts +1 -1
  106. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +20 -10
  107. package/analyzer-template/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.ts +1 -1
  108. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
  109. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  110. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +65 -30
  111. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +29 -11
  112. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +46 -28
  113. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +1 -1
  114. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +26 -39
  115. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  116. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +135 -16
  117. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  118. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -0
  119. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  120. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +812 -99
  121. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  122. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  123. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +619 -31
  124. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  125. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +84 -80
  126. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +8 -4
  127. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1050 -112
  128. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +61 -6
  129. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  130. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +3 -2
  131. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  132. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  133. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  134. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  135. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  136. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  137. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  138. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  139. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  140. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  141. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  142. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  143. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  144. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  145. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  146. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  147. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  148. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  149. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  150. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  151. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  152. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  153. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  154. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  155. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  156. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  157. package/analyzer-template/packages/aws/package.json +10 -9
  158. package/analyzer-template/packages/aws/s3/index.ts +5 -0
  159. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  160. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  161. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  162. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  163. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  164. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  165. package/analyzer-template/packages/database/client.ts +35 -0
  166. package/analyzer-template/packages/database/package.json +31 -0
  167. package/analyzer-template/packages/database/src/lib/kysely/db.ts +495 -0
  168. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +108 -0
  169. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +67 -0
  170. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +88 -0
  171. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  172. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +275 -0
  173. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +223 -0
  174. package/analyzer-template/packages/database/src/lib/loadBranch.ts +137 -0
  175. package/analyzer-template/packages/database/src/lib/loadCommit.ts +173 -0
  176. package/analyzer-template/packages/database/src/lib/loadCommits.ts +279 -0
  177. package/analyzer-template/packages/database/src/lib/loadEntities.ts +117 -0
  178. package/analyzer-template/packages/database/src/lib/loadEntity.ts +105 -0
  179. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +178 -0
  180. package/analyzer-template/packages/database/src/lib/loadFile.ts +42 -0
  181. package/analyzer-template/packages/database/src/lib/loadFiles.ts +134 -0
  182. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +101 -0
  183. package/analyzer-template/packages/database/src/lib/loadStatement.ts +23 -0
  184. package/analyzer-template/packages/database/src/lib/saveEntityStatements.ts +27 -0
  185. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +35 -0
  186. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +180 -0
  187. package/analyzer-template/packages/database/src/lib/updateProjectMetadata.ts +95 -0
  188. package/analyzer-template/packages/generate/index.ts +3 -0
  189. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +44 -21
  190. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  191. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  192. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  193. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  194. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +29 -2
  195. package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
  196. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  197. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  198. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  199. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -0
  200. package/analyzer-template/packages/github/dist/database/index.js.map +1 -0
  201. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.d.ts.map +1 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.d.ts.map +1 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.d.ts.map +1 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.js.map +1 -0
  207. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.d.ts.map +1 -0
  208. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.d.ts.map +1 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -0
  211. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.d.ts.map +1 -0
  212. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -0
  213. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.d.ts.map +1 -0
  214. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  215. package/analyzer-template/packages/github/dist/database/src/lib/createProject.d.ts.map +1 -0
  216. package/analyzer-template/packages/github/dist/database/src/lib/createProject.js.map +1 -0
  217. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.d.ts.map +1 -0
  218. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.js.map +1 -0
  219. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.d.ts.map +1 -0
  220. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.js.map +1 -0
  221. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.d.ts.map +1 -0
  222. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  223. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.d.ts.map +1 -0
  224. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.js.map +1 -0
  225. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.d.ts.map +1 -0
  226. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.js.map +1 -0
  227. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.d.ts.map +1 -0
  228. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.js.map +1 -0
  229. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.d.ts.map +1 -0
  230. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.js.map +1 -0
  231. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.d.ts.map +1 -0
  232. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.js.map +1 -0
  233. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.d.ts.map +1 -0
  234. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.js.map +1 -0
  235. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.d.ts.map +1 -0
  236. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.js.map +1 -0
  237. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.d.ts.map +1 -0
  238. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.js.map +1 -0
  239. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.d.ts.map +1 -0
  240. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.js.map +1 -0
  241. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.d.ts.map +1 -0
  242. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.js.map +1 -0
  243. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.d.ts.map +1 -0
  244. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.js.map +1 -0
  245. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.d.ts.map +1 -0
  246. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.js.map +1 -0
  247. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.d.ts.map +1 -0
  248. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.js.map +1 -0
  249. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.d.ts.map +1 -0
  250. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.js.map +1 -0
  251. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.d.ts.map +1 -0
  252. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.js.map +1 -0
  253. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.d.ts.map +1 -0
  254. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.js.map +1 -0
  255. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.d.ts.map +1 -0
  256. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -0
  257. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.d.ts.map +1 -0
  258. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.js.map +1 -0
  259. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.d.ts.map +1 -0
  260. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.js.map +1 -0
  261. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.d.ts.map +1 -0
  262. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  263. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +71 -0
  264. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -0
  265. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +373 -0
  266. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -0
  267. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.d.ts.map +1 -0
  268. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  269. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +1 -0
  270. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  271. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +89 -0
  272. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts.map +1 -0
  273. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.js.map +1 -0
  274. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.d.ts.map +1 -0
  275. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  276. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +97 -0
  277. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -0
  278. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  279. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +1 -0
  280. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  281. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +1 -0
  282. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  283. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.d.ts.map +1 -0
  284. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  285. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.d.ts.map +1 -0
  286. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  287. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +48 -0
  288. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -0
  289. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +47 -0
  290. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  291. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +60 -0
  292. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  293. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
  294. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  295. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +68 -0
  296. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -0
  297. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  298. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.d.ts.map +1 -0
  299. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  300. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.d.ts.map +1 -0
  301. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  302. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.d.ts.map +1 -0
  303. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  304. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +1 -0
  305. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  306. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.d.ts.map +1 -0
  307. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  308. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  309. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  310. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  311. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  312. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.d.ts.map +1 -0
  313. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  314. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +1 -0
  315. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  316. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +61 -0
  317. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -0
  318. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  319. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.d.ts.map +1 -0
  320. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  321. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.d.ts.map +1 -0
  322. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  323. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.d.ts.map +1 -0
  324. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  325. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.d.ts.map +1 -0
  326. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  327. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.d.ts.map +1 -0
  328. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  329. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.d.ts.map +1 -0
  330. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  331. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +16 -0
  332. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -0
  333. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +174 -0
  334. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -0
  335. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -0
  336. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +138 -0
  337. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -0
  338. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.d.ts.map +1 -0
  339. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.js.map +1 -0
  340. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.d.ts.map +1 -0
  341. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.js.map +1 -0
  342. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.d.ts.map +1 -0
  343. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +100 -0
  344. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -0
  345. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.d.ts.map +1 -0
  346. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.js.map +1 -0
  347. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -0
  348. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +118 -0
  349. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -0
  350. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.d.ts.map +1 -0
  351. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.js.map +1 -0
  352. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.d.ts.map +1 -0
  353. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.js.map +1 -0
  354. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +15 -0
  355. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -0
  356. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +209 -0
  357. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -0
  358. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +13 -0
  359. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -0
  360. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +82 -0
  361. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -0
  362. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -0
  363. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -0
  364. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -0
  365. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +123 -0
  366. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -0
  367. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.d.ts.map +1 -0
  368. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.js.map +1 -0
  369. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.d.ts.map +1 -0
  370. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.js.map +1 -0
  371. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +1 -0
  372. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  373. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.d.ts.map +1 -0
  374. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.js.map +1 -0
  375. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -0
  376. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
  377. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  378. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.d.ts.map +1 -0
  379. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.js.map +1 -0
  380. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts +3 -0
  381. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts.map +1 -0
  382. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.js.map +1 -0
  383. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.d.ts.map +1 -0
  384. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.js.map +1 -0
  385. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.d.ts.map +1 -0
  386. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -0
  387. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.d.ts.map +1 -0
  388. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.js.map +1 -0
  389. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.d.ts.map +1 -0
  390. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.js.map +1 -0
  391. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.d.ts.map +1 -0
  392. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -0
  393. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.d.ts.map +1 -0
  394. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.js.map +1 -0
  395. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.d.ts.map +1 -0
  396. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +18 -0
  397. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -0
  398. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts +4 -0
  399. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts.map +1 -0
  400. package/analyzer-template/packages/github/dist/database/src/lib/supabase.js.map +1 -0
  401. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.d.ts.map +1 -0
  402. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  403. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +13 -0
  404. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -0
  405. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +101 -0
  406. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -0
  407. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.d.ts.map +1 -0
  408. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.js.map +1 -0
  409. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.d.ts.map +1 -0
  410. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  411. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -0
  412. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  413. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -0
  414. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  415. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.d.ts.map +1 -0
  416. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.js.map +1 -0
  417. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.d.ts.map +1 -0
  418. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.js.map +1 -0
  419. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.d.ts.map +1 -0
  420. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  421. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.d.ts.map +1 -0
  422. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  423. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.d.ts.map +1 -0
  424. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.js.map +1 -0
  425. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.d.ts.map +1 -0
  426. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.js.map +1 -0
  427. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.d.ts.map +1 -0
  428. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.js.map +1 -0
  429. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.d.ts.map +1 -0
  430. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.js.map +1 -0
  431. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.d.ts.map +1 -0
  432. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.js.map +1 -0
  433. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.d.ts.map +1 -0
  434. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.js.map +1 -0
  435. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.d.ts.map +1 -0
  436. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.js.map +1 -0
  437. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.d.ts.map +1 -0
  438. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.js.map +1 -0
  439. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.d.ts.map +1 -0
  440. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.js.map +1 -0
  441. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.d.ts.map +1 -0
  442. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.js.map +1 -0
  443. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  444. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  445. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  446. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  447. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  448. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +43 -21
  449. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  450. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  451. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  452. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  453. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  454. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  455. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  456. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  457. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  458. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  459. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  460. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  461. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  462. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  463. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  464. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  465. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +30 -2
  466. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  467. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
  468. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
  469. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
  470. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  471. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  472. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  473. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  474. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  475. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  476. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  477. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  478. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  479. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  480. package/analyzer-template/packages/github/dist/github/src/lib/getCommitsFromGithub.js +1 -1
  481. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  482. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +11 -1
  483. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  484. package/analyzer-template/packages/github/dist/github/src/lib/syncBranches.js +1 -1
  485. package/analyzer-template/packages/github/dist/github/src/lib/syncHeadBranches.js +1 -1
  486. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  487. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +4 -1
  488. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  489. package/analyzer-template/packages/github/dist/github/src/lib/syncPullRequest.js +1 -1
  490. package/analyzer-template/packages/github/dist/github/src/lib/updateCommitBranchesInDb.js +1 -1
  491. package/analyzer-template/packages/github/dist/github/src/lib/updateFilesInDb.js +1 -1
  492. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  493. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  494. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  495. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +87 -9
  496. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  497. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  498. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  499. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +4 -0
  500. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  501. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  502. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  503. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
  504. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  505. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  506. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  507. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  508. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  509. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  510. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  511. package/analyzer-template/packages/github/dist/utils/index.d.ts +3 -0
  512. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  513. package/analyzer-template/packages/github/dist/utils/index.js +4 -0
  514. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  515. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  516. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  517. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  518. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  519. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  520. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +65 -7
  521. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  522. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  523. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  524. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  525. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  526. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  527. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  528. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  529. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  530. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  531. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  532. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  533. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  534. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  535. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  536. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  537. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  538. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  539. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
  540. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  541. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  542. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  543. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  544. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +42 -0
  545. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  546. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  547. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  548. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +32 -3
  549. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  550. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  551. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  552. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  553. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  554. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  555. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  556. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  557. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  558. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  559. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  560. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js +3 -0
  561. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js.map +1 -0
  562. package/analyzer-template/packages/github/package.json +1 -1
  563. package/analyzer-template/packages/github/src/lib/getCommitsFromGithub.ts +1 -1
  564. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +15 -1
  565. package/analyzer-template/packages/github/src/lib/syncBranches.ts +1 -1
  566. package/analyzer-template/packages/github/src/lib/syncHeadBranches.ts +1 -1
  567. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +3 -1
  568. package/analyzer-template/packages/github/src/lib/syncPullRequest.ts +1 -1
  569. package/analyzer-template/packages/github/src/lib/updateCommitBranchesInDb.ts +1 -1
  570. package/analyzer-template/packages/github/src/lib/updateFilesInDb.ts +1 -1
  571. package/analyzer-template/packages/process/index.ts +2 -0
  572. package/analyzer-template/packages/process/package.json +12 -0
  573. package/analyzer-template/packages/process/tsconfig.json +8 -0
  574. package/analyzer-template/packages/types/index.ts +5 -0
  575. package/analyzer-template/packages/types/src/types/Analysis.ts +104 -9
  576. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  577. package/analyzer-template/packages/types/src/types/Entity.ts +4 -0
  578. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
  579. package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
  580. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
  581. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  582. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  583. package/analyzer-template/packages/ui-components/package.json +4 -4
  584. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  585. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  586. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  587. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  588. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  589. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +87 -9
  590. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  591. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  592. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  593. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +4 -0
  594. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  595. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  596. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  597. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
  598. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  599. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  600. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  601. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  602. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  603. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  604. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  605. package/analyzer-template/packages/utils/dist/utils/index.d.ts +3 -0
  606. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  607. package/analyzer-template/packages/utils/dist/utils/index.js +4 -0
  608. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  609. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  610. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  611. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  612. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  613. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  614. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +65 -7
  615. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  616. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  617. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  618. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  619. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  620. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  621. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  622. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  623. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  624. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  625. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  626. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  627. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  628. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  629. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  630. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  631. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  632. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  633. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
  634. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  635. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  636. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  637. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  638. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +42 -0
  639. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  640. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  641. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  642. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +32 -3
  643. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  644. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  645. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  646. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  647. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  648. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  649. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  650. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  651. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  652. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  653. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  654. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js +3 -0
  655. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js.map +1 -0
  656. package/analyzer-template/packages/utils/index.ts +11 -0
  657. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  658. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +74 -9
  659. package/analyzer-template/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.ts +20 -1
  660. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +2 -1
  661. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  662. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +17 -1
  663. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  664. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +67 -0
  665. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +43 -0
  666. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +51 -3
  667. package/analyzer-template/packages/utils/src/lib/startCommand/buildStartCommand.ts +63 -0
  668. package/analyzer-template/packages/utils/src/lib/startCommand/getWebappInfo.ts +108 -0
  669. package/analyzer-template/packages/utils/src/lib/startCommand/index.ts +10 -0
  670. package/analyzer-template/playwright/capture.ts +103 -93
  671. package/analyzer-template/playwright/captureFromUrl.ts +48 -17
  672. package/analyzer-template/playwright/captureStatic.ts +2 -2
  673. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  674. package/analyzer-template/playwright/takeElementScreenshot.ts +48 -11
  675. package/analyzer-template/playwright/takeScreenshot.ts +38 -10
  676. package/analyzer-template/playwright/updateBackgroundJob.ts +1 -1
  677. package/analyzer-template/playwright/waitForServer.ts +21 -6
  678. package/analyzer-template/project/LazyFileStore.ts +1 -1
  679. package/analyzer-template/project/TESTING.md +83 -0
  680. package/analyzer-template/project/analyzeBaselineCommit.ts +10 -1
  681. package/analyzer-template/project/analyzeBranchCommit.ts +5 -1
  682. package/analyzer-template/project/analyzeFileEntities.ts +5 -1
  683. package/analyzer-template/project/analyzeRegularCommit.ts +10 -1
  684. package/analyzer-template/project/captureLibraryFunctionDirect.ts +30 -27
  685. package/analyzer-template/project/constructMockCode.ts +1710 -90
  686. package/analyzer-template/project/controller/startController.ts +16 -1
  687. package/analyzer-template/project/createEntitiesAndSortFiles.ts +98 -7
  688. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  689. package/analyzer-template/project/getFilesWithEntitiesFromRepo.ts +1 -1
  690. package/analyzer-template/project/getScenarioUrl.ts +73 -5
  691. package/analyzer-template/project/loadReadyToBeCaptured.ts +198 -38
  692. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  693. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  694. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +15 -15
  695. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +97 -67
  696. package/analyzer-template/project/orchestrateCapture/SupabaseAnalysisLoader.ts +6 -6
  697. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  698. package/analyzer-template/project/orchestrateCapture.ts +89 -13
  699. package/analyzer-template/project/prepareRepo.ts +1 -1
  700. package/analyzer-template/project/reconcileMockDataKeys.ts +258 -2
  701. package/analyzer-template/project/runAnalysis.ts +12 -1
  702. package/analyzer-template/project/runMultiScenarioServer.ts +13 -16
  703. package/analyzer-template/project/runScenarioServer.ts +1 -5
  704. package/analyzer-template/project/serverOnlyModules.ts +413 -0
  705. package/analyzer-template/project/start.ts +94 -33
  706. package/analyzer-template/project/startScenarioCapture.ts +103 -41
  707. package/analyzer-template/project/startServer.ts +50 -70
  708. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  709. package/analyzer-template/project/updateCommitBackgroundJob.ts +1 -1
  710. package/analyzer-template/project/utils/errorHandling.ts +1 -1
  711. package/analyzer-template/project/writeMockDataTsx.ts +748 -69
  712. package/analyzer-template/project/writeScenario.ts +1 -1
  713. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  714. package/analyzer-template/project/writeScenarioComponents.ts +2288 -179
  715. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  716. package/analyzer-template/project/writeSimpleRoot.ts +125 -2
  717. package/analyzer-template/project/writeUniversalMocks.ts +88 -9
  718. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  719. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  720. package/analyzer-template/scripts/postbuild.cjs +12 -1
  721. package/analyzer-template/tsconfig.json +2 -1
  722. package/background/src/lib/local/createLocalAnalyzer.js +1 -29
  723. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  724. package/background/src/lib/local/execAsync.js +1 -1
  725. package/background/src/lib/local/execAsync.js.map +1 -1
  726. package/background/src/lib/virtualized/common/execAsync.js +2 -2
  727. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  728. package/background/src/lib/virtualized/project/LazyFileStore.js +1 -1
  729. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +8 -2
  730. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  731. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +3 -2
  732. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  733. package/background/src/lib/virtualized/project/analyzeFileEntities.js +3 -2
  734. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  735. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +8 -2
  736. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  737. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +4 -4
  738. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  739. package/background/src/lib/virtualized/project/constructMockCode.js +1493 -62
  740. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  741. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  742. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  743. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +83 -4
  744. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  745. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  746. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  747. package/background/src/lib/virtualized/project/getFilesWithEntitiesFromRepo.js +1 -1
  748. package/background/src/lib/virtualized/project/getScenarioUrl.js +38 -3
  749. package/background/src/lib/virtualized/project/getScenarioUrl.js.map +1 -1
  750. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +108 -6
  751. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  752. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  753. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  754. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  755. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  756. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +13 -7
  757. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  758. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -49
  759. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  760. package/background/src/lib/virtualized/project/orchestrateCapture.js +73 -14
  761. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  762. package/background/src/lib/virtualized/project/prepareRepo.js +1 -1
  763. package/background/src/lib/virtualized/project/prepareRepo.js.map +1 -1
  764. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +216 -2
  765. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  766. package/background/src/lib/virtualized/project/runAnalysis.js +10 -1
  767. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  768. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +13 -14
  769. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  770. package/background/src/lib/virtualized/project/serverOnlyModules.js +338 -0
  771. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  772. package/background/src/lib/virtualized/project/start.js +81 -30
  773. package/background/src/lib/virtualized/project/start.js.map +1 -1
  774. package/background/src/lib/virtualized/project/startScenarioCapture.js +79 -31
  775. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  776. package/background/src/lib/virtualized/project/startServer.js +40 -68
  777. package/background/src/lib/virtualized/project/startServer.js.map +1 -1
  778. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  779. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  780. package/background/src/lib/virtualized/project/updateCommitBackgroundJob.js +1 -1
  781. package/background/src/lib/virtualized/project/utils/errorHandling.js +1 -1
  782. package/background/src/lib/virtualized/project/writeMockDataTsx.js +640 -60
  783. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  784. package/background/src/lib/virtualized/project/writeScenario.js +1 -1
  785. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  786. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  787. package/background/src/lib/virtualized/project/writeScenarioComponents.js +1672 -117
  788. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  789. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  790. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  791. package/background/src/lib/virtualized/project/writeSimpleRoot.js +113 -2
  792. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  793. package/background/src/lib/virtualized/project/writeUniversalMocks.js +72 -8
  794. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  795. package/codeyam-cli/scripts/apply-setup.js +181 -1
  796. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  797. package/codeyam-cli/scripts/extract-setup.js +1 -1
  798. package/codeyam-cli/scripts/populateEntityTimestamps.js +1 -1
  799. package/codeyam-cli/scripts/populateEntityTimestamps.js.map +1 -1
  800. package/codeyam-cli/src/cli.js +17 -1
  801. package/codeyam-cli/src/cli.js.map +1 -1
  802. package/codeyam-cli/src/codeyam-cli.js +0 -0
  803. package/codeyam-cli/src/commands/analyze.js +1 -1
  804. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  805. package/codeyam-cli/src/commands/baseline.js +174 -0
  806. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  807. package/codeyam-cli/src/commands/debug.js +251 -0
  808. package/codeyam-cli/src/commands/debug.js.map +1 -0
  809. package/codeyam-cli/src/commands/default.js +0 -15
  810. package/codeyam-cli/src/commands/default.js.map +1 -1
  811. package/codeyam-cli/src/commands/detect-universal-mocks.js +1 -1
  812. package/codeyam-cli/src/commands/entities.js +1 -1
  813. package/codeyam-cli/src/commands/generate-data-structure.js +17 -8
  814. package/codeyam-cli/src/commands/generate-data-structure.js.map +1 -1
  815. package/codeyam-cli/src/commands/init.js +2 -21
  816. package/codeyam-cli/src/commands/init.js.map +1 -1
  817. package/codeyam-cli/src/commands/memory.js +264 -0
  818. package/codeyam-cli/src/commands/memory.js.map +1 -0
  819. package/codeyam-cli/src/commands/recapture.js +226 -0
  820. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  821. package/codeyam-cli/src/commands/report.js +150 -0
  822. package/codeyam-cli/src/commands/report.js.map +1 -0
  823. package/codeyam-cli/src/commands/setup-sandbox.js +165 -0
  824. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  825. package/codeyam-cli/src/commands/start.js +8 -12
  826. package/codeyam-cli/src/commands/start.js.map +1 -1
  827. package/codeyam-cli/src/commands/status.js +23 -1
  828. package/codeyam-cli/src/commands/status.js.map +1 -1
  829. package/codeyam-cli/src/commands/suggest.js +1 -1
  830. package/codeyam-cli/src/commands/test-startup.js +15 -6
  831. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  832. package/codeyam-cli/src/commands/webapp-info.js +146 -0
  833. package/codeyam-cli/src/commands/webapp-info.js.map +1 -0
  834. package/codeyam-cli/src/commands/wipe.js +108 -0
  835. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  836. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  837. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  838. package/codeyam-cli/src/utils/__tests__/entityVersioning.test.js +2 -2
  839. package/codeyam-cli/src/utils/__tests__/fileWatcher.batch.test.js +2 -2
  840. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js +58 -30
  841. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js.map +1 -1
  842. package/codeyam-cli/src/utils/__tests__/fileWatcher.optimization.test.js +2 -2
  843. package/codeyam-cli/src/utils/__tests__/fileWatcher.versioning.test.js +2 -2
  844. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  845. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  846. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +39 -27
  847. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  848. package/codeyam-cli/src/utils/analysisRunner.js +32 -17
  849. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  850. package/codeyam-cli/src/utils/analyzer.js +24 -2
  851. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  852. package/codeyam-cli/src/utils/backgroundServer.js +18 -4
  853. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  854. package/codeyam-cli/src/utils/changeDetection.js +1 -1
  855. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  856. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  857. package/codeyam-cli/src/utils/database.js +92 -6
  858. package/codeyam-cli/src/utils/database.js.map +1 -1
  859. package/codeyam-cli/src/utils/entityCache.js +1 -1
  860. package/codeyam-cli/src/utils/entityMetadata.js +1 -1
  861. package/codeyam-cli/src/utils/entityVersioning.js +1 -1
  862. package/codeyam-cli/src/utils/fileWatcher.js +2 -2
  863. package/codeyam-cli/src/utils/generateReport.js +366 -0
  864. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  865. package/codeyam-cli/src/utils/git.js +79 -0
  866. package/codeyam-cli/src/utils/git.js.map +1 -0
  867. package/codeyam-cli/src/utils/install-skills.js +80 -19
  868. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  869. package/codeyam-cli/src/utils/labsAutoCheck.js +48 -0
  870. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  871. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +3 -3
  872. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +3 -2
  873. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  874. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  875. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  876. package/codeyam-cli/src/utils/queue/heartbeat.js +1 -1
  877. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  878. package/codeyam-cli/src/utils/queue/job.js +264 -26
  879. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  880. package/codeyam-cli/src/utils/queue/manager.js +103 -7
  881. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  882. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  883. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  884. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  885. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  886. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  887. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  888. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  889. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  890. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  891. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  892. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  893. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  894. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  895. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
  896. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  897. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +285 -0
  898. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  899. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
  900. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  901. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  902. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  903. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  904. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  905. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  906. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  907. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  908. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  909. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  910. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  911. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  912. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  913. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  914. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  915. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  916. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  917. package/codeyam-cli/src/utils/rules/index.js +6 -0
  918. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  919. package/codeyam-cli/src/utils/rules/parser.js +78 -0
  920. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  921. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  922. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  923. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  924. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  925. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  926. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  927. package/codeyam-cli/src/utils/sandbox.js +190 -0
  928. package/codeyam-cli/src/utils/sandbox.js.map +1 -0
  929. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  930. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +11 -5
  931. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  932. package/codeyam-cli/src/utils/syncUncommittedEntities.js +1 -1
  933. package/codeyam-cli/src/utils/syncUniversalMocks.js +1 -1
  934. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  935. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  936. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  937. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  938. package/codeyam-cli/src/utils/wipe.js +128 -0
  939. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  940. package/codeyam-cli/src/webserver/app/lib/database.js +155 -6
  941. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  942. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js +3 -1
  943. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  944. package/codeyam-cli/src/webserver/backgroundServer.js +36 -10
  945. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  946. package/codeyam-cli/src/webserver/bootstrap.js +49 -0
  947. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  948. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CA3JxPb7.js +1 -0
  949. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-B86KKU7e.js +11 -0
  950. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-B5ctlSYt.js +1 -0
  951. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BqY8gDAW.js +41 -0
  952. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-ClaLpuOo.js +34 -0
  953. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-BDhPilK7.js +25 -0
  954. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-VeqEBv9v.js +3 -0
  955. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-Bs7Nn1Jr.js +6 -0
  956. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-Bm3PmcCz.js +3 -0
  957. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-C6PKeMYR.js +11 -0
  958. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Gq3Ocjo6.js +1 -0
  959. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BNLaXBHR.js +10 -0
  960. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CiwXDxLh.js +1 -0
  961. package/codeyam-cli/src/webserver/build/client/assets/_index-B3TDXxnk.js +11 -0
  962. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BtBFH820.js +27 -0
  963. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DfKzxuoe.js +11 -0
  964. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  965. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  966. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  967. package/codeyam-cli/src/webserver/build/client/assets/api.labs-survey-l0sNRNKZ.js +1 -0
  968. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  969. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  970. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  971. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  972. package/codeyam-cli/src/webserver/build/client/assets/book-open-PttOB2SF.js +6 -0
  973. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-TJp6ofnp.js +6 -0
  974. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-JE9ZIoBl.js +51 -0
  975. package/codeyam-cli/src/webserver/build/client/assets/circle-check-CXhHQYrI.js +6 -0
  976. package/codeyam-cli/src/webserver/build/client/assets/codeyam-name-logo-CvKwUgHo.svg +9 -0
  977. package/codeyam-cli/src/webserver/build/client/assets/copy-6y9ALfGT.js +11 -0
  978. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-Ca9fAY46.js +21 -0
  979. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CCKUIm0S.svg +4 -0
  980. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  981. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +1 -0
  982. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-n38keI1k.js +23 -0
  983. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js +6 -0
  984. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DGgZjdFg.js +6 -0
  985. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-38yPijoD.js +5 -0
  986. package/codeyam-cli/src/webserver/build/client/assets/entry.client-BSHEfydn.js +29 -0
  987. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  988. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DCPhhSMo.js +1 -0
  989. package/codeyam-cli/src/webserver/build/client/assets/files-0N0YJQv7.js +1 -0
  990. package/codeyam-cli/src/webserver/build/client/assets/git-DXnyr8uP.js +15 -0
  991. package/codeyam-cli/src/webserver/build/client/assets/globals-DoeDFXZN.css +1 -0
  992. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  993. package/codeyam-cli/src/webserver/build/client/assets/index-CcsFv748.js +3 -0
  994. package/codeyam-cli/src/webserver/build/client/assets/index-ChN9-fAY.js +9 -0
  995. package/codeyam-cli/src/webserver/build/client/assets/labs-CmBYA0PH.js +1 -0
  996. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-CTqLEAGU.js +6 -0
  997. package/codeyam-cli/src/webserver/build/client/assets/manifest-76786b8e.js +1 -0
  998. package/codeyam-cli/src/webserver/build/client/assets/memory-CrNQfdMO.js +76 -0
  999. package/codeyam-cli/src/webserver/build/client/assets/pause-D6vreykR.js +11 -0
  1000. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  1001. package/codeyam-cli/src/webserver/build/client/assets/root-QAY34PIo.js +62 -0
  1002. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  1003. package/codeyam-cli/src/webserver/build/client/assets/search-B8VUL8nl.js +6 -0
  1004. package/codeyam-cli/src/webserver/build/client/assets/settings-eBI36Yv5.js +1 -0
  1005. package/codeyam-cli/src/webserver/build/client/assets/simulations-CPoAg7Zo.js +1 -0
  1006. package/codeyam-cli/src/webserver/build/client/assets/terminal-BrCP7uQo.js +11 -0
  1007. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BZz2NjYa.js +6 -0
  1008. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DNwUduNu.js +1 -0
  1009. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-COky1GVF.js +2 -0
  1010. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CpZgwliL.js +1 -0
  1011. package/codeyam-cli/src/webserver/build/client/assets/useToast-Bv9JFvUO.js +1 -0
  1012. package/codeyam-cli/src/webserver/build/server/assets/index-DV1ykEI6.js +1 -0
  1013. package/codeyam-cli/src/webserver/build/server/assets/server-build-BrcVrUEv.js +260 -0
  1014. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  1015. package/codeyam-cli/src/webserver/build-info.json +5 -5
  1016. package/codeyam-cli/src/webserver/devServer.js +1 -3
  1017. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  1018. package/codeyam-cli/src/webserver/server.js +35 -25
  1019. package/codeyam-cli/src/webserver/server.js.map +1 -1
  1020. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  1021. package/codeyam-cli/templates/codeyam:debug.md +601 -0
  1022. package/codeyam-cli/templates/codeyam:diagnose.md +805 -0
  1023. package/codeyam-cli/templates/codeyam:memory.md +404 -0
  1024. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  1025. package/codeyam-cli/templates/codeyam:setup.md +588 -0
  1026. package/codeyam-cli/templates/codeyam:sim.md +222 -0
  1027. package/codeyam-cli/templates/codeyam:test.md +178 -0
  1028. package/codeyam-cli/templates/codeyam:verify.md +179 -0
  1029. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  1030. package/codeyam-cli/templates/rule-reflection-hook.py +590 -0
  1031. package/codeyam-cli/templates/rules-instructions.md +123 -0
  1032. package/package.json +25 -24
  1033. package/packages/ai/index.js +9 -8
  1034. package/packages/ai/index.js.map +1 -1
  1035. package/packages/ai/src/lib/analyzeScope.js +197 -6
  1036. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  1037. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  1038. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  1039. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +185 -36
  1040. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  1041. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  1042. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  1043. package/packages/ai/src/lib/astScopes/methodSemantics.js +308 -20
  1044. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  1045. package/packages/ai/src/lib/astScopes/paths.js +39 -4
  1046. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  1047. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  1048. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  1049. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  1050. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  1051. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +31 -1
  1052. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  1053. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  1054. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  1055. package/packages/ai/src/lib/astScopes/processExpression.js +1323 -101
  1056. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  1057. package/packages/ai/src/lib/checkAllAttributes.js +23 -10
  1058. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  1059. package/packages/ai/src/lib/completionCall.js +178 -31
  1060. package/packages/ai/src/lib/completionCall.js.map +1 -1
  1061. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +3252 -515
  1062. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  1063. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +164 -2
  1064. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  1065. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +19 -4
  1066. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  1067. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +661 -0
  1068. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  1069. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +184 -58
  1070. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  1071. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +122 -0
  1072. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  1073. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  1074. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  1075. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  1076. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  1077. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +140 -0
  1078. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  1079. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  1080. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  1081. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
  1082. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  1083. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +198 -15
  1084. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  1085. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  1086. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  1087. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +96 -8
  1088. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  1089. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  1090. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  1091. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  1092. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  1093. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  1094. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  1095. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +385 -79
  1096. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  1097. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  1098. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  1099. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js +28 -3
  1100. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js.map +1 -1
  1101. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  1102. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  1103. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  1104. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  1105. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  1106. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  1107. package/packages/ai/src/lib/deepEqual.js +32 -0
  1108. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  1109. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  1110. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  1111. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  1112. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  1113. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  1114. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  1115. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +111 -152
  1116. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  1117. package/packages/ai/src/lib/generateChangesEntityScenarios.js +131 -322
  1118. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  1119. package/packages/ai/src/lib/generateEntityDataStructure.js +56 -6
  1120. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  1121. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  1122. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  1123. package/packages/ai/src/lib/generateEntityScenarioData.js +1119 -181
  1124. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  1125. package/packages/ai/src/lib/generateEntityScenarios.js +209 -269
  1126. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  1127. package/packages/ai/src/lib/generateExecutionFlows.js +400 -0
  1128. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  1129. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  1130. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  1131. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1646 -0
  1132. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  1133. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  1134. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  1135. package/packages/ai/src/lib/generateStatementAnalysis.js +47 -72
  1136. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  1137. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +97 -22
  1138. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  1139. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  1140. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  1141. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  1142. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  1143. package/packages/ai/src/lib/isolateScopes.js +270 -7
  1144. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  1145. package/packages/ai/src/lib/mergeStatements.js +104 -6
  1146. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  1147. package/packages/ai/src/lib/modelInfo.js +15 -0
  1148. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  1149. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +118 -23
  1150. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  1151. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  1152. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  1153. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +36 -42
  1154. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  1155. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +49 -99
  1156. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  1157. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  1158. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  1159. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  1160. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  1161. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +88 -29
  1162. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  1163. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +12 -31
  1164. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  1165. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  1166. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  1167. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  1168. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  1169. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  1170. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  1171. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  1172. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  1173. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  1174. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  1175. package/packages/ai/src/lib/types/index.js +2 -0
  1176. package/packages/ai/src/lib/types/index.js.map +1 -1
  1177. package/packages/ai/src/lib/worker/SerializableDataStructure.js +36 -0
  1178. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  1179. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
  1180. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  1181. package/packages/analyze/index.js +1 -0
  1182. package/packages/analyze/index.js.map +1 -1
  1183. package/packages/analyze/src/lib/FileAnalyzer.js +196 -41
  1184. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  1185. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  1186. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  1187. package/packages/analyze/src/lib/analysisContext.js +30 -5
  1188. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  1189. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -1
  1190. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  1191. package/packages/analyze/src/lib/asts/nodes/index.js +3 -1
  1192. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  1193. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  1194. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  1195. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  1196. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  1197. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  1198. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  1199. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js +3 -2
  1200. package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js.map +1 -1
  1201. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +41 -9
  1202. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  1203. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  1204. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  1205. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  1206. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  1207. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  1208. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  1209. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +584 -105
  1210. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  1211. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +48 -3
  1212. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  1213. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  1214. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  1215. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -1
  1216. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  1217. package/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.js +1 -1
  1218. package/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.js +1 -1
  1219. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +15 -3
  1220. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  1221. package/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.js +1 -1
  1222. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  1223. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  1224. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  1225. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  1226. package/packages/analyze/src/lib/files/analyzeChange.js +42 -20
  1227. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  1228. package/packages/analyze/src/lib/files/analyzeEntity.js +20 -13
  1229. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  1230. package/packages/analyze/src/lib/files/analyzeInitial.js +30 -19
  1231. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  1232. package/packages/analyze/src/lib/files/analyzeNextRoute.js +1 -1
  1233. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +22 -26
  1234. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  1235. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  1236. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  1237. package/packages/analyze/src/lib/files/getImportedExports.js +103 -8
  1238. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  1239. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  1240. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  1241. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -0
  1242. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  1243. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  1244. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  1245. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +616 -71
  1246. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1247. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  1248. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  1249. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  1250. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1251. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +454 -30
  1252. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1253. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  1254. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1255. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +61 -67
  1256. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1257. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +8 -4
  1258. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1259. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +873 -98
  1260. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1261. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +49 -6
  1262. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1263. package/packages/analyze/src/lib/files/setImportedExports.js +3 -2
  1264. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1265. package/packages/analyze/src/lib/index.js +1 -0
  1266. package/packages/analyze/src/lib/index.js.map +1 -1
  1267. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1268. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1269. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  1270. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  1271. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  1272. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  1273. package/packages/database/index.js.map +1 -0
  1274. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -0
  1275. package/packages/database/src/lib/analysisToDb.js.map +1 -0
  1276. package/packages/database/src/lib/backgroundJobToDb.js.map +1 -0
  1277. package/packages/database/src/lib/branchToDb.js.map +1 -0
  1278. package/packages/database/src/lib/commitBranchToDb.js.map +1 -0
  1279. package/packages/database/src/lib/commitToDb.js.map +1 -0
  1280. package/packages/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  1281. package/packages/database/src/lib/createProject.js.map +1 -0
  1282. package/packages/database/src/lib/createRetryFetch.js.map +1 -0
  1283. package/packages/database/src/lib/dbToAnalysis.js.map +1 -0
  1284. package/packages/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  1285. package/packages/database/src/lib/dbToBackgroundJob.js.map +1 -0
  1286. package/packages/database/src/lib/dbToBranch.js.map +1 -0
  1287. package/packages/database/src/lib/dbToCommit.js.map +1 -0
  1288. package/packages/database/src/lib/dbToCommitBranch.js.map +1 -0
  1289. package/packages/database/src/lib/dbToEntity.js.map +1 -0
  1290. package/packages/database/src/lib/dbToEntityBranch.js.map +1 -0
  1291. package/packages/database/src/lib/dbToFile.js.map +1 -0
  1292. package/packages/database/src/lib/dbToProject.js.map +1 -0
  1293. package/packages/database/src/lib/dbToScenario.js.map +1 -0
  1294. package/packages/database/src/lib/dbToScenarioComment.js.map +1 -0
  1295. package/packages/database/src/lib/dbToUserScenario.js.map +1 -0
  1296. package/packages/database/src/lib/deleteBranch.js.map +1 -0
  1297. package/packages/database/src/lib/deleteEntities.js.map +1 -0
  1298. package/packages/database/src/lib/deleteFile.js.map +1 -0
  1299. package/packages/database/src/lib/deleteScenarios.js.map +1 -0
  1300. package/packages/database/src/lib/entityToDb.js.map +1 -0
  1301. package/packages/database/src/lib/fileToDb.js.map +1 -0
  1302. package/packages/database/src/lib/generateSha.js.map +1 -0
  1303. package/packages/database/src/lib/jsonUpdateUtils.js.map +1 -0
  1304. package/packages/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  1305. package/packages/database/src/lib/kysely/db.js +373 -0
  1306. package/packages/database/src/lib/kysely/db.js.map +1 -0
  1307. package/packages/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  1308. package/packages/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  1309. package/packages/database/src/lib/kysely/tableRelations.js.map +1 -0
  1310. package/packages/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  1311. package/packages/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  1312. package/packages/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  1313. package/packages/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  1314. package/packages/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  1315. package/packages/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  1316. package/packages/database/src/lib/kysely/tables/commitsTable.js +47 -0
  1317. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  1318. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
  1319. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  1320. package/packages/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  1321. package/packages/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  1322. package/packages/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  1323. package/packages/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  1324. package/packages/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  1325. package/packages/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  1326. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1327. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1328. package/packages/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  1329. package/packages/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  1330. package/packages/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  1331. package/packages/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  1332. package/packages/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  1333. package/packages/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  1334. package/packages/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  1335. package/packages/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  1336. package/packages/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  1337. package/packages/database/src/lib/loadAnalyses.js +174 -0
  1338. package/packages/database/src/lib/loadAnalyses.js.map +1 -0
  1339. package/packages/database/src/lib/loadAnalysis.js +138 -0
  1340. package/packages/database/src/lib/loadAnalysis.js.map +1 -0
  1341. package/packages/database/src/lib/loadAnalysisBranches.js.map +1 -0
  1342. package/packages/database/src/lib/loadBackgroundJob.js.map +1 -0
  1343. package/packages/database/src/lib/loadBranch.js +100 -0
  1344. package/packages/database/src/lib/loadBranch.js.map +1 -0
  1345. package/packages/database/src/lib/loadBranches.js.map +1 -0
  1346. package/packages/database/src/lib/loadCommit.js +118 -0
  1347. package/packages/database/src/lib/loadCommit.js.map +1 -0
  1348. package/packages/database/src/lib/loadCommitBranches.js.map +1 -0
  1349. package/packages/database/src/lib/loadCommitMetadata.js.map +1 -0
  1350. package/packages/database/src/lib/loadCommits.js +209 -0
  1351. package/packages/database/src/lib/loadCommits.js.map +1 -0
  1352. package/packages/database/src/lib/loadEntities.js +82 -0
  1353. package/packages/database/src/lib/loadEntities.js.map +1 -0
  1354. package/packages/database/src/lib/loadEntity.js.map +1 -0
  1355. package/packages/database/src/lib/loadEntityBranches.js +123 -0
  1356. package/packages/database/src/lib/loadEntityBranches.js.map +1 -0
  1357. package/packages/database/src/lib/loadFile.js.map +1 -0
  1358. package/packages/database/src/lib/loadFiles.js.map +1 -0
  1359. package/packages/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  1360. package/packages/database/src/lib/loadProject.js.map +1 -0
  1361. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
  1362. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  1363. package/packages/database/src/lib/loadScenario.js.map +1 -0
  1364. package/packages/database/src/lib/loadStatement.js.map +1 -0
  1365. package/packages/database/src/lib/nullsToUndefines.js.map +1 -0
  1366. package/packages/database/src/lib/projectToDb.js.map +1 -0
  1367. package/packages/database/src/lib/saveBackgroundEvent.js.map +1 -0
  1368. package/packages/database/src/lib/saveEntityStatements.js.map +1 -0
  1369. package/packages/database/src/lib/saveFiles.js.map +1 -0
  1370. package/packages/database/src/lib/saveStatement.js.map +1 -0
  1371. package/packages/database/src/lib/scenarioToDb.js +18 -0
  1372. package/packages/database/src/lib/scenarioToDb.js.map +1 -0
  1373. package/packages/database/src/lib/supabase.js.map +1 -0
  1374. package/packages/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  1375. package/packages/database/src/lib/updateCommitMetadata.js +101 -0
  1376. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -0
  1377. package/packages/database/src/lib/updateEntityBranch.js.map +1 -0
  1378. package/packages/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  1379. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  1380. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  1381. package/packages/database/src/lib/updateProjectMetadata.js.map +1 -0
  1382. package/packages/database/src/lib/upsertAnalyses.js.map +1 -0
  1383. package/packages/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  1384. package/packages/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  1385. package/packages/database/src/lib/upsertBackgroundJob.js.map +1 -0
  1386. package/packages/database/src/lib/upsertBranches.js.map +1 -0
  1387. package/packages/database/src/lib/upsertCommitBranches.js.map +1 -0
  1388. package/packages/database/src/lib/upsertCommits.js.map +1 -0
  1389. package/packages/database/src/lib/upsertEntities.js.map +1 -0
  1390. package/packages/database/src/lib/upsertEntityBranches.js.map +1 -0
  1391. package/packages/database/src/lib/upsertFiles.js.map +1 -0
  1392. package/packages/database/src/lib/upsertGithubUser.js.map +1 -0
  1393. package/packages/database/src/lib/upsertProjects.js.map +1 -0
  1394. package/packages/database/src/lib/upsertScenarios.js.map +1 -0
  1395. package/packages/generate/index.js +3 -0
  1396. package/packages/generate/index.js.map +1 -1
  1397. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +43 -21
  1398. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  1399. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  1400. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  1401. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  1402. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  1403. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  1404. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  1405. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  1406. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1407. package/packages/generate/src/lib/deepMerge.js +30 -2
  1408. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  1409. package/packages/generate/src/lib/directExecutionScript.js +10 -1
  1410. package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
  1411. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  1412. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  1413. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  1414. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  1415. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  1416. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  1417. package/packages/github/src/lib/getCommitsFromGithub.js +1 -1
  1418. package/packages/github/src/lib/loadOrCreateCommit.js +11 -1
  1419. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  1420. package/packages/github/src/lib/syncHeadBranches.js +1 -1
  1421. package/packages/github/src/lib/syncPrimaryBranch.js +4 -1
  1422. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  1423. package/packages/github/src/lib/syncPullRequest.js +1 -1
  1424. package/packages/github/src/lib/updateCommitBranchesInDb.js +1 -1
  1425. package/packages/github/src/lib/updateFilesInDb.js +1 -1
  1426. package/packages/process/index.js +3 -0
  1427. package/packages/process/index.js.map +1 -0
  1428. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  1429. package/packages/process/src/ProcessManager.js +244 -0
  1430. package/packages/process/src/ProcessManager.js.map +1 -0
  1431. package/packages/process/src/index.js.map +1 -0
  1432. package/packages/process/src/managedExecAsync.js.map +1 -0
  1433. package/packages/types/index.js.map +1 -1
  1434. package/packages/utils/index.js +4 -0
  1435. package/packages/utils/index.js.map +1 -1
  1436. package/packages/utils/src/lib/Semaphore.js +40 -0
  1437. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  1438. package/packages/utils/src/lib/applyUniversalMocks.js +65 -7
  1439. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  1440. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  1441. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  1442. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
  1443. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  1444. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  1445. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  1446. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
  1447. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  1448. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  1449. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  1450. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
  1451. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  1452. package/packages/utils/src/lib/lightweightEntityExtractor.js +42 -0
  1453. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  1454. package/packages/utils/src/lib/safeFileName.js +32 -3
  1455. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1456. package/packages/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  1457. package/packages/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  1458. package/packages/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  1459. package/packages/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  1460. package/packages/utils/src/lib/startCommand/index.js +3 -0
  1461. package/packages/utils/src/lib/startCommand/index.js.map +1 -0
  1462. package/scripts/finalize-analyzer.cjs +6 -4
  1463. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  1464. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -149
  1465. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -235
  1466. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  1467. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -227
  1468. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1469. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -101
  1470. package/analyzer-template/packages/github/dist/supabase/index.d.ts.map +0 -1
  1471. package/analyzer-template/packages/github/dist/supabase/index.js.map +0 -1
  1472. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.d.ts.map +0 -1
  1473. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1474. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.d.ts.map +0 -1
  1475. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js.map +0 -1
  1476. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.d.ts.map +0 -1
  1477. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1478. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.d.ts.map +0 -1
  1479. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js.map +0 -1
  1480. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.d.ts.map +0 -1
  1481. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1482. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.d.ts.map +0 -1
  1483. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js.map +0 -1
  1484. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.d.ts.map +0 -1
  1485. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1486. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.d.ts.map +0 -1
  1487. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.js.map +0 -1
  1488. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.d.ts.map +0 -1
  1489. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.js.map +0 -1
  1490. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.d.ts.map +0 -1
  1491. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1492. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.d.ts.map +0 -1
  1493. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1494. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.d.ts.map +0 -1
  1495. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1496. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.d.ts.map +0 -1
  1497. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.js.map +0 -1
  1498. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.d.ts.map +0 -1
  1499. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.js.map +0 -1
  1500. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.d.ts.map +0 -1
  1501. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1502. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.d.ts.map +0 -1
  1503. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.js.map +0 -1
  1504. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.d.ts.map +0 -1
  1505. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1506. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.d.ts.map +0 -1
  1507. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.js.map +0 -1
  1508. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.d.ts.map +0 -1
  1509. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.js.map +0 -1
  1510. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.d.ts.map +0 -1
  1511. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.js.map +0 -1
  1512. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.d.ts.map +0 -1
  1513. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1514. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.d.ts.map +0 -1
  1515. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1516. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.d.ts.map +0 -1
  1517. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.js.map +0 -1
  1518. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.d.ts.map +0 -1
  1519. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.js.map +0 -1
  1520. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.d.ts.map +0 -1
  1521. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.js.map +0 -1
  1522. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.d.ts.map +0 -1
  1523. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.js.map +0 -1
  1524. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.d.ts.map +0 -1
  1525. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.js.map +0 -1
  1526. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.d.ts.map +0 -1
  1527. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js.map +0 -1
  1528. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.d.ts.map +0 -1
  1529. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.js.map +0 -1
  1530. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.d.ts.map +0 -1
  1531. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1532. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.d.ts.map +0 -1
  1533. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1534. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +0 -67
  1535. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +0 -1
  1536. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +0 -360
  1537. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +0 -1
  1538. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.d.ts.map +0 -1
  1539. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1540. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +0 -1
  1541. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1542. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +0 -87
  1543. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +0 -1
  1544. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1545. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.d.ts.map +0 -1
  1546. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1547. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts +0 -105
  1548. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts.map +0 -1
  1549. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1550. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +0 -1
  1551. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1552. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +0 -1
  1553. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1554. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.d.ts.map +0 -1
  1555. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1556. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.d.ts.map +0 -1
  1557. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1558. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts +0 -47
  1559. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts.map +0 -1
  1560. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
  1561. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1562. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts +0 -65
  1563. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts.map +0 -1
  1564. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1565. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.d.ts.map +0 -1
  1566. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1567. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.d.ts.map +0 -1
  1568. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1569. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.d.ts.map +0 -1
  1570. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1571. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +0 -1
  1572. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1573. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.d.ts.map +0 -1
  1574. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1575. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.d.ts.map +0 -1
  1576. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1577. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +0 -1
  1578. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1579. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts +0 -65
  1580. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts.map +0 -1
  1581. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1582. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.d.ts.map +0 -1
  1583. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1584. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.d.ts.map +0 -1
  1585. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1586. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.d.ts.map +0 -1
  1587. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1588. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.d.ts.map +0 -1
  1589. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1590. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.d.ts.map +0 -1
  1591. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1592. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.d.ts.map +0 -1
  1593. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1594. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts +0 -14
  1595. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts.map +0 -1
  1596. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js +0 -131
  1597. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js.map +0 -1
  1598. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.d.ts.map +0 -1
  1599. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js +0 -130
  1600. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js.map +0 -1
  1601. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.d.ts.map +0 -1
  1602. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1603. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.d.ts.map +0 -1
  1604. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1605. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.d.ts.map +0 -1
  1606. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js +0 -90
  1607. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js.map +0 -1
  1608. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.d.ts.map +0 -1
  1609. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.js.map +0 -1
  1610. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.d.ts.map +0 -1
  1611. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js +0 -111
  1612. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js.map +0 -1
  1613. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.d.ts.map +0 -1
  1614. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1615. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.d.ts.map +0 -1
  1616. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1617. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts +0 -13
  1618. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts.map +0 -1
  1619. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js +0 -188
  1620. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js.map +0 -1
  1621. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts +0 -11
  1622. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts.map +0 -1
  1623. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js +0 -63
  1624. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js.map +0 -1
  1625. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.d.ts.map +0 -1
  1626. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.js.map +0 -1
  1627. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.d.ts.map +0 -1
  1628. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js +0 -114
  1629. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1630. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.d.ts.map +0 -1
  1631. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.js.map +0 -1
  1632. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.d.ts.map +0 -1
  1633. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.js.map +0 -1
  1634. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +0 -1
  1635. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1636. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.d.ts.map +0 -1
  1637. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.js.map +0 -1
  1638. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +0 -1
  1639. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1640. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1641. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.d.ts.map +0 -1
  1642. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.js.map +0 -1
  1643. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts +0 -3
  1644. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts.map +0 -1
  1645. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.js.map +0 -1
  1646. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.d.ts.map +0 -1
  1647. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1648. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.d.ts.map +0 -1
  1649. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js.map +0 -1
  1650. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.d.ts.map +0 -1
  1651. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1652. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.d.ts.map +0 -1
  1653. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1654. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.d.ts.map +0 -1
  1655. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js.map +0 -1
  1656. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.d.ts.map +0 -1
  1657. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.js.map +0 -1
  1658. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +0 -1
  1659. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +0 -18
  1660. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +0 -1
  1661. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts +0 -4
  1662. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts.map +0 -1
  1663. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.js.map +0 -1
  1664. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.d.ts.map +0 -1
  1665. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1666. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts +0 -13
  1667. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts.map +0 -1
  1668. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js +0 -100
  1669. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1670. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.d.ts.map +0 -1
  1671. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1672. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.d.ts.map +0 -1
  1673. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1674. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.d.ts.map +0 -1
  1675. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1676. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +0 -1
  1677. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1678. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.d.ts.map +0 -1
  1679. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1680. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.d.ts.map +0 -1
  1681. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1682. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.d.ts.map +0 -1
  1683. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1684. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.d.ts.map +0 -1
  1685. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1686. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.d.ts.map +0 -1
  1687. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1688. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.d.ts.map +0 -1
  1689. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.js.map +0 -1
  1690. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.d.ts.map +0 -1
  1691. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1692. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.d.ts.map +0 -1
  1693. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.js.map +0 -1
  1694. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.d.ts.map +0 -1
  1695. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.js.map +0 -1
  1696. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.d.ts.map +0 -1
  1697. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1698. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.d.ts.map +0 -1
  1699. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.js.map +0 -1
  1700. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.d.ts.map +0 -1
  1701. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1702. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.d.ts.map +0 -1
  1703. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.js.map +0 -1
  1704. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.d.ts.map +0 -1
  1705. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.js.map +0 -1
  1706. package/analyzer-template/packages/supabase/client.ts +0 -35
  1707. package/analyzer-template/packages/supabase/package.json +0 -31
  1708. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +0 -476
  1709. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +0 -105
  1710. package/analyzer-template/packages/supabase/src/lib/kysely/tables/commitsTable.ts +0 -61
  1711. package/analyzer-template/packages/supabase/src/lib/loadAnalyses.ts +0 -218
  1712. package/analyzer-template/packages/supabase/src/lib/loadAnalysis.ts +0 -210
  1713. package/analyzer-template/packages/supabase/src/lib/loadBranch.ts +0 -122
  1714. package/analyzer-template/packages/supabase/src/lib/loadCommit.ts +0 -163
  1715. package/analyzer-template/packages/supabase/src/lib/loadCommits.ts +0 -251
  1716. package/analyzer-template/packages/supabase/src/lib/loadEntities.ts +0 -94
  1717. package/analyzer-template/packages/supabase/src/lib/loadEntity.ts +0 -110
  1718. package/analyzer-template/packages/supabase/src/lib/loadEntityBranches.ts +0 -166
  1719. package/analyzer-template/packages/supabase/src/lib/loadFile.ts +0 -47
  1720. package/analyzer-template/packages/supabase/src/lib/loadFiles.ts +0 -137
  1721. package/analyzer-template/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -76
  1722. package/analyzer-template/packages/supabase/src/lib/loadStatement.ts +0 -23
  1723. package/analyzer-template/packages/supabase/src/lib/saveEntityStatements.ts +0 -28
  1724. package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +0 -34
  1725. package/analyzer-template/packages/supabase/src/lib/updateCommitMetadata.ts +0 -188
  1726. package/analyzer-template/packages/supabase/src/lib/updateProjectMetadata.ts +0 -96
  1727. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  1728. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  1729. package/analyzer-template/process/README.md +0 -507
  1730. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  1731. package/background/src/lib/process/ProcessManager.js +0 -244
  1732. package/background/src/lib/process/ProcessManager.js.map +0 -1
  1733. package/background/src/lib/process/index.js.map +0 -1
  1734. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  1735. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  1736. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  1737. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-rqv54FUY.js +0 -1
  1738. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-B0oiPem-.js +0 -26
  1739. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DqXXjAJ7.js +0 -3
  1740. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BKKG1s2B.js +0 -3
  1741. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DU_jxCPD.js +0 -1
  1742. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-5DY-YIxu.js +0 -6
  1743. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DmjXUj6m.js +0 -5
  1744. package/codeyam-cli/src/webserver/build/client/assets/_index-DvSrcxsk.js +0 -1
  1745. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CsaMd9mb.js +0 -10
  1746. package/codeyam-cli/src/webserver/build/client/assets/chart-column-VXBS6qOn.js +0 -1
  1747. package/codeyam-cli/src/webserver/build/client/assets/circle-alert-n5GUC2AS.js +0 -1
  1748. package/codeyam-cli/src/webserver/build/client/assets/clock-DKqtX8js.js +0 -1
  1749. package/codeyam-cli/src/webserver/build/client/assets/components-Dj-Ggnl2.js +0 -40
  1750. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-C1gnJVOL.svg +0 -4
  1751. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BbR3FwNc.js +0 -1
  1752. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BHiWkb_W.js +0 -11
  1753. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-L7M9Vr5z.js +0 -1
  1754. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-C9w-q7P3.js +0 -5
  1755. package/codeyam-cli/src/webserver/build/client/assets/entityVersioning-Bk_YB1jM.js +0 -1
  1756. package/codeyam-cli/src/webserver/build/client/assets/entry.client-CdGoUs8A.js +0 -1
  1757. package/codeyam-cli/src/webserver/build/client/assets/file-text-B6Er7j5k.js +0 -1
  1758. package/codeyam-cli/src/webserver/build/client/assets/files-KcDVw1FY.js +0 -1
  1759. package/codeyam-cli/src/webserver/build/client/assets/git-B9uZ8eSJ.js +0 -12
  1760. package/codeyam-cli/src/webserver/build/client/assets/globals-B0f88RTV.css +0 -1
  1761. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-v3c6DFp4.js +0 -1
  1762. package/codeyam-cli/src/webserver/build/client/assets/manifest-fca08d7e.js +0 -1
  1763. package/codeyam-cli/src/webserver/build/client/assets/root-Cf8VBqIb.js +0 -16
  1764. package/codeyam-cli/src/webserver/build/client/assets/search-DA14wXpu.js +0 -1
  1765. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  1766. package/codeyam-cli/src/webserver/build/client/assets/settings-COJUrwGu.js +0 -1
  1767. package/codeyam-cli/src/webserver/build/client/assets/settings-NU_ZquhK.js +0 -1
  1768. package/codeyam-cli/src/webserver/build/client/assets/simulations-CNaMJ-nR.js +0 -1
  1769. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-Lumm1t01.js +0 -2
  1770. package/codeyam-cli/src/webserver/build/client/assets/useToast-BRShB17p.js +0 -1
  1771. package/codeyam-cli/src/webserver/build/client/assets/zap-BvukH0eN.js +0 -1
  1772. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  1773. package/codeyam-cli/src/webserver/build/client/favicon.svg +0 -13
  1774. package/codeyam-cli/src/webserver/build/server/assets/index-DHr4rT4u.js +0 -1
  1775. package/codeyam-cli/src/webserver/build/server/assets/server-build-Bi1mj14J.js +0 -166
  1776. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  1777. package/codeyam-cli/src/webserver/public/favicon.svg +0 -13
  1778. package/codeyam-cli/templates/codeyam-debug-skill.md +0 -557
  1779. package/codeyam-cli/templates/codeyam-setup-skill.md +0 -468
  1780. package/codeyam-cli/templates/codeyam-sim-skill.md +0 -222
  1781. package/codeyam-cli/templates/codeyam-test-skill.md +0 -178
  1782. package/codeyam-cli/templates/codeyam-verify-skill.md +0 -179
  1783. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1784. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1785. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -112
  1786. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1787. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -190
  1788. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1789. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  1790. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  1791. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -182
  1792. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1793. package/packages/ai/src/lib/isFrontend.js +0 -5
  1794. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1795. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  1796. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
  1797. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1798. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1799. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -59
  1800. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1801. package/packages/supabase/index.js.map +0 -1
  1802. package/packages/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1803. package/packages/supabase/src/lib/analysisToDb.js.map +0 -1
  1804. package/packages/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1805. package/packages/supabase/src/lib/branchToDb.js.map +0 -1
  1806. package/packages/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1807. package/packages/supabase/src/lib/commitToDb.js.map +0 -1
  1808. package/packages/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1809. package/packages/supabase/src/lib/createProject.js.map +0 -1
  1810. package/packages/supabase/src/lib/createRetryFetch.js.map +0 -1
  1811. package/packages/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1812. package/packages/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1813. package/packages/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1814. package/packages/supabase/src/lib/dbToBranch.js.map +0 -1
  1815. package/packages/supabase/src/lib/dbToCommit.js.map +0 -1
  1816. package/packages/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1817. package/packages/supabase/src/lib/dbToEntity.js.map +0 -1
  1818. package/packages/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1819. package/packages/supabase/src/lib/dbToFile.js.map +0 -1
  1820. package/packages/supabase/src/lib/dbToProject.js.map +0 -1
  1821. package/packages/supabase/src/lib/dbToScenario.js.map +0 -1
  1822. package/packages/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1823. package/packages/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1824. package/packages/supabase/src/lib/deleteBranch.js.map +0 -1
  1825. package/packages/supabase/src/lib/deleteEntities.js.map +0 -1
  1826. package/packages/supabase/src/lib/deleteFile.js.map +0 -1
  1827. package/packages/supabase/src/lib/deleteScenarios.js.map +0 -1
  1828. package/packages/supabase/src/lib/entityToDb.js.map +0 -1
  1829. package/packages/supabase/src/lib/fileToDb.js.map +0 -1
  1830. package/packages/supabase/src/lib/generateSha.js.map +0 -1
  1831. package/packages/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1832. package/packages/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1833. package/packages/supabase/src/lib/kysely/db.js +0 -360
  1834. package/packages/supabase/src/lib/kysely/db.js.map +0 -1
  1835. package/packages/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1836. package/packages/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1837. package/packages/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1838. package/packages/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1839. package/packages/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1840. package/packages/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1841. package/packages/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1842. package/packages/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1843. package/packages/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1844. package/packages/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
  1845. package/packages/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1846. package/packages/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1847. package/packages/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1848. package/packages/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1849. package/packages/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1850. package/packages/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1851. package/packages/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1852. package/packages/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1853. package/packages/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1854. package/packages/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1855. package/packages/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1856. package/packages/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1857. package/packages/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1858. package/packages/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1859. package/packages/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1860. package/packages/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1861. package/packages/supabase/src/lib/loadAnalyses.js +0 -131
  1862. package/packages/supabase/src/lib/loadAnalyses.js.map +0 -1
  1863. package/packages/supabase/src/lib/loadAnalysis.js +0 -130
  1864. package/packages/supabase/src/lib/loadAnalysis.js.map +0 -1
  1865. package/packages/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1866. package/packages/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1867. package/packages/supabase/src/lib/loadBranch.js +0 -90
  1868. package/packages/supabase/src/lib/loadBranch.js.map +0 -1
  1869. package/packages/supabase/src/lib/loadBranches.js.map +0 -1
  1870. package/packages/supabase/src/lib/loadCommit.js +0 -111
  1871. package/packages/supabase/src/lib/loadCommit.js.map +0 -1
  1872. package/packages/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1873. package/packages/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1874. package/packages/supabase/src/lib/loadCommits.js +0 -188
  1875. package/packages/supabase/src/lib/loadCommits.js.map +0 -1
  1876. package/packages/supabase/src/lib/loadEntities.js +0 -63
  1877. package/packages/supabase/src/lib/loadEntities.js.map +0 -1
  1878. package/packages/supabase/src/lib/loadEntity.js.map +0 -1
  1879. package/packages/supabase/src/lib/loadEntityBranches.js +0 -114
  1880. package/packages/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1881. package/packages/supabase/src/lib/loadFile.js.map +0 -1
  1882. package/packages/supabase/src/lib/loadFiles.js.map +0 -1
  1883. package/packages/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1884. package/packages/supabase/src/lib/loadProject.js.map +0 -1
  1885. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1886. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1887. package/packages/supabase/src/lib/loadScenario.js.map +0 -1
  1888. package/packages/supabase/src/lib/loadStatement.js.map +0 -1
  1889. package/packages/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1890. package/packages/supabase/src/lib/projectToDb.js.map +0 -1
  1891. package/packages/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1892. package/packages/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1893. package/packages/supabase/src/lib/saveFiles.js.map +0 -1
  1894. package/packages/supabase/src/lib/saveStatement.js.map +0 -1
  1895. package/packages/supabase/src/lib/scenarioToDb.js +0 -18
  1896. package/packages/supabase/src/lib/scenarioToDb.js.map +0 -1
  1897. package/packages/supabase/src/lib/supabase.js.map +0 -1
  1898. package/packages/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1899. package/packages/supabase/src/lib/updateCommitMetadata.js +0 -100
  1900. package/packages/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1901. package/packages/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1902. package/packages/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1903. package/packages/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1904. package/packages/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1905. package/packages/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1906. package/packages/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1907. package/packages/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1908. package/packages/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1909. package/packages/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1910. package/packages/supabase/src/lib/upsertBranches.js.map +0 -1
  1911. package/packages/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1912. package/packages/supabase/src/lib/upsertCommits.js.map +0 -1
  1913. package/packages/supabase/src/lib/upsertEntities.js.map +0 -1
  1914. package/packages/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1915. package/packages/supabase/src/lib/upsertFiles.js.map +0 -1
  1916. package/packages/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1917. package/packages/supabase/src/lib/upsertProjects.js.map +0 -1
  1918. package/packages/supabase/src/lib/upsertScenarios.js.map +0 -1
  1919. /package/analyzer-template/packages/{supabase → database}/__mocks__/index.ts +0 -0
  1920. /package/analyzer-template/packages/{supabase → database}/index.ts +0 -0
  1921. /package/analyzer-template/packages/{supabase → database}/src/lib/analysisBranchToDb.ts +0 -0
  1922. /package/analyzer-template/packages/{supabase → database}/src/lib/analysisToDb.ts +0 -0
  1923. /package/analyzer-template/packages/{supabase → database}/src/lib/backgroundJobToDb.ts +0 -0
  1924. /package/analyzer-template/packages/{supabase → database}/src/lib/branchToDb.ts +0 -0
  1925. /package/analyzer-template/packages/{supabase → database}/src/lib/client/listenForCommits_Client.ts +0 -0
  1926. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysesInClient.ts +0 -0
  1927. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysis_Client.ts +0 -0
  1928. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadBranches_Client.ts +0 -0
  1929. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadCommit_Client.ts +0 -0
  1930. /package/analyzer-template/packages/{supabase → database}/src/lib/client/upsertFiles_Client.ts +0 -0
  1931. /package/analyzer-template/packages/{supabase → database}/src/lib/commitBranchToDb.ts +0 -0
  1932. /package/analyzer-template/packages/{supabase → database}/src/lib/commitToDb.ts +0 -0
  1933. /package/analyzer-template/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.ts +0 -0
  1934. /package/analyzer-template/packages/{supabase → database}/src/lib/createProject.ts +0 -0
  1935. /package/analyzer-template/packages/{supabase → database}/src/lib/createRetryFetch.ts +0 -0
  1936. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysis.ts +0 -0
  1937. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysisBranch.ts +0 -0
  1938. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBackgroundJob.ts +0 -0
  1939. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBranch.ts +0 -0
  1940. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommit.ts +0 -0
  1941. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommitBranch.ts +0 -0
  1942. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntity.ts +0 -0
  1943. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntityBranch.ts +0 -0
  1944. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToFile.ts +0 -0
  1945. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToProject.ts +0 -0
  1946. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenario.ts +0 -0
  1947. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenarioComment.ts +0 -0
  1948. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToUserScenario.ts +0 -0
  1949. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteBranch.ts +0 -0
  1950. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteEntities.ts +0 -0
  1951. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteFile.ts +0 -0
  1952. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteScenarios.ts +0 -0
  1953. /package/analyzer-template/packages/{supabase → database}/src/lib/entityToDb.ts +0 -0
  1954. /package/analyzer-template/packages/{supabase → database}/src/lib/fileToDb.ts +0 -0
  1955. /package/analyzer-template/packages/{supabase → database}/src/lib/generateSha.ts +0 -0
  1956. /package/analyzer-template/packages/{supabase → database}/src/lib/jsonUpdateUtils.ts +0 -0
  1957. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.ts +0 -0
  1958. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/schemaHelpers.ts +0 -0
  1959. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.ts +0 -0
  1960. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.ts +0 -0
  1961. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.ts +0 -0
  1962. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.ts +0 -0
  1963. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.ts +0 -0
  1964. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.ts +0 -0
  1965. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.ts +0 -0
  1966. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.ts +0 -0
  1967. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.ts +0 -0
  1968. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.ts +0 -0
  1969. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/filesTable.ts +0 -0
  1970. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.ts +0 -0
  1971. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.ts +0 -0
  1972. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.ts +0 -0
  1973. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.ts +0 -0
  1974. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.ts +0 -0
  1975. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.ts +0 -0
  1976. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.ts +0 -0
  1977. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.ts +0 -0
  1978. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.ts +0 -0
  1979. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/usersTable.ts +0 -0
  1980. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/upsertHelpers.ts +0 -0
  1981. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely.ts +0 -0
  1982. /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalysisBranches.ts +0 -0
  1983. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBackgroundJob.ts +0 -0
  1984. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBranches.ts +0 -0
  1985. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitBranches.ts +0 -0
  1986. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitMetadata.ts +0 -0
  1987. /package/analyzer-template/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.ts +0 -0
  1988. /package/analyzer-template/packages/{supabase → database}/src/lib/loadProject.ts +0 -0
  1989. /package/analyzer-template/packages/{supabase → database}/src/lib/loadScenario.ts +0 -0
  1990. /package/analyzer-template/packages/{supabase → database}/src/lib/nullsToUndefines.ts +0 -0
  1991. /package/analyzer-template/packages/{supabase → database}/src/lib/projectToDb.ts +0 -0
  1992. /package/analyzer-template/packages/{supabase → database}/src/lib/saveBackgroundEvent.ts +0 -0
  1993. /package/analyzer-template/packages/{supabase → database}/src/lib/saveFiles.ts +0 -0
  1994. /package/analyzer-template/packages/{supabase → database}/src/lib/saveStatement.ts +0 -0
  1995. /package/analyzer-template/packages/{supabase → database}/src/lib/scenarioCommentToDb.ts +0 -0
  1996. /package/analyzer-template/packages/{supabase → database}/src/lib/supabase.ts +0 -0
  1997. /package/analyzer-template/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.ts +0 -0
  1998. /package/analyzer-template/packages/{supabase → database}/src/lib/updateEntityBranch.ts +0 -0
  1999. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.ts +0 -0
  2000. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.ts +0 -0
  2001. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.ts +0 -0
  2002. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalyses.ts +0 -0
  2003. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.ts +0 -0
  2004. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysisBranches.ts +0 -0
  2005. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBackgroundJob.ts +0 -0
  2006. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBranches.ts +0 -0
  2007. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommitBranches.ts +0 -0
  2008. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommits.ts +0 -0
  2009. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntities.ts +0 -0
  2010. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntityBranches.ts +0 -0
  2011. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertFiles.ts +0 -0
  2012. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertGithubUser.ts +0 -0
  2013. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertProjects.ts +0 -0
  2014. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertScenarios.ts +0 -0
  2015. /package/analyzer-template/packages/{supabase → database}/src/lib/userScenarioToDb.ts +0 -0
  2016. /package/analyzer-template/packages/{supabase → database}/tsconfig.json +0 -0
  2017. /package/analyzer-template/packages/github/dist/{supabase → database}/index.d.ts +0 -0
  2018. /package/analyzer-template/packages/github/dist/{supabase → database}/index.js +0 -0
  2019. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.d.ts +0 -0
  2020. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.js +0 -0
  2021. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.d.ts +0 -0
  2022. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.js +0 -0
  2023. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.d.ts +0 -0
  2024. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  2025. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.d.ts +0 -0
  2026. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.js +0 -0
  2027. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.d.ts +0 -0
  2028. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.js +0 -0
  2029. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.d.ts +0 -0
  2030. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.js +0 -0
  2031. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.d.ts +0 -0
  2032. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  2033. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.d.ts +0 -0
  2034. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.js +0 -0
  2035. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.d.ts +0 -0
  2036. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  2037. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.d.ts +0 -0
  2038. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  2039. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.d.ts +0 -0
  2040. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  2041. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.d.ts +0 -0
  2042. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  2043. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.d.ts +0 -0
  2044. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.js +0 -0
  2045. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.d.ts +0 -0
  2046. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.js +0 -0
  2047. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.d.ts +0 -0
  2048. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  2049. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.d.ts +0 -0
  2050. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.js +0 -0
  2051. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.d.ts +0 -0
  2052. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  2053. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.d.ts +0 -0
  2054. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.js +0 -0
  2055. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.d.ts +0 -0
  2056. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.js +0 -0
  2057. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.d.ts +0 -0
  2058. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.js +0 -0
  2059. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.d.ts +0 -0
  2060. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  2061. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.d.ts +0 -0
  2062. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  2063. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.d.ts +0 -0
  2064. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.js +0 -0
  2065. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.d.ts +0 -0
  2066. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.js +0 -0
  2067. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.d.ts +0 -0
  2068. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.js +0 -0
  2069. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.d.ts +0 -0
  2070. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  2071. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.d.ts +0 -0
  2072. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.js +0 -0
  2073. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.d.ts +0 -0
  2074. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.js +0 -0
  2075. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.d.ts +0 -0
  2076. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.js +0 -0
  2077. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.d.ts +0 -0
  2078. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  2079. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.d.ts +0 -0
  2080. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  2081. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.d.ts +0 -0
  2082. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  2083. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.d.ts +0 -0
  2084. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  2085. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  2086. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.d.ts +0 -0
  2087. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  2088. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  2089. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.d.ts +0 -0
  2090. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  2091. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.d.ts +0 -0
  2092. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  2093. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.d.ts +0 -0
  2094. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  2095. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.d.ts +0 -0
  2096. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  2097. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  2098. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.d.ts +0 -0
  2099. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  2100. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.d.ts +0 -0
  2101. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  2102. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.d.ts +0 -0
  2103. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  2104. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.d.ts +0 -0
  2105. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  2106. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.d.ts +0 -0
  2107. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  2108. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.d.ts +0 -0
  2109. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  2110. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.d.ts +0 -0
  2111. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  2112. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  2113. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.d.ts +0 -0
  2114. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  2115. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.d.ts +0 -0
  2116. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  2117. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.d.ts +0 -0
  2118. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  2119. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.d.ts +0 -0
  2120. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  2121. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.d.ts +0 -0
  2122. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  2123. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.d.ts +0 -0
  2124. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  2125. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysis.d.ts +0 -0
  2126. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.d.ts +0 -0
  2127. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  2128. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.d.ts +0 -0
  2129. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  2130. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranch.d.ts +0 -0
  2131. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.d.ts +0 -0
  2132. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.js +0 -0
  2133. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommit.d.ts +0 -0
  2134. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.d.ts +0 -0
  2135. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  2136. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.d.ts +0 -0
  2137. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  2138. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.d.ts +0 -0
  2139. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.js +0 -0
  2140. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntityBranches.d.ts +0 -0
  2141. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.d.ts +0 -0
  2142. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.js +0 -0
  2143. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.d.ts +0 -0
  2144. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.js +0 -0
  2145. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.d.ts +0 -0
  2146. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  2147. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.d.ts +0 -0
  2148. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.js +0 -0
  2149. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadReadyToBeCapturedAnalyses.d.ts +0 -0
  2150. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.d.ts +0 -0
  2151. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.js +0 -0
  2152. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadStatement.js +0 -0
  2153. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.d.ts +0 -0
  2154. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  2155. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.d.ts +0 -0
  2156. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.js +0 -0
  2157. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.d.ts +0 -0
  2158. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  2159. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.d.ts +0 -0
  2160. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  2161. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.d.ts +0 -0
  2162. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.js +0 -0
  2163. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.d.ts +0 -0
  2164. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.js +0 -0
  2165. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/scenarioToDb.d.ts +0 -0
  2166. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/supabase.js +0 -0
  2167. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.d.ts +0 -0
  2168. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  2169. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.d.ts +0 -0
  2170. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  2171. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.d.ts +0 -0
  2172. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  2173. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.d.ts +0 -0
  2174. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  2175. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts +0 -0
  2176. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  2177. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.d.ts +0 -0
  2178. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  2179. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.d.ts +0 -0
  2180. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  2181. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.d.ts +0 -0
  2182. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  2183. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.d.ts +0 -0
  2184. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  2185. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.d.ts +0 -0
  2186. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  2187. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.d.ts +0 -0
  2188. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.js +0 -0
  2189. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.d.ts +0 -0
  2190. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  2191. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.d.ts +0 -0
  2192. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.js +0 -0
  2193. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.d.ts +0 -0
  2194. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.js +0 -0
  2195. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.d.ts +0 -0
  2196. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  2197. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.d.ts +0 -0
  2198. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.js +0 -0
  2199. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.d.ts +0 -0
  2200. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  2201. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.d.ts +0 -0
  2202. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.js +0 -0
  2203. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.d.ts +0 -0
  2204. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.js +0 -0
  2205. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  2206. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  2207. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  2208. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  2209. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
  2210. /package/packages/{supabase → database}/index.js +0 -0
  2211. /package/packages/{supabase → database}/src/lib/analysisBranchToDb.js +0 -0
  2212. /package/packages/{supabase → database}/src/lib/analysisToDb.js +0 -0
  2213. /package/packages/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  2214. /package/packages/{supabase → database}/src/lib/branchToDb.js +0 -0
  2215. /package/packages/{supabase → database}/src/lib/commitBranchToDb.js +0 -0
  2216. /package/packages/{supabase → database}/src/lib/commitToDb.js +0 -0
  2217. /package/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  2218. /package/packages/{supabase → database}/src/lib/createProject.js +0 -0
  2219. /package/packages/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  2220. /package/packages/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  2221. /package/packages/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  2222. /package/packages/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  2223. /package/packages/{supabase → database}/src/lib/dbToBranch.js +0 -0
  2224. /package/packages/{supabase → database}/src/lib/dbToCommit.js +0 -0
  2225. /package/packages/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  2226. /package/packages/{supabase → database}/src/lib/dbToEntity.js +0 -0
  2227. /package/packages/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  2228. /package/packages/{supabase → database}/src/lib/dbToFile.js +0 -0
  2229. /package/packages/{supabase → database}/src/lib/dbToProject.js +0 -0
  2230. /package/packages/{supabase → database}/src/lib/dbToScenario.js +0 -0
  2231. /package/packages/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  2232. /package/packages/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  2233. /package/packages/{supabase → database}/src/lib/deleteBranch.js +0 -0
  2234. /package/packages/{supabase → database}/src/lib/deleteEntities.js +0 -0
  2235. /package/packages/{supabase → database}/src/lib/deleteFile.js +0 -0
  2236. /package/packages/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  2237. /package/packages/{supabase → database}/src/lib/entityToDb.js +0 -0
  2238. /package/packages/{supabase → database}/src/lib/fileToDb.js +0 -0
  2239. /package/packages/{supabase → database}/src/lib/generateSha.js +0 -0
  2240. /package/packages/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  2241. /package/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  2242. /package/packages/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  2243. /package/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  2244. /package/packages/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  2245. /package/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  2246. /package/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  2247. /package/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  2248. /package/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  2249. /package/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  2250. /package/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  2251. /package/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  2252. /package/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  2253. /package/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  2254. /package/packages/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  2255. /package/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  2256. /package/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  2257. /package/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  2258. /package/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  2259. /package/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  2260. /package/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  2261. /package/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  2262. /package/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  2263. /package/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  2264. /package/packages/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  2265. /package/packages/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  2266. /package/packages/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  2267. /package/packages/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  2268. /package/packages/{supabase → database}/src/lib/loadBranches.js +0 -0
  2269. /package/packages/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  2270. /package/packages/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  2271. /package/packages/{supabase → database}/src/lib/loadEntity.js +0 -0
  2272. /package/packages/{supabase → database}/src/lib/loadFile.js +0 -0
  2273. /package/packages/{supabase → database}/src/lib/loadFiles.js +0 -0
  2274. /package/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  2275. /package/packages/{supabase → database}/src/lib/loadProject.js +0 -0
  2276. /package/packages/{supabase → database}/src/lib/loadScenario.js +0 -0
  2277. /package/packages/{supabase → database}/src/lib/loadStatement.js +0 -0
  2278. /package/packages/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  2279. /package/packages/{supabase → database}/src/lib/projectToDb.js +0 -0
  2280. /package/packages/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  2281. /package/packages/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  2282. /package/packages/{supabase → database}/src/lib/saveFiles.js +0 -0
  2283. /package/packages/{supabase → database}/src/lib/saveStatement.js +0 -0
  2284. /package/packages/{supabase → database}/src/lib/supabase.js +0 -0
  2285. /package/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  2286. /package/packages/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  2287. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  2288. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  2289. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  2290. /package/packages/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  2291. /package/packages/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  2292. /package/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  2293. /package/packages/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  2294. /package/packages/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  2295. /package/packages/{supabase → database}/src/lib/upsertBranches.js +0 -0
  2296. /package/packages/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  2297. /package/packages/{supabase → database}/src/lib/upsertCommits.js +0 -0
  2298. /package/packages/{supabase → database}/src/lib/upsertEntities.js +0 -0
  2299. /package/packages/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  2300. /package/packages/{supabase → database}/src/lib/upsertFiles.js +0 -0
  2301. /package/packages/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  2302. /package/packages/{supabase → database}/src/lib/upsertProjects.js +0 -0
  2303. /package/packages/{supabase → database}/src/lib/upsertScenarios.js +0 -0
  2304. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  2305. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  2306. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -0,0 +1,2267 @@
1
+ /**
2
+ * Generates execution flows from conditional usages using pure static analysis.
3
+ *
4
+ * This replaces LLM-driven flow generation with deterministic flow generation
5
+ * based on conditionalUsages extracted from the AST. Only paths that resolve
6
+ * to controllable data sources (exist in attributesMap) produce flows.
7
+ *
8
+ * Flow generation rules:
9
+ * - truthiness conditions → truthy flow + falsy flow
10
+ * - comparison conditions → one flow per compared value
11
+ * - switch conditions → one flow per case value
12
+ * - compound conditionals → one flow with all conditions (only if ALL paths controllable)
13
+ */
14
+
15
+ import type { ExecutionFlow } from '~codeyam/types';
16
+ import type {
17
+ ConditionalUsage,
18
+ CompoundConditional,
19
+ DerivedVariableOperation,
20
+ DerivedVariableInfo,
21
+ JsxRenderingUsage,
22
+ } from './astScopes/types';
23
+ import type { EnrichedConditionalUsage } from './worker/SerializableDataStructure';
24
+ import resolvePathToControllable from './resolvePathToControllable';
25
+ import cleanPathOfNonTransformingFunctions from './dataStructure/helpers/cleanPathOfNonTransformingFunctions';
26
+
27
+ /** Extended conditional usage type that may include sourceDataPath from enrichment */
28
+ type ExtendedConditionalUsage = ConditionalUsage &
29
+ Partial<EnrichedConditionalUsage>;
30
+
31
+ /** Child component conditional data for merging child flows into parent */
32
+ export interface ChildComponentConditionalData {
33
+ /** Child's conditional usages keyed by variable name (may include sourceDataPath from enrichment) */
34
+ conditionalUsages: Record<string, ExtendedConditionalUsage[]>;
35
+ /** Child's equivalent signature variables (maps internal paths to prop paths) */
36
+ equivalentSignatureVariables: Record<string, string | string[]>;
37
+ /** Child's compound conditionals */
38
+ compoundConditionals: CompoundConditional[];
39
+ /**
40
+ * Gating conditions - the parent's conditions required to render this child component.
41
+ * For example, if the parent has `{hasAnalysis && <ChildComponent />}`,
42
+ * then `hasAnalysis` is a gating condition for all of ChildComponent's flows.
43
+ */
44
+ gatingConditions?: ConditionalUsage[];
45
+ /**
46
+ * Child's JSX rendering usages (arrays rendered via .map(), text interpolation).
47
+ * These generate "variation flows" for different array lengths.
48
+ */
49
+ jsxRenderingUsages?: JsxRenderingUsage[];
50
+ }
51
+
52
+ export interface GenerateFlowsFromConditionalsArgs {
53
+ /** Record of attribute paths to their conditional usages (may include sourceDataPath) */
54
+ conditionalUsages: Record<string, ExtendedConditionalUsage[]>;
55
+ /** Compound conditionals (&&-chained conditions) */
56
+ compoundConditionals: CompoundConditional[];
57
+ /** Map of controllable paths to their types */
58
+ attributesMap: Record<string, string>;
59
+ /** Map from local variable names to data sources */
60
+ equivalentSignatureVariables: Record<string, string | string[]>;
61
+ /** Map from full paths to short paths */
62
+ fullToShortPathMap: Record<string, string>;
63
+ /**
64
+ * Optional child component conditional data.
65
+ * Maps child component name to its conditional data.
66
+ * Used to merge child execution flows into parent.
67
+ */
68
+ childComponentData?: Record<string, ChildComponentConditionalData>;
69
+ /**
70
+ * Optional map of derived variables to their derivation info.
71
+ * Used to trace intermediate derived variables that aren't directly
72
+ * used in conditionals but are sources for other derived variables.
73
+ *
74
+ * Example:
75
+ * - `isInCurrentRun = currentRun.entityShas.includes(sha)` → { sourcePath: 'currentRun.entityShas', operation: 'arrayIncludes' }
76
+ * - `isAnalyzing = isInCurrentRun || isInQueue` → { sourcePaths: ['isInCurrentRun', 'isInQueue'], operation: 'or' }
77
+ *
78
+ * Without this map, we can't trace from `isAnalyzing` through `isInCurrentRun`
79
+ * to `currentRun.entityShas` when `isInCurrentRun` isn't in conditionalUsages.
80
+ */
81
+ derivedVariables?: Record<string, DerivedVariableInfo>;
82
+ /**
83
+ * Optional map of child prop paths to their actual data sources.
84
+ * Used when child props flow through useState but ultimately come from
85
+ * mockable data sources (e.g., API calls, fetchers).
86
+ *
87
+ * Example:
88
+ * - "WorkoutsView().signature[0].workouts" → "createClient()...functionCallReturnValue.data"
89
+ *
90
+ * When a child path translates to a useState value, we check this map
91
+ * to find the real data source that can be mocked.
92
+ */
93
+ sourceEquivalencies?: Record<
94
+ string,
95
+ Array<{ scopeNodeName: string; schemaPath: string }>
96
+ >;
97
+ }
98
+
99
+ /**
100
+ * Resolved source info from expanding a derived variable.
101
+ * Contains the path and the operation that led to it.
102
+ */
103
+ interface ResolvedSourceInfo {
104
+ path: string;
105
+ operation?:
106
+ | 'notNull'
107
+ | 'isNull'
108
+ | 'equals'
109
+ | 'notEquals'
110
+ | 'or'
111
+ | 'and'
112
+ | 'arrayIncludes'
113
+ | 'arraySome'
114
+ | 'arrayEvery'
115
+ | 'arrayLength';
116
+ }
117
+
118
+ /**
119
+ * Recursively expands a derived variable to its leaf data sources.
120
+ *
121
+ * For OR expressions like `isAnalyzing = a || b || c`:
122
+ * - Returns all source paths [a, b, c] so they can all be set appropriately
123
+ *
124
+ * For nested derivations like `isAnalyzing = isInCurrentRun || isInQueue`:
125
+ * - Where `isInCurrentRun` is derived from `currentRun.entityShas.includes(x)`
126
+ * - Returns the final data sources: [currentRun.entityShas, queueState.jobs]
127
+ *
128
+ * @param path The variable path to expand
129
+ * @param conditionalUsages All conditional usages (to look up derivedFrom info)
130
+ * @param attributesMap Map of controllable paths
131
+ * @param equivalentSignatureVariables Variable-to-path mappings
132
+ * @param fullToShortPathMap Full-to-short path mappings
133
+ * @param visited Set of already-visited paths (prevents infinite recursion)
134
+ * @param derivedVariables Optional map of all derived variables (for intermediate tracing)
135
+ * @returns Array of resolved source paths that are controllable
136
+ */
137
+ function expandDerivedVariableToSources(
138
+ path: string,
139
+ conditionalUsages: Record<string, ConditionalUsage[]>,
140
+ attributesMap: Record<string, string>,
141
+ equivalentSignatureVariables: Record<string, string | string[]>,
142
+ fullToShortPathMap: Record<string, string>,
143
+ visited: Set<string> = new Set(),
144
+ derivedVariables?: Record<string, DerivedVariableInfo>,
145
+ ): ResolvedSourceInfo[] {
146
+ // Prevent infinite recursion
147
+ if (visited.has(path)) {
148
+ return [];
149
+ }
150
+ visited.add(path);
151
+
152
+ // First, check if this path is directly controllable
153
+ const directResolution = resolvePathToControllable(
154
+ path,
155
+ attributesMap,
156
+ equivalentSignatureVariables,
157
+ fullToShortPathMap,
158
+ );
159
+
160
+ if (directResolution.isControllable && directResolution.resolvedPath) {
161
+ return [{ path: directResolution.resolvedPath }];
162
+ }
163
+
164
+ // Look up derivedFrom info for this path
165
+ // First check conditionalUsages, then fall back to derivedVariables
166
+ const usage = conditionalUsages[path]?.[0];
167
+ let derivedFrom = usage?.derivedFrom;
168
+
169
+ // CRITICAL: If not found in conditionalUsages, check derivedVariables
170
+ // This handles intermediate derived variables like `isInCurrentRun` that aren't
171
+ // directly used in conditionals but ARE derived from data sources
172
+ if (!derivedFrom && derivedVariables?.[path]) {
173
+ derivedFrom = derivedVariables[path];
174
+ }
175
+
176
+ if (!derivedFrom) {
177
+ return [];
178
+ }
179
+
180
+ const { operation, sourcePath, sourcePaths } = derivedFrom;
181
+
182
+ // For OR/AND operations, recursively expand all source paths
183
+ if ((operation === 'or' || operation === 'and') && sourcePaths) {
184
+ const allSources: ResolvedSourceInfo[] = [];
185
+
186
+ for (const sp of sourcePaths) {
187
+ const expanded = expandDerivedVariableToSources(
188
+ sp,
189
+ conditionalUsages,
190
+ attributesMap,
191
+ equivalentSignatureVariables,
192
+ fullToShortPathMap,
193
+ visited,
194
+ derivedVariables,
195
+ );
196
+
197
+ // Add all expanded sources
198
+ for (const source of expanded) {
199
+ // Avoid duplicates
200
+ if (!allSources.some((s) => s.path === source.path)) {
201
+ allSources.push(source);
202
+ }
203
+ }
204
+ }
205
+
206
+ return allSources;
207
+ }
208
+
209
+ // For single-source operations (arrayIncludes, arraySome, notNull, etc.)
210
+ if (sourcePath) {
211
+ // Try to resolve the source path directly
212
+ const sourceResolution = resolvePathToControllable(
213
+ sourcePath,
214
+ attributesMap,
215
+ equivalentSignatureVariables,
216
+ fullToShortPathMap,
217
+ );
218
+
219
+ if (sourceResolution.isControllable && sourceResolution.resolvedPath) {
220
+ return [{ path: sourceResolution.resolvedPath, operation }];
221
+ }
222
+
223
+ // If not directly resolvable, recursively expand
224
+ return expandDerivedVariableToSources(
225
+ sourcePath,
226
+ conditionalUsages,
227
+ attributesMap,
228
+ equivalentSignatureVariables,
229
+ fullToShortPathMap,
230
+ visited,
231
+ derivedVariables,
232
+ );
233
+ }
234
+
235
+ return [];
236
+ }
237
+
238
+ /**
239
+ * Clean up sourceDataPath by removing redundant scope prefixes.
240
+ *
241
+ * This function ONLY handles the specific pattern where a scope name is
242
+ * duplicated before the hook call:
243
+ *
244
+ * Example:
245
+ * "useLoaderData<LoaderData>.useLoaderData<LoaderData>().functionCallReturnValue.entity.sha"
246
+ * → "useLoaderData<LoaderData>().functionCallReturnValue.entity.sha"
247
+ *
248
+ * For paths with multiple function calls (like fetch().json()), or paths
249
+ * that don't match the expected pattern, returns null to indicate the
250
+ * fallback resolution should be used.
251
+ */
252
+ function cleanSourceDataPath(sourceDataPath: string): string | null {
253
+ // Count function call patterns - both empty () and with content (...)
254
+ // We detect multiple function calls by counting:
255
+ // 1. Empty () patterns
256
+ // 2. Patterns like functionName(...) - closing paren followed by dot or end
257
+ const emptyFnCalls = (sourceDataPath.match(/\(\)/g) || []).length;
258
+ const fnCallReturnValues = (
259
+ sourceDataPath.match(/\.functionCallReturnValue/g) || []
260
+ ).length;
261
+
262
+ // If there are multiple functionCallReturnValue occurrences, this is a chained call
263
+ // (e.g., fetch(...).functionCallReturnValue.json().functionCallReturnValue.data)
264
+ if (fnCallReturnValues > 1 || emptyFnCalls !== 1) {
265
+ // Multiple function calls - return null to use fallback resolution
266
+ return null;
267
+ }
268
+
269
+ // Find the "()" which marks the function call
270
+ const fnCallIndex = sourceDataPath.indexOf('()');
271
+
272
+ // Find where the function name starts (go back to find the start of this segment)
273
+ const beforeFnCall = sourceDataPath.slice(0, fnCallIndex);
274
+ const lastDotBeforeFn = beforeFnCall.lastIndexOf('.');
275
+
276
+ if (lastDotBeforeFn === -1) {
277
+ return sourceDataPath;
278
+ }
279
+
280
+ // Extract the scope prefix and the actual path
281
+ const scopePrefix = sourceDataPath.slice(0, lastDotBeforeFn);
282
+ const actualPath = sourceDataPath.slice(lastDotBeforeFn + 1);
283
+
284
+ // Verify this is actually a redundant scope prefix pattern
285
+ // The actualPath should start with something that matches the scopePrefix
286
+ // e.g., scopePrefix="useLoaderData<LoaderData>" and actualPath starts with "useLoaderData<LoaderData>()..."
287
+ if (!actualPath.startsWith(scopePrefix.split('.').pop() || '')) {
288
+ // Not a redundant prefix pattern - return the original path
289
+ return sourceDataPath;
290
+ }
291
+
292
+ return actualPath;
293
+ }
294
+
295
+ /**
296
+ * Strip .length suffix from a path if present.
297
+ *
298
+ * When we have a path like "items.length", the controllable attribute is "items"
299
+ * (the array), not "items.length". The length is derived from the array contents.
300
+ *
301
+ * This ensures that execution flows reference the actual controllable attribute
302
+ * rather than the derived .length property.
303
+ */
304
+ function stripLengthSuffix(path: string): string {
305
+ if (path.endsWith('.length')) {
306
+ return path.slice(0, -7); // Remove ".length" (7 characters)
307
+ }
308
+ return path;
309
+ }
310
+
311
+ /**
312
+ * Extract the controllable base path from a path that may contain method calls.
313
+ *
314
+ * This handles complex expressions like:
315
+ * - `scenarios.filter((s) => s.active).length` → `scenarios`
316
+ * - `users.some((u) => u.role === 'admin')` → `users`
317
+ * - `items.map(x => x.name).join(', ')` → `items`
318
+ *
319
+ * The controllable base is the path that can be mocked - we can control
320
+ * what `scenarios` contains, but we can't control what `.filter()` returns.
321
+ *
322
+ * @param path - The path that may contain method calls
323
+ * @returns The controllable base path with method calls stripped
324
+ */
325
+ function extractControllableBase(path: string): string {
326
+ // First strip .length suffix if present
327
+ const pathWithoutLength = stripLengthSuffix(path);
328
+
329
+ // Use cleanPathOfNonTransformingFunctions to strip method calls like .filter(), .some()
330
+ const cleanedPath = cleanPathOfNonTransformingFunctions(pathWithoutLength);
331
+
332
+ // If the cleaned path is different, return it
333
+ if (cleanedPath !== pathWithoutLength) {
334
+ return cleanedPath;
335
+ }
336
+
337
+ // Otherwise, return the path with just .length stripped
338
+ return pathWithoutLength;
339
+ }
340
+
341
+ /**
342
+ * Find a path in attributesMap, using fullToShortPathMap to verify the path is controllable.
343
+ *
344
+ * IMPORTANT: Returns the FULL path (preserving data source context) when possible.
345
+ * This ensures execution flows can be traced back to specific data sources,
346
+ * which is critical when multiple data sources have the same property names
347
+ * (e.g., multiple useFetcher hooks all having 'state' and 'data').
348
+ *
349
+ * The attributesMap contains short relative paths (e.g., "entity.sha")
350
+ * The sourceDataPath contains full paths (e.g., "useLoaderData<LoaderData>().functionCallReturnValue.entity.sha")
351
+ * The fullToShortPathMap maps full paths to short paths
352
+ */
353
+ function findInAttributesMapForPath(
354
+ path: string,
355
+ attributesMap: Record<string, string>,
356
+ fullToShortPathMap: Record<string, string>,
357
+ ): string | null {
358
+ // Direct match in attributesMap (already a short path)
359
+ if (path in attributesMap) {
360
+ return path;
361
+ }
362
+
363
+ // Try looking up the path in fullToShortPathMap to verify it's controllable
364
+ // IMPORTANT: Return the FULL path, not the short path, to preserve data source context
365
+ if (path in fullToShortPathMap) {
366
+ const shortPath = fullToShortPathMap[path];
367
+ if (shortPath in attributesMap) {
368
+ return path; // Return FULL path to preserve data source context
369
+ }
370
+ }
371
+
372
+ // Normalized match (array indices [N] → [])
373
+ const normalizedPath = path.replace(/\[\d+\]/g, '[]');
374
+ if (normalizedPath !== path) {
375
+ if (normalizedPath in attributesMap) {
376
+ return normalizedPath;
377
+ }
378
+ if (normalizedPath in fullToShortPathMap) {
379
+ const shortPath = fullToShortPathMap[normalizedPath];
380
+ if (shortPath in attributesMap) {
381
+ return normalizedPath; // Return normalized FULL path
382
+ }
383
+ }
384
+ }
385
+
386
+ // Try prefix matching for child paths
387
+ // e.g., path is "entity.sha.something" and attributesMap has "entity.sha"
388
+ // OR path is a full path like "useLoaderData<...>().functionCallReturnValue.entity.sha"
389
+ // and we need to find matching short path prefix
390
+ for (const attrPath of Object.keys(attributesMap)) {
391
+ if (path.startsWith(attrPath + '.') || path.startsWith(attrPath + '[')) {
392
+ // The path is a child of a known attribute path
393
+ return path;
394
+ }
395
+ }
396
+
397
+ // Try suffix matching: if the path ends with ".X.Y.Z" and attributesMap has "X.Y.Z"
398
+ // Return the FULL input path to preserve data source context
399
+ for (const attrPath of Object.keys(attributesMap)) {
400
+ if (
401
+ path.endsWith('.' + attrPath) ||
402
+ path.endsWith('.' + attrPath.replace(/\[\d+\]/g, '[]'))
403
+ ) {
404
+ return path; // Return FULL path, not short attrPath
405
+ }
406
+ }
407
+
408
+ return null;
409
+ }
410
+
411
+ /**
412
+ * Generate a slug from a path for use in flow IDs and exclusive groups.
413
+ */
414
+ function pathToSlug(path: string): string {
415
+ return path
416
+ .replace(/\[\d+\]/g, '')
417
+ .replace(/\[\]/g, '')
418
+ .replace(/\(\)/g, '')
419
+ .replace(/\.functionCallReturnValue/g, '')
420
+ .replace(/[<>]/g, '')
421
+ .replace(/\./g, '-')
422
+ .toLowerCase();
423
+ }
424
+
425
+ /**
426
+ * Generate a human-readable name from a path.
427
+ * Extracts the last meaningful part of the path.
428
+ *
429
+ * Examples:
430
+ * - "useFetcher<...>().functionCallReturnValue.state" → "state"
431
+ * - "useLoaderData<...>().functionCallReturnValue.user.isActive" → "isActive"
432
+ */
433
+ function generateNameFromPath(path: string): string {
434
+ // Remove function call markers and get the last meaningful segment
435
+ const cleanPath = path
436
+ .replace(/\(\)/g, '')
437
+ .replace(/\.functionCallReturnValue/g, '');
438
+ const parts = cleanPath.split('.');
439
+ const lastPart = parts[parts.length - 1];
440
+
441
+ // Convert camelCase to Title Case with spaces
442
+ return lastPart
443
+ .replace(/([A-Z])/g, ' $1')
444
+ .replace(/^./, (str) => str.toUpperCase())
445
+ .trim();
446
+ }
447
+
448
+ /**
449
+ * Generate a flow ID from path and value.
450
+ * Creates a unique, URL-safe identifier.
451
+ */
452
+ function generateFlowId(path: string, value: string): string {
453
+ // Clean the path for use in ID
454
+ const cleanPath = path
455
+ .replace(/\(\)/g, '')
456
+ .replace(/\.functionCallReturnValue/g, '')
457
+ .replace(/[<>]/g, '')
458
+ .replace(/\./g, '-');
459
+
460
+ // Clean the value
461
+ const cleanValue = value
462
+ .toString()
463
+ .toLowerCase()
464
+ .replace(/[^a-z0-9]/g, '-')
465
+ .replace(/-+/g, '-')
466
+ .replace(/^-|-$/g, '');
467
+
468
+ return `${cleanPath}-${cleanValue}`.toLowerCase();
469
+ }
470
+
471
+ /**
472
+ * Infer value type from a string value.
473
+ */
474
+ function inferValueType(
475
+ value: string,
476
+ ): 'string' | 'number' | 'boolean' | 'null' {
477
+ if (value === 'true' || value === 'false') return 'boolean';
478
+ if (value === 'null' || value === 'undefined') return 'null';
479
+ if (!isNaN(Number(value)) && value !== '') return 'number';
480
+ return 'string';
481
+ }
482
+
483
+ /**
484
+ * Generate flows from a single conditional usage.
485
+ * Sets impact to 'high' if the conditional controls JSX rendering.
486
+ *
487
+ * When the usage has a `constraintExpression`, it represents a complex expression
488
+ * that can't be simply resolved (e.g., `scenarios.filter(x => x.active).length > 1`).
489
+ * In this case:
490
+ * - `attributePath` is set to the controllable base (e.g., `scenarios`)
491
+ * - `constraint` is set to the full expression for LLM reasoning
492
+ */
493
+ function generateFlowsFromUsage(
494
+ usage: ConditionalUsage,
495
+ resolvedPath: string,
496
+ ): ExecutionFlow[] {
497
+ const flows: ExecutionFlow[] = [];
498
+ const baseName = generateNameFromPath(resolvedPath);
499
+
500
+ // Determine impact based on whether this conditional controls JSX rendering
501
+ // Conditionals that control visual output are high-impact
502
+ const impact: ExecutionFlow['impact'] = usage.controlsJsxRendering
503
+ ? 'high'
504
+ : 'medium';
505
+
506
+ // When there's a constraintExpression, use the controllable base for attributePath
507
+ // and pass through the constraint for LLM reasoning
508
+ const hasConstraint = !!usage.constraintExpression;
509
+ const attributePath = hasConstraint
510
+ ? extractControllableBase(resolvedPath)
511
+ : stripLengthSuffix(resolvedPath);
512
+ const constraint = usage.constraintExpression;
513
+
514
+ if (usage.conditionType === 'truthiness') {
515
+ // Generate both truthy and falsy flows
516
+ const isNegated = usage.isNegated ?? false;
517
+
518
+ // Truthy flow (or falsy if negated)
519
+ flows.push({
520
+ id: generateFlowId(resolvedPath, isNegated ? 'falsy' : 'truthy'),
521
+ name: `${baseName} ${isNegated ? 'False' : 'True'}`,
522
+ description: `When ${baseName.toLowerCase()} is ${isNegated ? 'falsy' : 'truthy'}`,
523
+ requiredValues: [
524
+ {
525
+ attributePath,
526
+ value: isNegated ? 'falsy' : 'truthy',
527
+ comparison: isNegated ? 'falsy' : 'truthy',
528
+ valueType: 'boolean',
529
+ constraint,
530
+ },
531
+ ],
532
+ impact,
533
+ sourceLocation: usage.sourceLocation
534
+ ? {
535
+ lineNumber: usage.sourceLocation.lineNumber,
536
+ column: usage.sourceLocation.column,
537
+ }
538
+ : undefined,
539
+ codeSnippet: usage.sourceLocation?.codeSnippet,
540
+ });
541
+
542
+ // Falsy flow (or truthy if negated)
543
+ flows.push({
544
+ id: generateFlowId(resolvedPath, isNegated ? 'truthy' : 'falsy'),
545
+ name: `${baseName} ${isNegated ? 'True' : 'False'}`,
546
+ description: `When ${baseName.toLowerCase()} is ${isNegated ? 'truthy' : 'falsy'}`,
547
+ requiredValues: [
548
+ {
549
+ attributePath,
550
+ value: isNegated ? 'truthy' : 'falsy',
551
+ comparison: isNegated ? 'truthy' : 'falsy',
552
+ valueType: 'boolean',
553
+ constraint,
554
+ },
555
+ ],
556
+ impact,
557
+ sourceLocation: usage.sourceLocation
558
+ ? {
559
+ lineNumber: usage.sourceLocation.lineNumber,
560
+ column: usage.sourceLocation.column,
561
+ }
562
+ : undefined,
563
+ codeSnippet: usage.sourceLocation?.codeSnippet,
564
+ });
565
+ } else if (
566
+ usage.conditionType === 'comparison' ||
567
+ usage.conditionType === 'switch'
568
+ ) {
569
+ // Generate one flow per compared value
570
+ const values = usage.comparedValues ?? [];
571
+
572
+ for (const value of values) {
573
+ flows.push({
574
+ id: generateFlowId(resolvedPath, value),
575
+ name: `${baseName}: ${value}`,
576
+ description: `When ${baseName.toLowerCase()} equals "${value}"`,
577
+ requiredValues: [
578
+ {
579
+ attributePath,
580
+ value: value,
581
+ comparison: 'equals',
582
+ valueType: inferValueType(value),
583
+ constraint,
584
+ },
585
+ ],
586
+ impact,
587
+ sourceLocation: usage.sourceLocation
588
+ ? {
589
+ lineNumber: usage.sourceLocation.lineNumber,
590
+ column: usage.sourceLocation.column,
591
+ }
592
+ : undefined,
593
+ codeSnippet: usage.sourceLocation?.codeSnippet,
594
+ });
595
+ }
596
+ }
597
+
598
+ return flows;
599
+ }
600
+
601
+ /**
602
+ * Generate a flow from a compound conditional (all conditions must be satisfied).
603
+ * Sets impact to 'high' if the compound conditional controls JSX rendering.
604
+ */
605
+ function generateFlowFromCompound(
606
+ compound: CompoundConditional,
607
+ resolvedPaths: Map<string, string>,
608
+ ): ExecutionFlow | null {
609
+ // Determine impact based on whether this compound conditional controls JSX rendering
610
+ const impact: ExecutionFlow['impact'] = compound.controlsJsxRendering
611
+ ? 'high'
612
+ : 'medium';
613
+ const requiredValues: ExecutionFlow['requiredValues'] = [];
614
+
615
+ for (const condition of compound.conditions) {
616
+ const resolvedPath = resolvedPaths.get(condition.path);
617
+ if (!resolvedPath) {
618
+ // This shouldn't happen if we pre-filtered, but safety check
619
+ return null;
620
+ }
621
+
622
+ // Determine the required value based on condition type
623
+ let value: string;
624
+ let comparison: ExecutionFlow['requiredValues'][0]['comparison'];
625
+
626
+ if (condition.conditionType === 'truthiness') {
627
+ // If negated (!foo), we need falsy; otherwise truthy
628
+ value = condition.isNegated ? 'falsy' : 'truthy';
629
+ comparison = condition.isNegated ? 'falsy' : 'truthy';
630
+ } else {
631
+ // For comparison/switch, use the first compared value or required value
632
+ value =
633
+ condition.requiredValue?.toString() ??
634
+ condition.comparedValues?.[0] ??
635
+ 'truthy';
636
+ comparison = 'equals';
637
+ }
638
+
639
+ requiredValues.push({
640
+ attributePath: stripLengthSuffix(resolvedPath),
641
+ value,
642
+ comparison,
643
+ valueType: inferValueType(value),
644
+ });
645
+ }
646
+
647
+ // Generate a combined ID from all paths
648
+ const pathParts = requiredValues
649
+ .map((rv) => {
650
+ const name = generateNameFromPath(rv.attributePath);
651
+ return name.toLowerCase().replace(/\s+/g, '-');
652
+ })
653
+ .join('-and-');
654
+
655
+ return {
656
+ id: `compound-${pathParts}`,
657
+ name: requiredValues
658
+ .map((rv) => generateNameFromPath(rv.attributePath))
659
+ .join(' + '),
660
+ description: `When ${requiredValues.map((rv) => `${generateNameFromPath(rv.attributePath).toLowerCase()} is ${rv.value}`).join(' and ')}`,
661
+ requiredValues,
662
+ impact,
663
+ sourceLocation: {
664
+ lineNumber: compound.sourceLocation.lineNumber,
665
+ column: compound.sourceLocation.column,
666
+ },
667
+ codeSnippet: compound.sourceLocation.codeSnippet,
668
+ };
669
+ }
670
+
671
+ /**
672
+ * Expand a compound conditional with OR groups into multiple condition sets.
673
+ *
674
+ * For a compound like `A && (B || C)`:
675
+ * - Conditions: [{ path: 'A' }, { path: 'B', orGroupId: 'or_xxx' }, { path: 'C', orGroupId: 'or_xxx' }]
676
+ * - Returns: [[A, B], [A, C]] - two sets of conditions
677
+ *
678
+ * For multiple OR groups like `A && (B || C) && (D || E)`:
679
+ * - Returns: [[A, B, D], [A, B, E], [A, C, D], [A, C, E]]
680
+ */
681
+ function expandOrGroups(
682
+ conditions: CompoundConditional['conditions'],
683
+ ): CompoundConditional['conditions'][] {
684
+ // Separate conditions into mandatory (no orGroupId) and OR groups
685
+ const mandatory = conditions.filter((c) => !c.orGroupId);
686
+ const orGroups = new Map<string, typeof conditions>();
687
+
688
+ for (const condition of conditions) {
689
+ if (condition.orGroupId) {
690
+ const group = orGroups.get(condition.orGroupId) ?? [];
691
+ group.push(condition);
692
+ orGroups.set(condition.orGroupId, group);
693
+ }
694
+ }
695
+
696
+ // If no OR groups, return the original conditions
697
+ if (orGroups.size === 0) {
698
+ return [conditions];
699
+ }
700
+
701
+ // Generate all combinations by picking one condition from each OR group
702
+ const groupArrays = Array.from(orGroups.values());
703
+ const combinations: CompoundConditional['conditions'][] = [];
704
+
705
+ function generateCombinations(
706
+ index: number,
707
+ current: typeof conditions,
708
+ ): void {
709
+ if (index === groupArrays.length) {
710
+ // We've picked one from each OR group - combine with mandatory conditions
711
+ combinations.push([...mandatory, ...current]);
712
+ return;
713
+ }
714
+
715
+ // Pick each option from the current OR group
716
+ for (const option of groupArrays[index]) {
717
+ generateCombinations(index + 1, [...current, option]);
718
+ }
719
+ }
720
+
721
+ generateCombinations(0, []);
722
+ return combinations;
723
+ }
724
+
725
+ /**
726
+ * Generate execution flows from conditional usages using pure static analysis.
727
+ *
728
+ * Only generates flows where all paths resolve to controllable data sources.
729
+ * This ensures we never produce flows with invalid paths like useState variables.
730
+ */
731
+ /**
732
+ * Normalize a resolved path to a canonical form for deduplication.
733
+ * Uses fullToShortPathMap to convert full paths to short paths.
734
+ * This ensures that both "hasNewerVersion" and
735
+ * "useLoaderData<LoaderData>().functionCallReturnValue.hasNewerVersion"
736
+ * normalize to the same canonical path.
737
+ */
738
+ function normalizePathForDeduplication(
739
+ resolvedPath: string,
740
+ fullToShortPathMap: Record<string, string>,
741
+ ): string {
742
+ // If the path is in fullToShortPathMap, use the short path as canonical
743
+ if (resolvedPath in fullToShortPathMap) {
744
+ return fullToShortPathMap[resolvedPath];
745
+ }
746
+ // Otherwise, the path itself is canonical
747
+ return resolvedPath;
748
+ }
749
+
750
+ /**
751
+ * Translate a child component path to a parent path using prop mappings.
752
+ *
753
+ * Given:
754
+ * - childPath: "selectedScenario.metadata.screenshotPaths[0]" (path in child's context)
755
+ * - childEquiv: { selectedScenario: "signature[0].selectedScenario" } (child's internal-to-prop mapping)
756
+ * - parentEquiv: { "ChildName().signature[0].selectedScenario": "selectedScenario" } (parent's prop assignments)
757
+ * - childName: "ChildName"
758
+ *
759
+ * Returns: "selectedScenario.metadata.screenshotPaths[0]" (path in parent's context)
760
+ *
761
+ * The translation works by:
762
+ * 1. Finding the root variable in the child path (e.g., "selectedScenario")
763
+ * 2. Looking up the child's equivalence to find the prop path (e.g., "signature[0].selectedScenario")
764
+ * 3. Building the full child prop path (e.g., "ChildName().signature[0].selectedScenario")
765
+ * 4. Looking up the parent's equivalence to find the parent path (e.g., "selectedScenario")
766
+ * 5. Replacing the root with the parent path and preserving the suffix
767
+ */
768
+ function translateChildPathToParent(
769
+ childPath: string,
770
+ childEquivalentSignatureVariables: Record<string, string | string[]>,
771
+ parentEquivalentSignatureVariables: Record<string, string | string[]>,
772
+ childName: string,
773
+ ): string | null {
774
+ // Extract the root variable from the child path
775
+ // e.g., "selectedScenario.metadata.screenshotPaths[0]" → "selectedScenario"
776
+ const dotIndex = childPath.indexOf('.');
777
+ const bracketIndex = childPath.indexOf('[');
778
+ let rootVar: string;
779
+ let suffix: string;
780
+
781
+ if (dotIndex === -1 && bracketIndex === -1) {
782
+ rootVar = childPath;
783
+ suffix = '';
784
+ } else if (dotIndex === -1) {
785
+ rootVar = childPath.slice(0, bracketIndex);
786
+ suffix = childPath.slice(bracketIndex);
787
+ } else if (bracketIndex === -1) {
788
+ rootVar = childPath.slice(0, dotIndex);
789
+ suffix = childPath.slice(dotIndex);
790
+ } else {
791
+ const firstIndex = Math.min(dotIndex, bracketIndex);
792
+ rootVar = childPath.slice(0, firstIndex);
793
+ suffix = childPath.slice(firstIndex);
794
+ }
795
+
796
+ // Look up the child's equivalence for this root variable
797
+ // e.g., childEquiv[selectedScenario] = "signature[0].selectedScenario"
798
+ // Handle array case (OR expressions) - use first element if array
799
+ const rawChildPropPath = childEquivalentSignatureVariables[rootVar];
800
+ const childPropPath = Array.isArray(rawChildPropPath)
801
+ ? rawChildPropPath[0]
802
+ : rawChildPropPath;
803
+
804
+ if (!childPropPath) {
805
+ // No mapping found - this might be internal state, not a prop
806
+ return null;
807
+ }
808
+
809
+ // Build the full child prop path as seen from parent
810
+ // e.g., "ChildName().signature[0].selectedScenario"
811
+ const fullChildPropPath = `${childName}().${childPropPath}`;
812
+
813
+ // Look up parent's equivalence to find what value was passed to this prop
814
+ // e.g., parentEquiv["ChildName().signature[0].selectedScenario"] = "selectedScenario"
815
+ // Handle array case (OR expressions) - use first element if array
816
+ const rawParentValue = parentEquivalentSignatureVariables[fullChildPropPath];
817
+ const parentValue = Array.isArray(rawParentValue)
818
+ ? rawParentValue[0]
819
+ : rawParentValue;
820
+
821
+ if (!parentValue) {
822
+ // No parent mapping found - log ALL parent keys that contain the childName
823
+ const relevantParentKeys = Object.keys(
824
+ parentEquivalentSignatureVariables,
825
+ ).filter((k) => k.includes(childName));
826
+ return null;
827
+ }
828
+
829
+ // Build the translated path: parentValue + suffix
830
+ // e.g., "selectedScenario" + ".metadata.screenshotPaths[0]"
831
+ const result = parentValue + suffix;
832
+ return result;
833
+ }
834
+
835
+ export default function generateExecutionFlowsFromConditionals(
836
+ args: GenerateFlowsFromConditionalsArgs,
837
+ ): ExecutionFlow[] {
838
+ const {
839
+ conditionalUsages,
840
+ compoundConditionals,
841
+ attributesMap,
842
+ equivalentSignatureVariables,
843
+ fullToShortPathMap,
844
+ childComponentData,
845
+ derivedVariables,
846
+ sourceEquivalencies,
847
+ } = args;
848
+
849
+ const flows: ExecutionFlow[] = [];
850
+ const seenFlowIds = new Set<string>();
851
+
852
+ // Track normalized resolved paths to prevent duplicate flows
853
+ // This handles the case where we have usages for both:
854
+ // - "hasNewerVersion" (short path from destructured variable)
855
+ // - "useLoaderData<LoaderData>().functionCallReturnValue.hasNewerVersion" (full path)
856
+ // Both resolve to the same logical data source, so we only want ONE set of flows.
857
+ const seenNormalizedPaths = new Set<string>();
858
+
859
+ // Track which usages are part of compound conditionals (to avoid duplicates)
860
+ const compoundChainIds = new Set(
861
+ compoundConditionals.map((c) => c.chainId).filter(Boolean),
862
+ );
863
+
864
+ // Process individual conditional usages
865
+ for (const [_path, usages] of Object.entries(conditionalUsages)) {
866
+ for (const usage of usages) {
867
+ // Skip usages that are part of compound conditionals (handled separately)
868
+ if (usage.chainId && compoundChainIds.has(usage.chainId)) {
869
+ continue;
870
+ }
871
+
872
+ // First, try to use pre-computed sourceDataPath if available
873
+ let resolvedPath: string | null = null;
874
+
875
+ if (usage.sourceDataPath) {
876
+ // Clean up the sourceDataPath - it may have redundant scope prefixes
877
+ // e.g., "useLoaderData<LoaderData>.useLoaderData<LoaderData>().functionCallReturnValue.entity.sha"
878
+ // should become "useLoaderData<LoaderData>().functionCallReturnValue.entity.sha"
879
+ // Returns null for malformed paths (e.g., chained function calls like fetch().json())
880
+ const cleanedPath = cleanSourceDataPath(usage.sourceDataPath);
881
+
882
+ if (cleanedPath) {
883
+ // Verify the cleaned path exists in attributesMap
884
+ const pathMatch = findInAttributesMapForPath(
885
+ cleanedPath,
886
+ attributesMap,
887
+ fullToShortPathMap,
888
+ );
889
+ if (pathMatch) {
890
+ resolvedPath = pathMatch;
891
+ }
892
+ }
893
+ // If cleanedPath is null, fall through to use fallback resolution
894
+ }
895
+
896
+ // Fall back to resolution via equivalentSignatureVariables
897
+ if (!resolvedPath) {
898
+ const resolution = resolvePathToControllable(
899
+ usage.path,
900
+ attributesMap,
901
+ equivalentSignatureVariables,
902
+ fullToShortPathMap,
903
+ );
904
+
905
+ if (resolution.isControllable && resolution.resolvedPath) {
906
+ resolvedPath = resolution.resolvedPath;
907
+ }
908
+ }
909
+
910
+ // If still not resolved, try using derivedFrom info to find the source path
911
+ // This handles cases like: const hasAnalysis = analysis !== null
912
+ // where hasAnalysis is not in attributesMap but analysis is
913
+ if (!resolvedPath && usage.derivedFrom) {
914
+ const { operation, sourcePath, sourcePaths, comparedValue } =
915
+ usage.derivedFrom;
916
+
917
+ // For single-source derivations (notNull, equals, etc.)
918
+ if (sourcePath) {
919
+ const resolution = resolvePathToControllable(
920
+ sourcePath,
921
+ attributesMap,
922
+ equivalentSignatureVariables,
923
+ fullToShortPathMap,
924
+ );
925
+
926
+ if (resolution.isControllable && resolution.resolvedPath) {
927
+ resolvedPath = resolution.resolvedPath;
928
+ }
929
+ }
930
+
931
+ // For equals/notEquals derivations with comparedValue, generate comparison flows
932
+ // e.g., canEdit derived from user.role === 'admin'
933
+ // When canEdit is used in truthiness check, we need:
934
+ // - Truthy flow: user.role = 'admin' (comparison: 'equals')
935
+ // - Falsy flow: user.role != 'admin' (comparison: 'notEquals')
936
+ if (
937
+ (operation === 'equals' || operation === 'notEquals') &&
938
+ comparedValue !== undefined &&
939
+ resolvedPath &&
940
+ usage.conditionType === 'truthiness'
941
+ ) {
942
+ const baseName = generateNameFromPath(usage.path);
943
+ const impact: ExecutionFlow['impact'] = usage.controlsJsxRendering
944
+ ? 'high'
945
+ : 'medium';
946
+
947
+ const isNegated = usage.isNegated ?? false;
948
+
949
+ // For equals derivation:
950
+ // - Truthy check (!negated): needs value = comparedValue (equals)
951
+ // - Falsy check (negated): needs value != comparedValue (notEquals)
952
+ // For notEquals derivation: inverse of above
953
+ const isEqualsDerivation = operation === 'equals';
954
+ const truthyNeedsEquals = isEqualsDerivation !== isNegated;
955
+
956
+ // Generate truthy flow
957
+ const truthyFlow: ExecutionFlow = {
958
+ id: generateFlowId(usage.path, 'truthy'),
959
+ name: `${baseName} True`,
960
+ description: `When ${baseName.toLowerCase()} is truthy (${resolvedPath} ${truthyNeedsEquals ? '=' : '!='} ${comparedValue})`,
961
+ requiredValues: [
962
+ {
963
+ attributePath: stripLengthSuffix(resolvedPath),
964
+ value: comparedValue,
965
+ comparison: truthyNeedsEquals ? 'equals' : 'notEquals',
966
+ valueType: inferValueType(comparedValue),
967
+ },
968
+ ],
969
+ impact,
970
+ sourceLocation: usage.sourceLocation
971
+ ? {
972
+ lineNumber: usage.sourceLocation.lineNumber,
973
+ column: usage.sourceLocation.column,
974
+ }
975
+ : undefined,
976
+ codeSnippet: usage.sourceLocation?.codeSnippet,
977
+ };
978
+
979
+ // Generate falsy flow
980
+ const falsyFlow: ExecutionFlow = {
981
+ id: generateFlowId(usage.path, 'falsy'),
982
+ name: `${baseName} False`,
983
+ description: `When ${baseName.toLowerCase()} is falsy (${resolvedPath} ${truthyNeedsEquals ? '!=' : '='} ${comparedValue})`,
984
+ requiredValues: [
985
+ {
986
+ attributePath: stripLengthSuffix(resolvedPath),
987
+ value: comparedValue,
988
+ comparison: truthyNeedsEquals ? 'notEquals' : 'equals',
989
+ valueType: inferValueType(comparedValue),
990
+ },
991
+ ],
992
+ impact,
993
+ sourceLocation: usage.sourceLocation
994
+ ? {
995
+ lineNumber: usage.sourceLocation.lineNumber,
996
+ column: usage.sourceLocation.column,
997
+ }
998
+ : undefined,
999
+ codeSnippet: usage.sourceLocation?.codeSnippet,
1000
+ };
1001
+
1002
+ // Add flows and skip normal flow generation
1003
+ if (!seenFlowIds.has(truthyFlow.id)) {
1004
+ seenFlowIds.add(truthyFlow.id);
1005
+ flows.push(truthyFlow);
1006
+ }
1007
+ if (!seenFlowIds.has(falsyFlow.id)) {
1008
+ seenFlowIds.add(falsyFlow.id);
1009
+ flows.push(falsyFlow);
1010
+ }
1011
+
1012
+ continue;
1013
+ }
1014
+
1015
+ // For OR derivations with negation, we need ALL sources to be falsy
1016
+ // e.g., !isBusy where isBusy = isRunning || isQueued || isPending
1017
+ // For the falsy flow, ALL sources must be falsy
1018
+ if (
1019
+ operation === 'or' &&
1020
+ usage.conditionType === 'truthiness' &&
1021
+ usage.isNegated === true &&
1022
+ sourcePaths &&
1023
+ sourcePaths.length > 0
1024
+ ) {
1025
+ // Use expandDerivedVariableToSources to recursively resolve all sources
1026
+ const allSources = expandDerivedVariableToSources(
1027
+ usage.path,
1028
+ conditionalUsages,
1029
+ attributesMap,
1030
+ equivalentSignatureVariables,
1031
+ fullToShortPathMap,
1032
+ new Set(),
1033
+ derivedVariables,
1034
+ );
1035
+
1036
+ if (allSources.length > 0) {
1037
+ // Generate a compound-style flow with all sources set to falsy
1038
+ const baseName = generateNameFromPath(usage.path);
1039
+ const impact: ExecutionFlow['impact'] = usage.controlsJsxRendering
1040
+ ? 'high'
1041
+ : 'medium';
1042
+
1043
+ const requiredValues: ExecutionFlow['requiredValues'] =
1044
+ allSources.map((source) => ({
1045
+ attributePath: source.path,
1046
+ value: 'falsy',
1047
+ comparison: 'falsy' as const,
1048
+ valueType: 'boolean' as const,
1049
+ }));
1050
+
1051
+ // Create a single falsy flow with all sources
1052
+ const falsyFlow: ExecutionFlow = {
1053
+ id: generateFlowId(usage.path, 'falsy'),
1054
+ name: `${baseName} False`,
1055
+ description: `When ${baseName.toLowerCase()} is falsy (all sources are falsy)`,
1056
+ requiredValues,
1057
+ impact,
1058
+ sourceLocation: usage.sourceLocation
1059
+ ? {
1060
+ lineNumber: usage.sourceLocation.lineNumber,
1061
+ column: usage.sourceLocation.column,
1062
+ }
1063
+ : undefined,
1064
+ codeSnippet: usage.sourceLocation?.codeSnippet,
1065
+ };
1066
+
1067
+ // Create a truthy flow - for OR, ANY source being truthy is sufficient
1068
+ // We use the first resolvable source for the truthy flow
1069
+ const firstSource = allSources[0];
1070
+ const truthyFlow: ExecutionFlow = {
1071
+ id: generateFlowId(usage.path, 'truthy'),
1072
+ name: `${baseName} True`,
1073
+ description: `When ${baseName.toLowerCase()} is truthy`,
1074
+ requiredValues: [
1075
+ {
1076
+ attributePath: firstSource.path,
1077
+ value: 'truthy',
1078
+ comparison: 'truthy',
1079
+ valueType: 'boolean',
1080
+ },
1081
+ ],
1082
+ impact,
1083
+ sourceLocation: usage.sourceLocation
1084
+ ? {
1085
+ lineNumber: usage.sourceLocation.lineNumber,
1086
+ column: usage.sourceLocation.column,
1087
+ }
1088
+ : undefined,
1089
+ codeSnippet: usage.sourceLocation?.codeSnippet,
1090
+ };
1091
+
1092
+ // Add both flows (falsy needs all sources, truthy needs one)
1093
+ if (!seenFlowIds.has(falsyFlow.id)) {
1094
+ seenFlowIds.add(falsyFlow.id);
1095
+ flows.push(falsyFlow);
1096
+ }
1097
+ if (!seenFlowIds.has(truthyFlow.id)) {
1098
+ seenFlowIds.add(truthyFlow.id);
1099
+ flows.push(truthyFlow);
1100
+ }
1101
+
1102
+ // Skip the normal flow generation for this usage
1103
+ continue;
1104
+ }
1105
+ }
1106
+
1107
+ // For AND derivations without negation, we need ALL sources to be truthy
1108
+ // e.g., isReady where isReady = hasData && isLoaded && isValid
1109
+ // For the truthy flow, ALL sources must be truthy
1110
+ // For negated AND (!isReady), ANY source being falsy is sufficient (fallback behavior)
1111
+ if (
1112
+ operation === 'and' &&
1113
+ usage.conditionType === 'truthiness' &&
1114
+ usage.isNegated !== true &&
1115
+ sourcePaths &&
1116
+ sourcePaths.length > 0
1117
+ ) {
1118
+ // Use expandDerivedVariableToSources to recursively resolve all sources
1119
+ const allSources = expandDerivedVariableToSources(
1120
+ usage.path,
1121
+ conditionalUsages,
1122
+ attributesMap,
1123
+ equivalentSignatureVariables,
1124
+ fullToShortPathMap,
1125
+ new Set(),
1126
+ derivedVariables,
1127
+ );
1128
+
1129
+ if (allSources.length > 0) {
1130
+ // Generate a compound-style flow with all sources set to truthy
1131
+ const baseName = generateNameFromPath(usage.path);
1132
+ const impact: ExecutionFlow['impact'] = usage.controlsJsxRendering
1133
+ ? 'high'
1134
+ : 'medium';
1135
+
1136
+ const requiredValues: ExecutionFlow['requiredValues'] =
1137
+ allSources.map((source) => ({
1138
+ attributePath: source.path,
1139
+ value: 'truthy',
1140
+ comparison: 'truthy' as const,
1141
+ valueType: 'boolean' as const,
1142
+ }));
1143
+
1144
+ // Create a truthy flow with all sources
1145
+ const truthyFlow: ExecutionFlow = {
1146
+ id: generateFlowId(usage.path, 'truthy'),
1147
+ name: `${baseName} True`,
1148
+ description: `When ${baseName.toLowerCase()} is truthy (all sources are truthy)`,
1149
+ requiredValues,
1150
+ impact,
1151
+ sourceLocation: usage.sourceLocation
1152
+ ? {
1153
+ lineNumber: usage.sourceLocation.lineNumber,
1154
+ column: usage.sourceLocation.column,
1155
+ }
1156
+ : undefined,
1157
+ codeSnippet: usage.sourceLocation?.codeSnippet,
1158
+ };
1159
+
1160
+ // Create a falsy flow - for AND, ANY source being falsy is sufficient
1161
+ // We use the first resolvable source for the falsy flow
1162
+ const firstSource = allSources[0];
1163
+ const falsyFlow: ExecutionFlow = {
1164
+ id: generateFlowId(usage.path, 'falsy'),
1165
+ name: `${baseName} False`,
1166
+ description: `When ${baseName.toLowerCase()} is falsy`,
1167
+ requiredValues: [
1168
+ {
1169
+ attributePath: firstSource.path,
1170
+ value: 'falsy',
1171
+ comparison: 'falsy',
1172
+ valueType: 'boolean',
1173
+ },
1174
+ ],
1175
+ impact,
1176
+ sourceLocation: usage.sourceLocation
1177
+ ? {
1178
+ lineNumber: usage.sourceLocation.lineNumber,
1179
+ column: usage.sourceLocation.column,
1180
+ }
1181
+ : undefined,
1182
+ codeSnippet: usage.sourceLocation?.codeSnippet,
1183
+ };
1184
+
1185
+ // Add both flows (truthy needs all sources, falsy needs one)
1186
+ if (!seenFlowIds.has(truthyFlow.id)) {
1187
+ seenFlowIds.add(truthyFlow.id);
1188
+ flows.push(truthyFlow);
1189
+ }
1190
+ if (!seenFlowIds.has(falsyFlow.id)) {
1191
+ seenFlowIds.add(falsyFlow.id);
1192
+ flows.push(falsyFlow);
1193
+ }
1194
+
1195
+ // Skip the normal flow generation for this usage
1196
+ continue;
1197
+ }
1198
+ }
1199
+
1200
+ // For multi-source derivations (or, and) without special handling,
1201
+ // try the first resolvable path as a fallback
1202
+ if (!resolvedPath && sourcePaths && sourcePaths.length > 0) {
1203
+ for (const sp of sourcePaths) {
1204
+ const resolution = resolvePathToControllable(
1205
+ sp,
1206
+ attributesMap,
1207
+ equivalentSignatureVariables,
1208
+ fullToShortPathMap,
1209
+ );
1210
+
1211
+ if (resolution.isControllable && resolution.resolvedPath) {
1212
+ resolvedPath = resolution.resolvedPath;
1213
+ break;
1214
+ }
1215
+ }
1216
+ }
1217
+ }
1218
+
1219
+ if (!resolvedPath) {
1220
+ // Path is not controllable - skip (no invalid flows possible)
1221
+ continue;
1222
+ }
1223
+
1224
+ // Normalize the resolved path to detect duplicates
1225
+ // E.g., both "hasNewerVersion" and "useLoaderData<...>().hasNewerVersion"
1226
+ // should normalize to the same canonical path
1227
+ const normalizedPath = normalizePathForDeduplication(
1228
+ resolvedPath,
1229
+ fullToShortPathMap,
1230
+ );
1231
+
1232
+ // Skip if we've already generated flows for this normalized path
1233
+ // This prevents duplicate flows when we have usages for both short and full paths
1234
+ if (seenNormalizedPaths.has(normalizedPath)) {
1235
+ continue;
1236
+ }
1237
+ seenNormalizedPaths.add(normalizedPath);
1238
+
1239
+ // Generate flows for this controllable usage
1240
+ const usageFlows = generateFlowsFromUsage(usage, resolvedPath);
1241
+
1242
+ for (const flow of usageFlows) {
1243
+ // Deduplicate by flow ID
1244
+ if (!seenFlowIds.has(flow.id)) {
1245
+ seenFlowIds.add(flow.id);
1246
+ flows.push(flow);
1247
+ }
1248
+ }
1249
+ }
1250
+ }
1251
+
1252
+ // Process compound conditionals
1253
+ for (const compound of compoundConditionals) {
1254
+ // Expand OR groups into separate condition sets
1255
+ // For example, `A && (B || C)` becomes [[A, B], [A, C]]
1256
+ const expandedConditionSets = expandOrGroups(compound.conditions);
1257
+
1258
+ // Process each expanded condition set as a separate potential flow
1259
+ for (const conditionSet of expandedConditionSets) {
1260
+ // First, check if ALL paths in this condition set are controllable (or can be expanded to controllable sources)
1261
+ const resolvedPaths = new Map<string, string>();
1262
+ // Track expanded sources for derived variables (path -> array of expanded sources)
1263
+ const expandedSources = new Map<
1264
+ string,
1265
+ Array<{ path: string; operation?: DerivedVariableOperation }>
1266
+ >();
1267
+ let allControllable = true;
1268
+
1269
+ for (const condition of conditionSet) {
1270
+ // Check if this condition path has derivation info
1271
+ // First check conditionalUsages, then fall back to derivedVariables
1272
+ const usagesForPath = conditionalUsages[condition.path];
1273
+ let derivedFromInfo = usagesForPath?.find(
1274
+ (u) => u.derivedFrom?.operation,
1275
+ )?.derivedFrom;
1276
+
1277
+ // CRITICAL: Also check derivedVariables for intermediate derived variables
1278
+ if (!derivedFromInfo && derivedVariables?.[condition.path]) {
1279
+ derivedFromInfo = derivedVariables[condition.path];
1280
+ }
1281
+
1282
+ if (derivedFromInfo) {
1283
+ // This is a derived variable - expand to its sources
1284
+ const sources = expandDerivedVariableToSources(
1285
+ condition.path,
1286
+ conditionalUsages,
1287
+ attributesMap,
1288
+ equivalentSignatureVariables,
1289
+ fullToShortPathMap,
1290
+ new Set(),
1291
+ derivedVariables,
1292
+ );
1293
+
1294
+ if (sources.length > 0) {
1295
+ // Store the expanded sources for this condition
1296
+ expandedSources.set(condition.path, sources);
1297
+ // Use the first source's path for the resolvedPaths map (for ID generation)
1298
+ resolvedPaths.set(condition.path, sources[0].path);
1299
+ } else {
1300
+ // Derived variable but no controllable sources found
1301
+ allControllable = false;
1302
+ break;
1303
+ }
1304
+ } else {
1305
+ // Not a derived variable - resolve directly
1306
+ const resolution = resolvePathToControllable(
1307
+ condition.path,
1308
+ attributesMap,
1309
+ equivalentSignatureVariables,
1310
+ fullToShortPathMap,
1311
+ );
1312
+
1313
+ if (!resolution.isControllable || !resolution.resolvedPath) {
1314
+ allControllable = false;
1315
+ break;
1316
+ }
1317
+
1318
+ resolvedPaths.set(condition.path, resolution.resolvedPath);
1319
+ }
1320
+ }
1321
+
1322
+ // Only create a flow if ALL paths are controllable
1323
+ if (allControllable && resolvedPaths.size > 0) {
1324
+ // If any conditions were expanded from derived variables, we need to build a custom flow
1325
+ if (expandedSources.size > 0) {
1326
+ const requiredValues: ExecutionFlow['requiredValues'] = [];
1327
+
1328
+ for (const condition of conditionSet) {
1329
+ const sources = expandedSources.get(condition.path);
1330
+
1331
+ if (sources) {
1332
+ // This condition was expanded - add all its sources
1333
+ // Determine the required value based on condition type and derivation operation
1334
+ const usagesForPath = conditionalUsages[condition.path];
1335
+ let expandedDerivedFrom = usagesForPath?.find(
1336
+ (u) => u.derivedFrom?.operation,
1337
+ )?.derivedFrom;
1338
+
1339
+ // Also check derivedVariables for intermediate derived variables
1340
+ if (!expandedDerivedFrom && derivedVariables?.[condition.path]) {
1341
+ expandedDerivedFrom = derivedVariables[condition.path];
1342
+ }
1343
+ const operation = expandedDerivedFrom?.operation;
1344
+
1345
+ for (const source of sources) {
1346
+ // For OR-derived truthy: ANY source truthy
1347
+ // For AND-derived truthy: ALL sources truthy
1348
+ // For negated: inverse
1349
+ let value: string;
1350
+ let comparison: ExecutionFlow['requiredValues'][0]['comparison'];
1351
+
1352
+ if (condition.conditionType === 'truthiness') {
1353
+ const isNegated = condition.isNegated === true;
1354
+ // For OR: truthy needs ANY source truthy, falsy needs ALL sources falsy
1355
+ // For AND: truthy needs ALL sources truthy, falsy needs ANY source falsy
1356
+ // In compound conditionals, we generate the truthy path by default
1357
+ // (the compound expression must be truthy)
1358
+ if (operation === 'or') {
1359
+ // For OR-derived, truthy means we need at least one source truthy
1360
+ // We'll use the first source as truthy (simplification)
1361
+ value = isNegated ? 'falsy' : 'truthy';
1362
+ } else if (operation === 'and') {
1363
+ // For AND-derived, truthy means ALL sources truthy
1364
+ value = isNegated ? 'falsy' : 'truthy';
1365
+ } else {
1366
+ value = isNegated ? 'falsy' : 'truthy';
1367
+ }
1368
+ comparison = isNegated ? 'falsy' : 'truthy';
1369
+ } else {
1370
+ value = 'truthy';
1371
+ comparison = 'truthy';
1372
+ }
1373
+
1374
+ requiredValues.push({
1375
+ attributePath: source.path,
1376
+ value,
1377
+ comparison,
1378
+ valueType: 'boolean' as const,
1379
+ });
1380
+ }
1381
+ } else {
1382
+ // This condition was resolved directly
1383
+ const resolvedPath = resolvedPaths.get(condition.path);
1384
+ if (resolvedPath) {
1385
+ let value: string;
1386
+ let comparison: ExecutionFlow['requiredValues'][0]['comparison'];
1387
+
1388
+ if (condition.conditionType === 'truthiness') {
1389
+ value = condition.isNegated ? 'falsy' : 'truthy';
1390
+ comparison = condition.isNegated ? 'falsy' : 'truthy';
1391
+ } else {
1392
+ value =
1393
+ condition.requiredValue?.toString() ??
1394
+ condition.comparedValues?.[0] ??
1395
+ 'truthy';
1396
+ comparison = 'equals';
1397
+ }
1398
+
1399
+ requiredValues.push({
1400
+ attributePath: stripLengthSuffix(resolvedPath),
1401
+ value,
1402
+ comparison,
1403
+ valueType: inferValueType(value),
1404
+ });
1405
+ }
1406
+ }
1407
+ }
1408
+
1409
+ if (requiredValues.length > 0) {
1410
+ const impact: ExecutionFlow['impact'] =
1411
+ compound.controlsJsxRendering ? 'high' : 'medium';
1412
+
1413
+ // Generate a combined ID from all paths
1414
+ const pathParts = requiredValues
1415
+ .map((rv) => {
1416
+ const name = generateNameFromPath(rv.attributePath);
1417
+ return name.toLowerCase().replace(/\s+/g, '-');
1418
+ })
1419
+ .join('-and-');
1420
+
1421
+ const compoundFlow: ExecutionFlow = {
1422
+ id: `${pathParts}-${requiredValues.map((rv) => rv.value).join('-')}`,
1423
+ name: generateNameFromPath(requiredValues[0].attributePath),
1424
+ description: `When ${requiredValues.map((rv) => `${generateNameFromPath(rv.attributePath).toLowerCase()} is ${rv.value}`).join(' and ')}`,
1425
+ impact,
1426
+ requiredValues,
1427
+ sourceLocation: compound.sourceLocation,
1428
+ };
1429
+
1430
+ if (!seenFlowIds.has(compoundFlow.id)) {
1431
+ seenFlowIds.add(compoundFlow.id);
1432
+ flows.push(compoundFlow);
1433
+ }
1434
+ }
1435
+ } else {
1436
+ // No derived variables - use the original generateFlowFromCompound
1437
+ // Create a modified compound with just this condition set
1438
+ const modifiedCompound = {
1439
+ ...compound,
1440
+ conditions: conditionSet,
1441
+ };
1442
+ const compoundFlow = generateFlowFromCompound(
1443
+ modifiedCompound,
1444
+ resolvedPaths,
1445
+ );
1446
+ if (compoundFlow && !seenFlowIds.has(compoundFlow.id)) {
1447
+ seenFlowIds.add(compoundFlow.id);
1448
+ flows.push(compoundFlow);
1449
+ }
1450
+ }
1451
+ }
1452
+ }
1453
+ }
1454
+
1455
+ // Process child component conditional usages
1456
+ // Translate child paths to parent paths and merge flows
1457
+ if (childComponentData) {
1458
+ for (const [childName, childData] of Object.entries(childComponentData)) {
1459
+ // First, resolve gating conditions to get required values that must be added to all child flows
1460
+ const gatingRequiredValues: Array<{
1461
+ attributePath: string;
1462
+ value: string;
1463
+ comparison:
1464
+ | 'truthy'
1465
+ | 'falsy'
1466
+ | 'equals'
1467
+ | 'length>'
1468
+ | 'length<'
1469
+ | 'exists'
1470
+ | 'not-exists';
1471
+ }> = [];
1472
+
1473
+ if (childData.gatingConditions) {
1474
+ for (const gatingCondition of childData.gatingConditions) {
1475
+ // Try to resolve via derivedFrom first
1476
+ let gatingPath = gatingCondition.path;
1477
+ if (gatingCondition.derivedFrom?.sourcePath) {
1478
+ gatingPath = gatingCondition.derivedFrom.sourcePath;
1479
+ }
1480
+
1481
+ // Fix 32: Handle comparison expressions like "activeTab === 'scenarios'"
1482
+ // Extract the variable name and the compared value
1483
+ const comparisonMatch = gatingPath.match(
1484
+ /^([a-zA-Z_][a-zA-Z0-9_]*)\s*(===?|!==?)\s*['"]?([^'"]+)['"]?$/,
1485
+ );
1486
+ if (comparisonMatch) {
1487
+ const [, varName, operator, comparedValue] = comparisonMatch;
1488
+
1489
+ // Try to resolve the variable name
1490
+ const varResolution = resolvePathToControllable(
1491
+ varName,
1492
+ attributesMap,
1493
+ equivalentSignatureVariables,
1494
+ fullToShortPathMap,
1495
+ );
1496
+
1497
+ // Only use controllable paths for gating conditions (whitelist approach).
1498
+ // Do NOT fall back to equivalentSignatureVariables because those may contain
1499
+ // uncontrollable paths like useState that cannot be mocked.
1500
+ let resolvedVarPath: string | null = null;
1501
+ if (varResolution.isControllable && varResolution.resolvedPath) {
1502
+ resolvedVarPath = varResolution.resolvedPath;
1503
+ }
1504
+ // Note: We intentionally do NOT fall back to equivalentSignatureVariables here
1505
+ // because that would allow uncontrollable paths (like useState) to be added
1506
+ // as gating conditions.
1507
+
1508
+ if (resolvedVarPath) {
1509
+ const isNegated = (gatingCondition as any).isNegated === true;
1510
+ const isNotEquals = operator === '!=' || operator === '!==';
1511
+ // Determine the effective value for this gating condition
1512
+ // If condition is "activeTab === 'scenarios'" and NOT negated, flow needs activeTab = 'scenarios'
1513
+ // If condition is "activeTab === 'scenarios'" and IS negated, flow needs activeTab != 'scenarios' (falsy/other value)
1514
+ // If condition is "activeTab !== 'scenarios'" and NOT negated, flow needs activeTab != 'scenarios'
1515
+ // XOR logic: isNegated XOR isNotEquals
1516
+ const needsExactValue = isNegated !== isNotEquals;
1517
+
1518
+ gatingRequiredValues.push({
1519
+ attributePath: resolvedVarPath,
1520
+ value: needsExactValue ? 'falsy' : comparedValue,
1521
+ comparison: needsExactValue ? 'falsy' : 'equals',
1522
+ });
1523
+ continue; // Skip to next gating condition
1524
+ }
1525
+ }
1526
+
1527
+ // Fix 31: Handle compound gating conditions (containing && or ||)
1528
+ // e.g., "isEditMode && selectedScenario" should be parsed into individual paths
1529
+ const isAndExpression = gatingPath.includes(' && ');
1530
+ const isOrExpression = gatingPath.includes(' || ');
1531
+ const isCompoundExpression = isAndExpression || isOrExpression;
1532
+
1533
+ if (isCompoundExpression) {
1534
+ // Parse the compound expression into individual variable names
1535
+ // Split on && and || (with optional spaces)
1536
+ const parts = gatingPath.split(/\s*(?:&&|\|\|)\s*/);
1537
+ const isNegated = (gatingCondition as any).isNegated === true;
1538
+
1539
+ // Fix 37: Apply DeMorgan's law correctly for compound conditions
1540
+ // - !(A && B) = !A || !B: EITHER A is false OR B is false (can't know which)
1541
+ // - !(A || B) = !A && !B: BOTH must be false
1542
+ // - (A && B): BOTH must be true
1543
+ // - (A || B): EITHER is true (can't know which)
1544
+ //
1545
+ // We should only add gating requirements when we can definitively say
1546
+ // all parts must have the same value. This is true for:
1547
+ // - Non-negated &&: all parts must be truthy
1548
+ // - Negated ||: all parts must be falsy (DeMorgan: !(A || B) = !A && !B)
1549
+ //
1550
+ // We should NOT add gating requirements when either part could be true/false:
1551
+ // - Negated && (DeMorgan: !(A && B) = !A || !B): can't constrain both to falsy
1552
+ // - Non-negated ||: can't constrain both to truthy
1553
+ const shouldSkipGating =
1554
+ (isAndExpression && isNegated) || // !(A && B) - either could be falsy
1555
+ (isOrExpression && !isNegated); // (A || B) - either could be truthy
1556
+
1557
+ if (shouldSkipGating) {
1558
+ // Don't add gating requirements for this compound condition
1559
+ // The child flow's own requirements will determine what values are needed
1560
+ } else {
1561
+ for (const part of parts) {
1562
+ // Clean up the part (remove parentheses, negation, etc.)
1563
+ const cleanPart = part
1564
+ .replace(/^\(+|\)+$/g, '') // Remove leading/trailing parens
1565
+ .replace(/^!+/, '') // Remove leading negation
1566
+ .trim();
1567
+
1568
+ if (!cleanPart) continue;
1569
+
1570
+ // Try to resolve this individual path
1571
+ const partResolution = resolvePathToControllable(
1572
+ cleanPart,
1573
+ attributesMap,
1574
+ equivalentSignatureVariables,
1575
+ fullToShortPathMap,
1576
+ );
1577
+
1578
+ if (
1579
+ partResolution.isControllable &&
1580
+ partResolution.resolvedPath
1581
+ ) {
1582
+ // For non-negated &&: all parts must be truthy
1583
+ // For negated ||: all parts must be falsy (DeMorgan: !(A || B) = !A && !B)
1584
+ gatingRequiredValues.push({
1585
+ attributePath: stripLengthSuffix(
1586
+ partResolution.resolvedPath,
1587
+ ),
1588
+ value: isNegated ? 'falsy' : 'truthy',
1589
+ comparison: isNegated ? 'falsy' : 'truthy',
1590
+ });
1591
+ }
1592
+ }
1593
+ }
1594
+ } else {
1595
+ // Simple gating condition (single path)
1596
+ // Resolve the gating path in parent context
1597
+ const gatingResolution = resolvePathToControllable(
1598
+ gatingPath,
1599
+ attributesMap,
1600
+ equivalentSignatureVariables,
1601
+ fullToShortPathMap,
1602
+ );
1603
+
1604
+ // Only use controllable paths for gating conditions (whitelist approach).
1605
+ // Do NOT fall back to equivalentSignatureVariables because those may contain
1606
+ // uncontrollable paths like useState that cannot be mocked.
1607
+ let resolvedGatingPath: string | null = null;
1608
+ if (
1609
+ gatingResolution.isControllable &&
1610
+ gatingResolution.resolvedPath
1611
+ ) {
1612
+ resolvedGatingPath = gatingResolution.resolvedPath;
1613
+ }
1614
+ // Note: We intentionally do NOT fall back to equivalentSignatureVariables here
1615
+ // because that would allow uncontrollable paths (like useState) to be added
1616
+ // as gating conditions.
1617
+
1618
+ if (resolvedGatingPath) {
1619
+ // For truthiness conditions on gating, check if the condition is negated
1620
+ // e.g., ternary else branch: isError ? <ErrorView /> : <SuccessView />
1621
+ // SuccessView has isNegated: true, meaning it renders when isError is falsy
1622
+ const isNegated = (gatingCondition as any).isNegated === true;
1623
+ gatingRequiredValues.push({
1624
+ attributePath: resolvedGatingPath,
1625
+ value: isNegated ? 'falsy' : 'truthy',
1626
+ comparison: isNegated ? 'falsy' : 'truthy',
1627
+ });
1628
+ }
1629
+ }
1630
+ }
1631
+ }
1632
+
1633
+ // Track which child usages are part of compound conditionals (to avoid duplicates)
1634
+ // Fix 33: Only skip usages that are part of compound conditionals, not all usages with chainIds
1635
+ const childCompoundChainIds = new Set(
1636
+ childData.compoundConditionals.map((c) => c.chainId).filter(Boolean),
1637
+ );
1638
+
1639
+ for (const [_path, usages] of Object.entries(
1640
+ childData.conditionalUsages,
1641
+ )) {
1642
+ for (const usage of usages) {
1643
+ // Debug logging (disabled - set to true for troubleshooting child flow resolution)
1644
+ const shouldDebugChild = false;
1645
+
1646
+ // Skip usages that are part of compound conditionals (handled separately)
1647
+ // Fix 33: Only skip if the chainId is in the child's compound conditionals
1648
+ if (usage.chainId && childCompoundChainIds.has(usage.chainId)) {
1649
+ continue;
1650
+ }
1651
+
1652
+ // Determine the child path to translate
1653
+ let childPath = usage.path;
1654
+
1655
+ // If the usage has derivedFrom, use the source path instead
1656
+ if (usage.derivedFrom?.sourcePath) {
1657
+ childPath = usage.derivedFrom.sourcePath;
1658
+ }
1659
+
1660
+ if (shouldDebugChild) {
1661
+ console.log(
1662
+ `[DEBUG CHILD ${childName}] Processing usage path: ${usage.path}`,
1663
+ );
1664
+ console.log(
1665
+ `[DEBUG CHILD ${childName}] childPath (after derivedFrom): ${childPath}`,
1666
+ );
1667
+ console.log(
1668
+ `[DEBUG CHILD ${childName}] sourceDataPath: ${usage.sourceDataPath}`,
1669
+ );
1670
+ }
1671
+
1672
+ // Translate the child path to a parent path
1673
+ let translatedPath = translateChildPathToParent(
1674
+ childPath,
1675
+ childData.equivalentSignatureVariables,
1676
+ equivalentSignatureVariables,
1677
+ childName,
1678
+ );
1679
+
1680
+ if (shouldDebugChild) {
1681
+ console.log(
1682
+ `[DEBUG CHILD ${childName}] translatedPath (from translateChildPathToParent): ${translatedPath}`,
1683
+ );
1684
+ }
1685
+
1686
+ // If translation failed but we have sourceDataPath, try to extract the prop path from it
1687
+ // sourceDataPath format: "ChildName.signature[n].propPath.rest" → extract "propPath.rest"
1688
+ if (!translatedPath && usage.sourceDataPath) {
1689
+ const signatureMatch = usage.sourceDataPath.match(
1690
+ /\.signature\[\d+\]\.(.+)$/,
1691
+ );
1692
+ if (signatureMatch) {
1693
+ translatedPath = signatureMatch[1];
1694
+ if (shouldDebugChild) {
1695
+ console.log(
1696
+ `[DEBUG CHILD ${childName}] translatedPath (from sourceDataPath regex): ${translatedPath}`,
1697
+ );
1698
+ }
1699
+ }
1700
+ }
1701
+
1702
+ if (!translatedPath) {
1703
+ // Could not translate - skip this usage
1704
+ if (shouldDebugChild) {
1705
+ console.log(
1706
+ `[DEBUG CHILD ${childName}] SKIPPED - no translation found`,
1707
+ );
1708
+ }
1709
+ continue;
1710
+ }
1711
+
1712
+ // Now resolve the translated path in the parent context
1713
+ // First, try standard resolution
1714
+ const resolution = resolvePathToControllable(
1715
+ translatedPath,
1716
+ attributesMap,
1717
+ equivalentSignatureVariables,
1718
+ fullToShortPathMap,
1719
+ );
1720
+
1721
+ if (shouldDebugChild) {
1722
+ console.log(
1723
+ `[DEBUG CHILD ${childName}] resolvePathToControllable result:`,
1724
+ );
1725
+ console.log(
1726
+ `[DEBUG CHILD ${childName}] isControllable: ${resolution.isControllable}`,
1727
+ );
1728
+ console.log(
1729
+ `[DEBUG CHILD ${childName}] resolvedPath: ${resolution.resolvedPath}`,
1730
+ );
1731
+ console.log(
1732
+ `[DEBUG CHILD ${childName}] chain: ${resolution.resolutionChain.join(' -> ')}`,
1733
+ );
1734
+ }
1735
+
1736
+ // Only create flows for controllable paths (whitelist approach).
1737
+ // If the path doesn't resolve to something in attributesMap, skip it.
1738
+ // This prevents creating flows for useState values which are not
1739
+ // controllable via mock data injection.
1740
+ let resolvedPath = resolution.resolvedPath;
1741
+
1742
+ if (!resolution.isControllable || !resolvedPath) {
1743
+ // Path is not controllable via standard resolution.
1744
+ // Try fallback: For useState values (cyScope*().functionCallReturnValue),
1745
+ // look for a related URL parameter like "varNameFromUrl" that might
1746
+ // control the initial state.
1747
+ //
1748
+ // Example: viewMode → cyScope20().functionCallReturnValue (useState value)
1749
+ // Fallback: viewModeFromUrl → segments[2] (URL param that initializes the useState)
1750
+ const useStateMatch = translatedPath.match(
1751
+ /^cyScope\d+\(\)\.functionCallReturnValue$/,
1752
+ );
1753
+
1754
+ if (useStateMatch) {
1755
+ // Find what variable this useState value corresponds to by looking
1756
+ // for entries like "varName": "cyScope20()" in equivalentSignatureVariables
1757
+ const useStatePattern = translatedPath.replace(
1758
+ /\.functionCallReturnValue$/,
1759
+ '',
1760
+ ); // e.g., "cyScope20()"
1761
+
1762
+ // Find the variable name that maps to this useState
1763
+ let useStateVarName: string | null = null;
1764
+ for (const [varName, varPath] of Object.entries(
1765
+ equivalentSignatureVariables,
1766
+ )) {
1767
+ if (varPath === useStatePattern) {
1768
+ useStateVarName = varName;
1769
+ break;
1770
+ }
1771
+ }
1772
+
1773
+ if (shouldDebugChild) {
1774
+ console.log(
1775
+ `[DEBUG CHILD ${childName}] useState fallback: looking for URL param`,
1776
+ );
1777
+ console.log(
1778
+ `[DEBUG CHILD ${childName}] useStatePattern: ${useStatePattern}`,
1779
+ );
1780
+ console.log(
1781
+ `[DEBUG CHILD ${childName}] useStateVarName: ${useStateVarName}`,
1782
+ );
1783
+ }
1784
+
1785
+ if (useStateVarName) {
1786
+ // Look for a related URL param like "varNameFromUrl"
1787
+ const urlParamName = `${useStateVarName}FromUrl`;
1788
+ const urlParamPath = equivalentSignatureVariables[urlParamName];
1789
+
1790
+ if (shouldDebugChild) {
1791
+ console.log(
1792
+ `[DEBUG CHILD ${childName}] urlParamName: ${urlParamName}`,
1793
+ );
1794
+ console.log(
1795
+ `[DEBUG CHILD ${childName}] urlParamPath: ${urlParamPath}`,
1796
+ );
1797
+ }
1798
+
1799
+ if (urlParamPath) {
1800
+ // For useState values initialized from URL params, use the
1801
+ // URL param variable name directly (e.g., "viewModeFromUrl")
1802
+ // rather than fully resolving it. This keeps the path meaningful
1803
+ // for scenario generation and avoids overly generic paths like
1804
+ // "useParams().functionCallReturnValue.*".
1805
+ //
1806
+ // The flow will use the URL param name as the attributePath,
1807
+ // which gets properly resolved when generating mock data.
1808
+ resolvedPath = urlParamName;
1809
+ if (shouldDebugChild) {
1810
+ console.log(
1811
+ `[DEBUG CHILD ${childName}] useState fallback SUCCESS: using URL param name ${resolvedPath}`,
1812
+ );
1813
+ }
1814
+ }
1815
+ }
1816
+ }
1817
+
1818
+ // Fallback 2: Try sourceEquivalencies to find the actual data source
1819
+ // This handles the case where props flow through useState but originate
1820
+ // from a mockable data source (e.g., API call, fetcher).
1821
+ //
1822
+ // Example: WorkoutsView receives `workouts` prop which in parent is stored
1823
+ // in useState, but ultimately comes from a Supabase query.
1824
+ // sourceEquivalencies tells us: "WorkoutsView().signature[0].workouts" → "createClient()...data"
1825
+ if (!resolvedPath && sourceEquivalencies) {
1826
+ // Build the child prop path to look up in sourceEquivalencies
1827
+ // Format: "ChildName().signature[0].propName"
1828
+ // First, find what prop this child path maps to
1829
+ let childPropName: string | null = null;
1830
+ for (const [varName, varPath] of Object.entries(
1831
+ childData.equivalentSignatureVariables,
1832
+ )) {
1833
+ // Check if childPath starts with this variable name
1834
+ // e.g., childPath = "workouts.length", varName = "workouts", varPath = "signature[0].workouts"
1835
+ if (
1836
+ childPath === varName ||
1837
+ childPath.startsWith(`${varName}.`)
1838
+ ) {
1839
+ childPropName = varName;
1840
+ break;
1841
+ }
1842
+ }
1843
+
1844
+ if (childPropName) {
1845
+ // Build the full sourceEquivalencies key
1846
+ const sourceEquivKey = `${childName}().signature[0].${childPropName}`;
1847
+
1848
+ const sourceEquivEntry = sourceEquivalencies[sourceEquivKey];
1849
+ if (sourceEquivEntry && sourceEquivEntry.length > 0) {
1850
+ const dataSourcePath = sourceEquivEntry[0].schemaPath;
1851
+
1852
+ // Check if this data source path is controllable
1853
+ const dataSourceResolution = resolvePathToControllable(
1854
+ dataSourcePath,
1855
+ attributesMap,
1856
+ equivalentSignatureVariables,
1857
+ fullToShortPathMap,
1858
+ );
1859
+
1860
+ if (
1861
+ dataSourceResolution.isControllable &&
1862
+ dataSourceResolution.resolvedPath
1863
+ ) {
1864
+ // Preserve any suffix from the child path
1865
+ // e.g., childPath = "workouts.length" → suffix = ".length"
1866
+ const suffix = childPath.startsWith(`${childPropName}.`)
1867
+ ? childPath.slice(childPropName.length)
1868
+ : '';
1869
+ resolvedPath = dataSourceResolution.resolvedPath + suffix;
1870
+
1871
+ if (shouldDebugChild) {
1872
+ console.log(
1873
+ `[DEBUG CHILD ${childName}] sourceEquivalencies fallback SUCCESS: using data source ${resolvedPath}`,
1874
+ );
1875
+ }
1876
+ }
1877
+ }
1878
+ }
1879
+ }
1880
+
1881
+ // If still not resolved after fallback, skip
1882
+ if (!resolvedPath) {
1883
+ if (shouldDebugChild) {
1884
+ console.log(
1885
+ `[DEBUG CHILD ${childName}] SKIPPED - path not controllable`,
1886
+ );
1887
+ }
1888
+ continue;
1889
+ }
1890
+ }
1891
+
1892
+ // Check for duplicates
1893
+ const normalizedPath = normalizePathForDeduplication(
1894
+ resolvedPath,
1895
+ fullToShortPathMap,
1896
+ );
1897
+
1898
+ if (seenNormalizedPaths.has(normalizedPath)) {
1899
+ if (shouldDebugChild) {
1900
+ console.log(
1901
+ `[DEBUG CHILD ${childName}] SKIPPED - duplicate normalized path: ${normalizedPath}`,
1902
+ );
1903
+ }
1904
+ continue;
1905
+ }
1906
+ seenNormalizedPaths.add(normalizedPath);
1907
+
1908
+ // Generate flows for this translated usage
1909
+ // Create a modified usage with the translated path for flow generation
1910
+ const translatedUsage: ConditionalUsage = {
1911
+ ...usage,
1912
+ path: resolvedPath,
1913
+ };
1914
+
1915
+ const usageFlows = generateFlowsFromUsage(
1916
+ translatedUsage,
1917
+ resolvedPath,
1918
+ );
1919
+
1920
+ if (shouldDebugChild) {
1921
+ console.log(
1922
+ `[DEBUG CHILD ${childName}] GENERATING ${usageFlows.length} flows with resolvedPath: ${resolvedPath}`,
1923
+ );
1924
+ for (const f of usageFlows) {
1925
+ console.log(
1926
+ `[DEBUG CHILD ${childName}] - Flow ID: ${f.id}, path: ${f.requiredValues[0]?.attributePath}`,
1927
+ );
1928
+ }
1929
+ }
1930
+
1931
+ // Add gating conditions to each flow
1932
+ for (const flow of usageFlows) {
1933
+ // Add gating required values to the flow
1934
+ if (gatingRequiredValues.length > 0) {
1935
+ // Filter out any gating values that are already in the flow
1936
+ const existingPaths = new Set(
1937
+ flow.requiredValues.map((rv) => rv.attributePath),
1938
+ );
1939
+ const newGatingValues = gatingRequiredValues.filter(
1940
+ (gv) => !existingPaths.has(gv.attributePath),
1941
+ );
1942
+ flow.requiredValues = [
1943
+ ...flow.requiredValues,
1944
+ ...newGatingValues,
1945
+ ];
1946
+
1947
+ // Update the flow ID to include gating conditions
1948
+ if (newGatingValues.length > 0) {
1949
+ const gatingIdPart = newGatingValues
1950
+ .map((gv) => `${gv.attributePath}-${gv.value}`)
1951
+ .join('-');
1952
+ flow.id = `${flow.id}-gated-${gatingIdPart}`;
1953
+ }
1954
+ }
1955
+
1956
+ if (!seenFlowIds.has(flow.id)) {
1957
+ seenFlowIds.add(flow.id);
1958
+ flows.push(flow);
1959
+ }
1960
+ }
1961
+ }
1962
+ }
1963
+
1964
+ // Process child's compound conditionals
1965
+ for (const compound of childData.compoundConditionals) {
1966
+ const resolvedPaths = new Map<string, string>();
1967
+ let allResolvable = true;
1968
+
1969
+ for (const condition of compound.conditions) {
1970
+ // Determine the child path to translate
1971
+ const childPath = condition.path;
1972
+
1973
+ // Translate the child path to a parent path
1974
+ const translatedPath = translateChildPathToParent(
1975
+ childPath,
1976
+ childData.equivalentSignatureVariables,
1977
+ equivalentSignatureVariables,
1978
+ childName,
1979
+ );
1980
+
1981
+ if (!translatedPath) {
1982
+ allResolvable = false;
1983
+ break;
1984
+ }
1985
+
1986
+ const resolution = resolvePathToControllable(
1987
+ translatedPath,
1988
+ attributesMap,
1989
+ equivalentSignatureVariables,
1990
+ fullToShortPathMap,
1991
+ );
1992
+
1993
+ // Only create flows for controllable paths (whitelist approach).
1994
+ // If the path doesn't resolve to something in attributesMap, skip it.
1995
+ // This prevents creating flows for useState values which are not
1996
+ // controllable via mock data injection.
1997
+ let resolvedPath = resolution.resolvedPath;
1998
+
1999
+ if (!resolution.isControllable || !resolvedPath) {
2000
+ // Path is not controllable via standard resolution.
2001
+ // Try fallback: For useState values (cyScope*().functionCallReturnValue),
2002
+ // look for a related URL parameter like "varNameFromUrl" that might
2003
+ // control the initial state.
2004
+ const useStateMatch = translatedPath.match(
2005
+ /^cyScope\d+\(\)\.functionCallReturnValue$/,
2006
+ );
2007
+
2008
+ if (useStateMatch) {
2009
+ const useStatePattern = translatedPath.replace(
2010
+ /\.functionCallReturnValue$/,
2011
+ '',
2012
+ );
2013
+
2014
+ // Find the variable name that maps to this useState
2015
+ let useStateVarName: string | null = null;
2016
+ for (const [varName, varPath] of Object.entries(
2017
+ equivalentSignatureVariables,
2018
+ )) {
2019
+ if (varPath === useStatePattern) {
2020
+ useStateVarName = varName;
2021
+ break;
2022
+ }
2023
+ }
2024
+
2025
+ if (useStateVarName) {
2026
+ const urlParamName = `${useStateVarName}FromUrl`;
2027
+ const urlParamPath = equivalentSignatureVariables[urlParamName];
2028
+
2029
+ if (urlParamPath) {
2030
+ resolvedPath = urlParamName;
2031
+ }
2032
+ }
2033
+ }
2034
+ }
2035
+
2036
+ if (!resolvedPath) {
2037
+ allResolvable = false;
2038
+ break;
2039
+ }
2040
+
2041
+ resolvedPaths.set(condition.path, resolvedPath);
2042
+ }
2043
+
2044
+ if (allResolvable && resolvedPaths.size > 0) {
2045
+ const compoundFlow = generateFlowFromCompound(
2046
+ compound,
2047
+ resolvedPaths,
2048
+ );
2049
+ if (compoundFlow) {
2050
+ // Add gating conditions to compound flow (same as regular usage flows)
2051
+ if (gatingRequiredValues.length > 0) {
2052
+ // Filter out any gating values that are already in the flow
2053
+ const existingPaths = new Set(
2054
+ compoundFlow.requiredValues.map((rv) => rv.attributePath),
2055
+ );
2056
+ const newGatingValues = gatingRequiredValues.filter(
2057
+ (gv) => !existingPaths.has(gv.attributePath),
2058
+ );
2059
+ compoundFlow.requiredValues = [
2060
+ ...compoundFlow.requiredValues,
2061
+ ...newGatingValues,
2062
+ ];
2063
+
2064
+ // Update the flow ID to include gating conditions
2065
+ if (newGatingValues.length > 0) {
2066
+ const gatingIdPart = newGatingValues
2067
+ .map((gv) => `${gv.attributePath}-${gv.value}`)
2068
+ .join('-');
2069
+ compoundFlow.id = `${compoundFlow.id}-gated-${gatingIdPart}`;
2070
+ }
2071
+ }
2072
+
2073
+ if (!seenFlowIds.has(compoundFlow.id)) {
2074
+ seenFlowIds.add(compoundFlow.id);
2075
+ flows.push(compoundFlow);
2076
+ }
2077
+ }
2078
+ }
2079
+ }
2080
+
2081
+ // Process child's jsxRenderingUsages (array.map flows)
2082
+ // This generates array variation flows (empty, few, many) for arrays rendered in child
2083
+ if (childData.jsxRenderingUsages) {
2084
+ for (const jsxUsage of childData.jsxRenderingUsages) {
2085
+ // Translate the child path to a parent path
2086
+ const translatedPath = translateChildPathToParent(
2087
+ jsxUsage.path,
2088
+ childData.equivalentSignatureVariables,
2089
+ equivalentSignatureVariables,
2090
+ childName,
2091
+ );
2092
+
2093
+ if (!translatedPath) {
2094
+ continue;
2095
+ }
2096
+
2097
+ // Resolve to controllable path in parent context
2098
+ const resolution = resolvePathToControllable(
2099
+ translatedPath,
2100
+ attributesMap,
2101
+ equivalentSignatureVariables,
2102
+ fullToShortPathMap,
2103
+ );
2104
+
2105
+ let resolvedPath = resolution.resolvedPath;
2106
+
2107
+ // Try sourceEquivalencies fallback if not controllable
2108
+ if (!resolution.isControllable || !resolvedPath) {
2109
+ if (sourceEquivalencies) {
2110
+ // Build the sourceEquivalencies key
2111
+ // The child path (e.g., "workouts") maps to a prop path (e.g., "signature[0].workouts")
2112
+ let childPropName: string | null = null;
2113
+ for (const [varName, varPath] of Object.entries(
2114
+ childData.equivalentSignatureVariables,
2115
+ )) {
2116
+ if (
2117
+ jsxUsage.path === varName ||
2118
+ jsxUsage.path.startsWith(`${varName}.`)
2119
+ ) {
2120
+ childPropName = varName;
2121
+ break;
2122
+ }
2123
+ }
2124
+
2125
+ if (childPropName) {
2126
+ const sourceEquivKey = `${childName}().signature[0].${childPropName}`;
2127
+ const sourceEquivEntry = sourceEquivalencies[sourceEquivKey];
2128
+
2129
+ if (sourceEquivEntry && sourceEquivEntry.length > 0) {
2130
+ const dataSourcePath = sourceEquivEntry[0].schemaPath;
2131
+
2132
+ const dataSourceResolution = resolvePathToControllable(
2133
+ dataSourcePath,
2134
+ attributesMap,
2135
+ equivalentSignatureVariables,
2136
+ fullToShortPathMap,
2137
+ );
2138
+
2139
+ if (
2140
+ dataSourceResolution.isControllable &&
2141
+ dataSourceResolution.resolvedPath
2142
+ ) {
2143
+ resolvedPath = dataSourceResolution.resolvedPath;
2144
+ }
2145
+ }
2146
+ }
2147
+ }
2148
+ }
2149
+
2150
+ if (!resolvedPath) {
2151
+ continue;
2152
+ }
2153
+
2154
+ // Check for duplicates
2155
+ const normalizedPath = normalizePathForDeduplication(
2156
+ resolvedPath,
2157
+ fullToShortPathMap,
2158
+ );
2159
+ const dedupeKey = `${normalizedPath}:${jsxUsage.renderingType}`;
2160
+ if (seenNormalizedPaths.has(dedupeKey)) {
2161
+ continue;
2162
+ }
2163
+ seenNormalizedPaths.add(dedupeKey);
2164
+
2165
+ // Generate array variation flows for array-map rendering
2166
+ if (jsxUsage.renderingType === 'array-map') {
2167
+ const baseName = generateNameFromPath(resolvedPath);
2168
+ const pathSlug = pathToSlug(resolvedPath);
2169
+ const exclusiveGroup = `array-length-${pathSlug}`;
2170
+
2171
+ // Empty array flow
2172
+ const emptyFlow: ExecutionFlow = {
2173
+ id: `${pathSlug}-empty-array`,
2174
+ name: `${baseName} Empty`,
2175
+ description: `When ${baseName.toLowerCase()} array is empty`,
2176
+ requiredValues: [
2177
+ {
2178
+ attributePath: resolvedPath,
2179
+ value: '0',
2180
+ comparison: 'length<',
2181
+ valueType: 'array',
2182
+ },
2183
+ ...gatingRequiredValues,
2184
+ ],
2185
+ impact: 'medium',
2186
+ exclusiveGroup,
2187
+ sourceLocation: jsxUsage.sourceLocation
2188
+ ? {
2189
+ lineNumber: jsxUsage.sourceLocation.lineNumber,
2190
+ column: jsxUsage.sourceLocation.column,
2191
+ }
2192
+ : undefined,
2193
+ codeSnippet: jsxUsage.sourceLocation?.codeSnippet,
2194
+ };
2195
+
2196
+ if (!seenFlowIds.has(emptyFlow.id)) {
2197
+ seenFlowIds.add(emptyFlow.id);
2198
+ flows.push(emptyFlow);
2199
+ }
2200
+
2201
+ // Few items flow (1-3)
2202
+ const fewFlow: ExecutionFlow = {
2203
+ id: `${pathSlug}-few-items`,
2204
+ name: `${baseName} Few Items`,
2205
+ description: `When ${baseName.toLowerCase()} array has 1-3 items`,
2206
+ requiredValues: [
2207
+ {
2208
+ attributePath: resolvedPath,
2209
+ value: '3',
2210
+ comparison: 'length<',
2211
+ valueType: 'array',
2212
+ },
2213
+ ...gatingRequiredValues,
2214
+ ],
2215
+ impact: 'low',
2216
+ exclusiveGroup,
2217
+ sourceLocation: jsxUsage.sourceLocation
2218
+ ? {
2219
+ lineNumber: jsxUsage.sourceLocation.lineNumber,
2220
+ column: jsxUsage.sourceLocation.column,
2221
+ }
2222
+ : undefined,
2223
+ codeSnippet: jsxUsage.sourceLocation?.codeSnippet,
2224
+ };
2225
+
2226
+ if (!seenFlowIds.has(fewFlow.id)) {
2227
+ seenFlowIds.add(fewFlow.id);
2228
+ flows.push(fewFlow);
2229
+ }
2230
+
2231
+ // Many items flow (10+)
2232
+ const manyFlow: ExecutionFlow = {
2233
+ id: `${pathSlug}-many-items`,
2234
+ name: `${baseName} Many Items`,
2235
+ description: `When ${baseName.toLowerCase()} array has many items`,
2236
+ requiredValues: [
2237
+ {
2238
+ attributePath: resolvedPath,
2239
+ value: '10',
2240
+ comparison: 'length>',
2241
+ valueType: 'array',
2242
+ },
2243
+ ...gatingRequiredValues,
2244
+ ],
2245
+ impact: 'low',
2246
+ exclusiveGroup,
2247
+ sourceLocation: jsxUsage.sourceLocation
2248
+ ? {
2249
+ lineNumber: jsxUsage.sourceLocation.lineNumber,
2250
+ column: jsxUsage.sourceLocation.column,
2251
+ }
2252
+ : undefined,
2253
+ codeSnippet: jsxUsage.sourceLocation?.codeSnippet,
2254
+ };
2255
+
2256
+ if (!seenFlowIds.has(manyFlow.id)) {
2257
+ seenFlowIds.add(manyFlow.id);
2258
+ flows.push(manyFlow);
2259
+ }
2260
+ }
2261
+ }
2262
+ }
2263
+ }
2264
+ }
2265
+
2266
+ return flows;
2267
+ }