@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
@@ -1,9 +1,300 @@
1
1
  import ts from 'typescript';
2
+ import * as crypto from 'crypto';
2
3
  import { StructuredPath } from "./paths.js";
3
4
  import { nodeToSource } from "./nodeToSource.js";
4
- import { methodRegistry } from "./methodSemantics.js";
5
+ import { methodRegistry, ArrayPushSemantics } from "./methodSemantics.js";
5
6
  import { isArithmeticOperator, isAssignmentOperator, isBitwiseCompoundOperator, isComparisonOperator, isDefinedType, isNumericCompoundOperator, leftOrRightType, unwrapExpression, } from "./sharedPatterns.js";
6
7
  import { processBindingPattern } from "./processBindings.js";
8
+ import { extractConditionalEffectsFromTernary, findUseStateSetters, } from "./conditionalEffectsExtractor.js";
9
+ import { detectArrayDerivedPattern } from "./arrayDerivationDetector.js";
10
+ /**
11
+ * Checks if a JSX element has props that reference variables from the parent scope.
12
+ * This is used to detect unconditionally-rendered children that should have their
13
+ * execution flows merged into the parent.
14
+ *
15
+ * We want to track children where the parent controls data that affects the child's
16
+ * conditional rendering. Static props (like title="Dashboard") don't need tracking
17
+ * because they don't create variable execution flows.
18
+ *
19
+ * Examples:
20
+ * - <WorkoutsView workouts={workouts} /> → true (workouts is a variable)
21
+ * - <ItemList items={items} count={count} /> → true (items, count are variables)
22
+ * - <Header title="Dashboard" /> → false (static string)
23
+ * - <Footer /> → false (no props)
24
+ * - <Button onClick={handleClick} /> → false (only callback, no data props)
25
+ *
26
+ * @returns true if the component has at least one prop that references a variable
27
+ * (excluding callbacks which typically start with 'on' or 'handle')
28
+ */
29
+ function hasDataPropsFromParent(node, componentName) {
30
+ const attributes = ts.isJsxElement(node)
31
+ ? node.openingElement.attributes.properties
32
+ : node.attributes.properties;
33
+ const dataProps = [];
34
+ for (const attr of attributes) {
35
+ // Spread attributes always reference parent data: {...props}
36
+ if (ts.isJsxSpreadAttribute(attr)) {
37
+ const spreadText = attr.expression?.getText() || '...spread';
38
+ dataProps.push(`{...${spreadText}}`);
39
+ console.log(`[UnconditionalChild] ${componentName}: Found spread attribute {${spreadText}}`);
40
+ continue;
41
+ }
42
+ if (ts.isJsxAttribute(attr)) {
43
+ const propName = attr.name.getText();
44
+ // Skip callback props - they don't create data-driven execution flows
45
+ // Callbacks typically start with 'on' (onClick, onChange) or 'handle' (handleSubmit)
46
+ if (propName.startsWith('on') ||
47
+ propName.startsWith('handle') ||
48
+ propName === 'ref') {
49
+ console.log(`[UnconditionalChild] ${componentName}: Skipping callback prop '${propName}'`);
50
+ continue;
51
+ }
52
+ // Check if the prop value is a JSX expression (references a variable)
53
+ // vs a string literal which is static
54
+ if (attr.initializer) {
55
+ if (ts.isJsxExpression(attr.initializer)) {
56
+ // JSX expression like prop={value} - this references a variable
57
+ // Could be a simple identifier, property access, or more complex expression
58
+ const expression = attr.initializer.expression;
59
+ if (expression) {
60
+ // Skip if it's just a function/arrow function (callback)
61
+ if (ts.isArrowFunction(expression) ||
62
+ ts.isFunctionExpression(expression)) {
63
+ console.log(`[UnconditionalChild] ${componentName}: Skipping inline callback prop '${propName}'`);
64
+ continue;
65
+ }
66
+ // This is a data prop that references parent state/props
67
+ const exprText = expression.getText();
68
+ dataProps.push(`${propName}={${exprText}}`);
69
+ console.log(`[UnconditionalChild] ${componentName}: Found data prop '${propName}' = {${exprText}}`);
70
+ }
71
+ }
72
+ else {
73
+ // String literals like prop="value" are static
74
+ console.log(`[UnconditionalChild] ${componentName}: Skipping static prop '${propName}'`);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ const hasDataProps = dataProps.length > 0;
80
+ if (hasDataProps) {
81
+ console.log(`[UnconditionalChild] ${componentName}: Has ${dataProps.length} data props: [${dataProps.join(', ')}]`);
82
+ }
83
+ else {
84
+ console.log(`[UnconditionalChild] ${componentName}: No data props found, will NOT track`);
85
+ }
86
+ return { hasDataProps, dataProps };
87
+ }
88
+ /**
89
+ * Extracts the component name from a JSX element.
90
+ * Returns null for intrinsic elements (div, span, etc.) since we only care about
91
+ * custom components for gating condition tracking.
92
+ *
93
+ * Examples:
94
+ * - <ChildViewer /> → "ChildViewer"
95
+ * - <ScenarioViewer scenario={...} /> → "ScenarioViewer"
96
+ * - <div> → null (intrinsic element)
97
+ */
98
+ function getComponentNameFromJsx(node) {
99
+ let tagName;
100
+ if (ts.isJsxElement(node)) {
101
+ tagName = node.openingElement.tagName;
102
+ }
103
+ else {
104
+ tagName = node.tagName;
105
+ }
106
+ // Get the text of the tag name
107
+ const name = tagName.getText();
108
+ // Check if it's a custom component (starts with uppercase) vs intrinsic element
109
+ // Custom components start with uppercase: <MyComponent />
110
+ // Intrinsic elements start with lowercase: <div />
111
+ if (name &&
112
+ name[0] === name[0].toUpperCase() &&
113
+ name[0] !== name[0].toLowerCase()) {
114
+ return name;
115
+ }
116
+ return null;
117
+ }
118
+ /**
119
+ * Extracts condition paths from a logical AND chain expression.
120
+ * Used for creating gating conditions for child components.
121
+ *
122
+ * Example: `hasData && isReady && <Component />` returns ['hasData', 'isReady']
123
+ */
124
+ function extractConditionPathsFromAndChain(expr, sourceFile) {
125
+ const paths = [];
126
+ const unwrapped = unwrapExpression(expr);
127
+ if (ts.isBinaryExpression(unwrapped) &&
128
+ unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
129
+ // Recursively get conditions from left side
130
+ paths.push(...extractConditionPathsFromAndChain(unwrapped.left, sourceFile));
131
+ // Process right side if it's not JSX (JSX is the consequence, not a condition)
132
+ const rightUnwrapped = unwrapExpression(unwrapped.right);
133
+ if (!ts.isJsxElement(rightUnwrapped) &&
134
+ !ts.isJsxSelfClosingElement(rightUnwrapped) &&
135
+ !ts.isJsxFragment(rightUnwrapped)) {
136
+ paths.push(...extractConditionPathsFromAndChain(unwrapped.right, sourceFile));
137
+ }
138
+ }
139
+ else {
140
+ // Base case: extract path from this expression
141
+ const path = StructuredPath.fromNode(unwrapped, sourceFile);
142
+ if (path) {
143
+ paths.push(path.toString());
144
+ }
145
+ }
146
+ return paths;
147
+ }
148
+ /**
149
+ * Finds the rightmost JSX element in an && chain.
150
+ * Example: `a && b && <Component />` returns <Component />
151
+ */
152
+ function findJsxInAndChain(expr) {
153
+ const unwrapped = unwrapExpression(expr);
154
+ if (ts.isJsxElement(unwrapped) || ts.isJsxSelfClosingElement(unwrapped)) {
155
+ return unwrapped;
156
+ }
157
+ if (ts.isBinaryExpression(unwrapped) &&
158
+ unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
159
+ // Check right side first (most common case: condition && <Jsx />)
160
+ const rightResult = findJsxInAndChain(unwrapped.right);
161
+ if (rightResult)
162
+ return rightResult;
163
+ // Also check left side for rare cases
164
+ return findJsxInAndChain(unwrapped.left);
165
+ }
166
+ return null;
167
+ }
168
+ /**
169
+ * Fix 32: Finds a JSX fragment in an && chain.
170
+ * Example: `activeTab && <><ChildA /><ChildB /></>` returns the fragment
171
+ * This is needed to propagate parent conditions through fragments.
172
+ */
173
+ function findJsxFragmentInAndChain(expr) {
174
+ const unwrapped = unwrapExpression(expr);
175
+ if (ts.isJsxFragment(unwrapped)) {
176
+ return unwrapped;
177
+ }
178
+ if (ts.isBinaryExpression(unwrapped) &&
179
+ unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
180
+ // Check right side first (most common case: condition && <></>)
181
+ const rightResult = findJsxFragmentInAndChain(unwrapped.right);
182
+ if (rightResult)
183
+ return rightResult;
184
+ // Also check left side for rare cases
185
+ return findJsxFragmentInAndChain(unwrapped.left);
186
+ }
187
+ return null;
188
+ }
189
+ /**
190
+ * Detects if a property access looks like an environment variable store access.
191
+ * Matches patterns like `env.DATABASE_URL`, `env.IS_FORMBRICKS_CLOUD`, etc.
192
+ * where the object is named "env" and the property looks like an env var name.
193
+ */
194
+ function isEnvStoreAccess(fullText) {
195
+ // Match: env.SOME_VAR or env.someVar (but object must be exactly "env")
196
+ // This catches patterns from @t3-oss/env-nextjs and similar packages
197
+ const envStorePattern = /^env\.[A-Z_][A-Z0-9_]*$/;
198
+ return envStorePattern.test(fullText);
199
+ }
200
+ /**
201
+ * Converts a call expression argument to a StructuredPath.
202
+ *
203
+ * IMPORTANT: We always use the original source text for callbacks, never cyScope names.
204
+ * cyScope names are internal identifiers for child scopes and should NEVER appear
205
+ * in schema paths or call signatures. Using cyScope names causes data merge conflicts
206
+ * because the same callback gets different identifiers in different contexts.
207
+ */
208
+ function getArgPathForCallSignature(arg, context) {
209
+ // Always use the standard path conversion - never replace with cyScope names
210
+ return (StructuredPath.fromNode(arg, context.sourceFile) ||
211
+ nodeToSource(arg, context.sourceFile));
212
+ }
213
+ /**
214
+ * Builds a StructuredPath for a call expression using the original source text.
215
+ *
216
+ * IMPORTANT: This function ensures consistent call signatures by always using
217
+ * the original callback text, never cyScope names. This prevents schema path
218
+ * conflicts where the same call would have different paths.
219
+ */
220
+ function buildCallPathFromSource(node, context) {
221
+ const expression = node.expression;
222
+ // Convert arguments using original source text
223
+ const argPaths = node.arguments.map((arg) => getArgPathForCallSignature(arg, context));
224
+ // Handle type arguments if present
225
+ let typeArgs = undefined;
226
+ if (node.typeArguments && node.typeArguments.length > 0) {
227
+ typeArgs = node.typeArguments.map((typeArg) => typeArg.getText(context.sourceFile));
228
+ }
229
+ if (ts.isIdentifier(expression)) {
230
+ // Simple function call: func(arg1, arg2)
231
+ return StructuredPath.fromFunction(expression.text, argPaths, typeArgs);
232
+ }
233
+ else if (ts.isPropertyAccessExpression(expression)) {
234
+ // Method call: obj.method(arg1, arg2)
235
+ const objPath = StructuredPath.fromNode(expression.expression, context.sourceFile);
236
+ if (!objPath)
237
+ return null;
238
+ return objPath
239
+ .withProperty(expression.name.text)
240
+ .withFunctionCall(argPaths, typeArgs);
241
+ }
242
+ else if (ts.isCallExpression(expression)) {
243
+ // Chained call: func(arg1)(arg2)
244
+ const funcPath = buildCallPathFromSource(expression, context);
245
+ if (!funcPath)
246
+ return null;
247
+ return funcPath.withFunctionCall(argPaths, typeArgs);
248
+ }
249
+ else if (ts.isElementAccessExpression(expression)) {
250
+ // Element access call: obj[key](args)
251
+ const basePath = StructuredPath.fromNode(expression, context.sourceFile);
252
+ if (!basePath)
253
+ return null;
254
+ return basePath.withFunctionCall(argPaths, typeArgs);
255
+ }
256
+ else {
257
+ // Complex call expression
258
+ const basePath = StructuredPath.fromNode(expression, context.sourceFile);
259
+ if (!basePath)
260
+ return null;
261
+ return basePath.withFunctionCall(argPaths, typeArgs);
262
+ }
263
+ }
264
+ /**
265
+ * Checks if an expression is likely an array type.
266
+ * Uses TypeScript's type checker when available, falls back to heuristics.
267
+ */
268
+ function isLikelyArrayType(expr, typeChecker) {
269
+ if (typeChecker) {
270
+ try {
271
+ const type = typeChecker.getTypeAtLocation(expr);
272
+ const typeString = typeChecker.typeToString(type);
273
+ // Check for common array type patterns:
274
+ // - T[] syntax (includes any[], string[], etc.)
275
+ // - Array<T> syntax
276
+ // - ReadonlyArray<T> syntax
277
+ // - readonly T[] syntax (starts with "readonly " and ends with "[]")
278
+ if (typeString.includes('[]') ||
279
+ typeString.startsWith('Array<') ||
280
+ typeString.startsWith('ReadonlyArray<')) {
281
+ return true;
282
+ }
283
+ // Check if it's a tuple or array literal type via TypeScript's type flags
284
+ if (type.getFlags() & ts.TypeFlags.Object) {
285
+ const objectType = type;
286
+ if (objectType.objectFlags & ts.ObjectFlags.Tuple ||
287
+ objectType.objectFlags & ts.ObjectFlags.ArrayLiteral) {
288
+ return true;
289
+ }
290
+ }
291
+ }
292
+ catch {
293
+ // Type checking can fail in some edge cases, fall through to false
294
+ }
295
+ }
296
+ return false;
297
+ }
7
298
  /**
8
299
  * Marks variables used in truthiness checks as potentially undefined.
9
300
  * When code checks `if (x)` or `x && ...`, it indicates x might be falsy (null/undefined).
@@ -47,102 +338,750 @@ export function markConditionVariablesAsNullable(condition, context) {
47
338
  }
48
339
  }
49
340
  /**
50
- * Extracts conditional usages from a condition expression for key attribute detection.
51
- * This function identifies which attributes are used in conditionals and how they're used.
341
+ * Helper to extract source location from an AST node
342
+ */
343
+ function getSourceLocation(node, sourceFile) {
344
+ const start = node.getStart(sourceFile);
345
+ const { line, character } = sourceFile.getLineAndCharacterOfPosition(start);
346
+ const codeSnippet = node.getText(sourceFile);
347
+ return {
348
+ lineNumber: line + 1, // Convert to 1-based
349
+ column: character,
350
+ codeSnippet: codeSnippet.length > 100
351
+ ? codeSnippet.slice(0, 100) + '...'
352
+ : codeSnippet,
353
+ };
354
+ }
355
+ /**
356
+ * Extracts the root array path from an expression that ends with .map().
357
+ * Handles chained methods like .filter().map(), .slice().map(), etc.
52
358
  *
53
- * @param condition The condition expression to analyze
359
+ * Examples:
360
+ * - items.map(...) → "items"
361
+ * - data.users.map(...) → "data.users"
362
+ * - items.filter(...).map(...) → "items"
363
+ * - items.slice(0, 5).map(...) → "items"
364
+ */
365
+ function extractArrayPathFromMapCall(expr, sourceFile) {
366
+ // Walk up the chain to find the root array
367
+ let current = expr.expression;
368
+ while (ts.isPropertyAccessExpression(current)) {
369
+ const methodName = current.name.getText(sourceFile);
370
+ // Common array methods that return arrays (so we keep going up)
371
+ const arrayReturningMethods = [
372
+ 'map',
373
+ 'filter',
374
+ 'slice',
375
+ 'concat',
376
+ 'flat',
377
+ 'flatMap',
378
+ 'reverse',
379
+ 'sort',
380
+ 'toReversed',
381
+ 'toSorted',
382
+ 'toSpliced',
383
+ ];
384
+ if (arrayReturningMethods.includes(methodName)) {
385
+ const objectExpr = current.expression;
386
+ // If the object is a call expression (chained method), keep going
387
+ if (ts.isCallExpression(objectExpr)) {
388
+ current = objectExpr.expression;
389
+ }
390
+ else {
391
+ // Found the root - it's an identifier or property access
392
+ const path = StructuredPath.fromNode(objectExpr, sourceFile);
393
+ return path ? path.toString() : null;
394
+ }
395
+ }
396
+ else {
397
+ // Not an array method we recognize
398
+ break;
399
+ }
400
+ }
401
+ return null;
402
+ }
403
+ /**
404
+ * Extracts JSX rendering usages from a JSX expression.
405
+ * Detects:
406
+ * - array.map() calls → 'array-map' type
407
+ * - string interpolations (identifiers/property access) → 'text-interpolation' type
408
+ *
409
+ * Recursively searches inside && chains and ternary expressions.
410
+ *
411
+ * @param expr The expression inside {expr}
54
412
  * @param context The analysis context
55
- * @param location Where this condition appears (if, ternary, logical-and, switch)
56
413
  */
57
- export function extractConditionalUsage(condition, context, location) {
58
- const unwrapped = unwrapExpression(condition);
59
- // Handle binary expressions with && (logical AND chains)
60
- // Example: `a && b && <Component />` - both a and b are conditional checks
414
+ function extractJsxRenderingUsage(expr, context) {
415
+ const unwrapped = unwrapExpression(expr);
416
+ const sourceLocation = getSourceLocation(expr, context.sourceFile);
417
+ // Detect array.map() calls
418
+ if (ts.isCallExpression(unwrapped)) {
419
+ const calleeExpr = unwrapped.expression;
420
+ if (ts.isPropertyAccessExpression(calleeExpr)) {
421
+ const methodName = calleeExpr.name.getText(context.sourceFile);
422
+ if (methodName === 'map') {
423
+ const arrayPath = extractArrayPathFromMapCall(unwrapped, context.sourceFile);
424
+ if (arrayPath) {
425
+ context.addJsxRenderingUsage({
426
+ path: arrayPath,
427
+ renderingType: 'array-map',
428
+ valueType: 'array',
429
+ sourceLocation,
430
+ });
431
+ }
432
+ }
433
+ }
434
+ }
435
+ // Detect simple string interpolations: {title} or {user.name}
436
+ else if (ts.isIdentifier(unwrapped) ||
437
+ ts.isPropertyAccessExpression(unwrapped)) {
438
+ const path = StructuredPath.fromNode(unwrapped, context.sourceFile);
439
+ if (path) {
440
+ const pathStr = path.toString();
441
+ const typeInfo = context.getTypeInfo(path);
442
+ // Only track as text interpolation if it's a string type
443
+ // Check for 'string' type, or types that contain 'string' (but not 'string[]')
444
+ if (typeInfo === 'string' ||
445
+ (typeInfo &&
446
+ typeInfo.includes('string') &&
447
+ !typeInfo.includes('string[]'))) {
448
+ context.addJsxRenderingUsage({
449
+ path: pathStr,
450
+ renderingType: 'text-interpolation',
451
+ valueType: 'string',
452
+ sourceLocation,
453
+ });
454
+ }
455
+ }
456
+ }
457
+ // Recursively search inside && chains: {showList && items.map(...)}
458
+ else if (ts.isBinaryExpression(unwrapped) &&
459
+ unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
460
+ // Check the right side of the && chain (where .map() typically appears)
461
+ const rightSide = unwrapExpression(unwrapped.right);
462
+ extractJsxRenderingUsage(rightSide, context);
463
+ // Also check nested && chains on the left
464
+ extractJsxRenderingUsage(unwrapped.left, context);
465
+ }
466
+ // Recursively search inside ternaries: {isEmpty ? null : items.map(...)}
467
+ else if (ts.isConditionalExpression(unwrapped)) {
468
+ extractJsxRenderingUsage(unwrapped.whenTrue, context);
469
+ extractJsxRenderingUsage(unwrapped.whenFalse, context);
470
+ }
471
+ }
472
+ /**
473
+ * Counts the number of conditions in an && chain (excluding JSX consequence)
474
+ */
475
+ function countConditionsInAndChain(expr) {
476
+ const unwrapped = unwrapExpression(expr);
61
477
  if (ts.isBinaryExpression(unwrapped) &&
62
478
  unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
63
- // Recursively process left side
64
- extractConditionalUsage(unwrapped.left, context, location);
65
- // Process right side if it's not JSX (JSX is the consequence, not the condition)
479
+ const leftCount = countConditionsInAndChain(unwrapped.left);
66
480
  const rightUnwrapped = unwrapExpression(unwrapped.right);
67
481
  const isJsxConsequence = ts.isJsxElement(rightUnwrapped) ||
68
482
  ts.isJsxSelfClosingElement(rightUnwrapped) ||
69
483
  ts.isJsxFragment(rightUnwrapped);
70
- if (!isJsxConsequence) {
71
- extractConditionalUsage(unwrapped.right, context, location);
484
+ if (isJsxConsequence) {
485
+ return leftCount;
72
486
  }
73
- return;
487
+ return leftCount + countConditionsInAndChain(unwrapped.right);
74
488
  }
75
- // Handle binary expressions with || (logical OR)
76
- if (ts.isBinaryExpression(unwrapped) &&
77
- unwrapped.operatorToken.kind === ts.SyntaxKind.BarBarToken) {
78
- // Both sides of || are conditional checks
79
- extractConditionalUsage(unwrapped.left, context, location);
80
- extractConditionalUsage(unwrapped.right, context, location);
489
+ // Single condition (not an && chain)
490
+ return 1;
491
+ }
492
+ /**
493
+ * Extracts conditionals from JSX elements by recursively traversing children.
494
+ *
495
+ * This is CRITICAL for extracting compound conditionals from JSX expressions
496
+ * like `{hasNewerVersion && !isActive && <Banner />}`.
497
+ *
498
+ * This function is called BEFORE the child boundary check in processExpression
499
+ * because JSX elements are NOT scopes - their expressions use variables from
500
+ * the parent scope and should have their conditionals extracted regardless of
501
+ * whether the JSX is within a child boundary.
502
+ *
503
+ * Fix 32: Added parentConditions parameter to track gating conditions from
504
+ * parent && chains. When we find a component nested inside multiple conditionals
505
+ * like `{activeTab && <>{ternary ? ... : <Component />}</>}`, ALL parent
506
+ * conditions should be added as gating conditions for the component.
507
+ *
508
+ * @param node The JSX element, self-closing element, or fragment to traverse
509
+ * @param context The analysis context
510
+ * @param parentConditions Accumulated gating conditions from parent && chains
511
+ */
512
+ function extractConditionalsFromJsx(node, context, parentConditions = []) {
513
+ // Get children to process
514
+ let children;
515
+ if (ts.isJsxElement(node)) {
516
+ children = node.children;
517
+ }
518
+ else if (ts.isJsxFragment(node)) {
519
+ children = node.children;
520
+ }
521
+ // JsxSelfClosingElement has no children
522
+ if (!children) {
81
523
  return;
82
524
  }
83
- // Handle comparison operators (===, !==, <, >, <=, >=)
84
- // Example: `if (status === 'active')` - status is compared against 'active'
85
- if (ts.isBinaryExpression(unwrapped) &&
86
- isComparisonOperator(unwrapped.operatorToken.kind)) {
87
- // Try to extract the variable and the compared value
88
- const leftPath = StructuredPath.fromNode(unwrapped.left, context.sourceFile);
89
- const rightPath = StructuredPath.fromNode(unwrapped.right, context.sourceFile);
90
- // Check if left is a variable and right is a literal
91
- if (leftPath && isLiteralExpression(unwrapped.right)) {
92
- const literalValue = getLiteralValue(unwrapped.right, context);
93
- context.addConditionalUsage({
94
- path: leftPath.toLeftHandSideString(),
95
- conditionType: 'comparison',
96
- comparedValues: literalValue !== undefined ? [literalValue] : undefined,
97
- location,
98
- });
525
+ for (const child of children) {
526
+ // Process JSX expressions: {expr}
527
+ if (ts.isJsxExpression(child) && child.expression) {
528
+ const expr = unwrapExpression(child.expression);
529
+ // Extract JSX rendering usages (array.map, text interpolation)
530
+ // This handles direct usages like {items.map(...)} or {user.name}
531
+ extractJsxRenderingUsage(expr, context);
532
+ // If the expression is an && chain, extract its conditional usages
533
+ if (ts.isBinaryExpression(expr) &&
534
+ expr.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
535
+ // Mark nullable variables
536
+ markConditionVariablesAsNullable(expr, context);
537
+ // Extract conditional usage (this handles compound conditionals)
538
+ // Pass controlsJsxRendering: true since this conditional controls JSX rendering
539
+ extractConditionalUsage(expr, context, 'logical-and', {
540
+ controlsJsxRendering: true,
541
+ });
542
+ // Extract all condition paths from the && chain for gating tracking
543
+ const conditionPaths = extractConditionPathsFromAndChain(expr, context.sourceFile);
544
+ const sourceLocation = getSourceLocation(expr, context.sourceFile);
545
+ // Fix 32: Build accumulated conditions including parent conditions
546
+ const accumulatedConditions = [
547
+ ...parentConditions,
548
+ ...conditionPaths.map((path) => ({
549
+ path,
550
+ sourceLocation,
551
+ isNegated: false,
552
+ })),
553
+ ];
554
+ // Track gating conditions for child components
555
+ // Example: {hasAnalysis && <ScenarioViewer />}
556
+ const jsxElement = findJsxInAndChain(expr);
557
+ if (jsxElement) {
558
+ const componentName = getComponentNameFromJsx(jsxElement);
559
+ if (componentName) {
560
+ // Fix 32: Add ALL accumulated conditions (parent + current) as gating conditions
561
+ for (const condition of accumulatedConditions) {
562
+ context.addChildBoundaryGatingCondition(componentName, {
563
+ path: condition.path,
564
+ conditionType: 'truthiness',
565
+ location: 'logical-and',
566
+ sourceLocation: condition.sourceLocation,
567
+ controlsJsxRendering: true,
568
+ isNegated: condition.isNegated,
569
+ });
570
+ }
571
+ }
572
+ // Fix 32: Recursively process nested JSX with accumulated conditions
573
+ if (ts.isJsxElement(jsxElement) ||
574
+ ts.isJsxSelfClosingElement(jsxElement)) {
575
+ extractConditionalsFromJsx(jsxElement, context, accumulatedConditions);
576
+ }
577
+ }
578
+ // Fix 32: Also check for nested JSX fragments
579
+ const jsxFragment = findJsxFragmentInAndChain(expr);
580
+ if (jsxFragment) {
581
+ extractConditionalsFromJsx(jsxFragment, context, accumulatedConditions);
582
+ }
583
+ }
584
+ // If the expression is a ternary, extract its conditional
585
+ else if (ts.isConditionalExpression(expr)) {
586
+ // Pass controlsJsxRendering: true since this conditional controls JSX rendering
587
+ extractConditionalUsage(expr.condition, context, 'ternary', {
588
+ controlsJsxRendering: true,
589
+ });
590
+ // Track gating conditions for components in both branches of the ternary
591
+ // Example: {isError ? <ErrorView /> : <SuccessView />}
592
+ const conditionPath = StructuredPath.fromNode(unwrapExpression(expr.condition), context.sourceFile);
593
+ const sourceLocation = getSourceLocation(expr, context.sourceFile);
594
+ // Recursively process the whenTrue and whenFalse branches for JSX
595
+ const whenTrue = unwrapExpression(expr.whenTrue);
596
+ const whenFalse = unwrapExpression(expr.whenFalse);
597
+ // Fix 32: Build conditions for whenTrue branch (parent conditions + ternary condition truthy)
598
+ const whenTrueConditions = [
599
+ ...parentConditions,
600
+ ...(conditionPath
601
+ ? [
602
+ {
603
+ path: conditionPath.toString(),
604
+ sourceLocation,
605
+ isNegated: false,
606
+ },
607
+ ]
608
+ : []),
609
+ ];
610
+ // Fix 32: Build conditions for whenFalse branch (parent conditions + ternary condition falsy)
611
+ const whenFalseConditions = [
612
+ ...parentConditions,
613
+ ...(conditionPath
614
+ ? [
615
+ {
616
+ path: conditionPath.toString(),
617
+ sourceLocation,
618
+ isNegated: true,
619
+ },
620
+ ]
621
+ : []),
622
+ ];
623
+ // Handle whenTrue branch (condition is truthy)
624
+ if (ts.isJsxElement(whenTrue) || ts.isJsxSelfClosingElement(whenTrue)) {
625
+ const componentName = getComponentNameFromJsx(whenTrue);
626
+ if (componentName) {
627
+ // Fix 32: Add ALL conditions (parent + ternary) as gating conditions
628
+ for (const condition of whenTrueConditions) {
629
+ context.addChildBoundaryGatingCondition(componentName, {
630
+ path: condition.path,
631
+ conditionType: 'truthiness',
632
+ location: 'ternary',
633
+ sourceLocation: condition.sourceLocation,
634
+ controlsJsxRendering: true,
635
+ isNegated: condition.isNegated,
636
+ });
637
+ }
638
+ }
639
+ }
640
+ if (ts.isJsxElement(whenTrue) ||
641
+ ts.isJsxSelfClosingElement(whenTrue) ||
642
+ ts.isJsxFragment(whenTrue)) {
643
+ extractConditionalsFromJsx(whenTrue, context, whenTrueConditions);
644
+ }
645
+ // Handle whenFalse branch (condition is falsy/negated)
646
+ if (ts.isJsxElement(whenFalse) ||
647
+ ts.isJsxSelfClosingElement(whenFalse)) {
648
+ const componentName = getComponentNameFromJsx(whenFalse);
649
+ if (componentName) {
650
+ // Fix 32: Add ALL conditions (parent + ternary) as gating conditions
651
+ for (const condition of whenFalseConditions) {
652
+ context.addChildBoundaryGatingCondition(componentName, {
653
+ path: condition.path,
654
+ conditionType: 'truthiness',
655
+ location: 'ternary',
656
+ sourceLocation: condition.sourceLocation,
657
+ controlsJsxRendering: true,
658
+ isNegated: condition.isNegated,
659
+ });
660
+ }
661
+ }
662
+ }
663
+ if (ts.isJsxElement(whenFalse) ||
664
+ ts.isJsxSelfClosingElement(whenFalse) ||
665
+ ts.isJsxFragment(whenFalse)) {
666
+ extractConditionalsFromJsx(whenFalse, context, whenFalseConditions);
667
+ }
668
+ // Handle chained ternaries: a ? <A/> : b ? <B/> : <C/>
669
+ // When whenFalse is another ConditionalExpression, recursively process it
670
+ else if (ts.isConditionalExpression(whenFalse)) {
671
+ // Extract conditional usage for the nested ternary's condition
672
+ extractConditionalUsage(whenFalse.condition, context, 'ternary', {
673
+ controlsJsxRendering: true,
674
+ });
675
+ // Get the nested condition path
676
+ const nestedConditionPath = StructuredPath.fromNode(unwrapExpression(whenFalse.condition), context.sourceFile);
677
+ const nestedSourceLocation = getSourceLocation(whenFalse, context.sourceFile);
678
+ const nestedWhenTrue = unwrapExpression(whenFalse.whenTrue);
679
+ const nestedWhenFalse = unwrapExpression(whenFalse.whenFalse);
680
+ // Fix 32: Build conditions for nested whenTrue (parent falsy + nested truthy)
681
+ const nestedWhenTrueConditions = [
682
+ ...whenFalseConditions, // Parent ternary was falsy to get here
683
+ ...(nestedConditionPath
684
+ ? [
685
+ {
686
+ path: nestedConditionPath.toString(),
687
+ sourceLocation: nestedSourceLocation,
688
+ isNegated: false,
689
+ },
690
+ ]
691
+ : []),
692
+ ];
693
+ // Fix 32: Build conditions for nested whenFalse (parent falsy + nested falsy)
694
+ const nestedWhenFalseConditions = [
695
+ ...whenFalseConditions, // Parent ternary was falsy to get here
696
+ ...(nestedConditionPath
697
+ ? [
698
+ {
699
+ path: nestedConditionPath.toString(),
700
+ sourceLocation: nestedSourceLocation,
701
+ isNegated: true,
702
+ },
703
+ ]
704
+ : []),
705
+ ];
706
+ // Handle nested whenTrue branch
707
+ if (ts.isJsxElement(nestedWhenTrue) ||
708
+ ts.isJsxSelfClosingElement(nestedWhenTrue)) {
709
+ const componentName = getComponentNameFromJsx(nestedWhenTrue);
710
+ if (componentName) {
711
+ // Fix 32: Add ALL accumulated conditions
712
+ for (const condition of nestedWhenTrueConditions) {
713
+ context.addChildBoundaryGatingCondition(componentName, {
714
+ path: condition.path,
715
+ conditionType: 'truthiness',
716
+ location: 'ternary',
717
+ sourceLocation: condition.sourceLocation,
718
+ controlsJsxRendering: true,
719
+ isNegated: condition.isNegated,
720
+ });
721
+ }
722
+ }
723
+ }
724
+ if (ts.isJsxElement(nestedWhenTrue) ||
725
+ ts.isJsxSelfClosingElement(nestedWhenTrue) ||
726
+ ts.isJsxFragment(nestedWhenTrue)) {
727
+ extractConditionalsFromJsx(nestedWhenTrue, context, nestedWhenTrueConditions);
728
+ }
729
+ // Handle nested whenFalse branch (this could be another chained ternary or JSX)
730
+ if (ts.isJsxElement(nestedWhenFalse) ||
731
+ ts.isJsxSelfClosingElement(nestedWhenFalse)) {
732
+ const componentName = getComponentNameFromJsx(nestedWhenFalse);
733
+ if (componentName) {
734
+ // Fix 32: Add ALL accumulated conditions
735
+ for (const condition of nestedWhenFalseConditions) {
736
+ context.addChildBoundaryGatingCondition(componentName, {
737
+ path: condition.path,
738
+ conditionType: 'truthiness',
739
+ location: 'ternary',
740
+ sourceLocation: condition.sourceLocation,
741
+ controlsJsxRendering: true,
742
+ isNegated: condition.isNegated,
743
+ });
744
+ }
745
+ }
746
+ }
747
+ if (ts.isJsxElement(nestedWhenFalse) ||
748
+ ts.isJsxSelfClosingElement(nestedWhenFalse) ||
749
+ ts.isJsxFragment(nestedWhenFalse)) {
750
+ extractConditionalsFromJsx(nestedWhenFalse, context, nestedWhenFalseConditions);
751
+ }
752
+ // If nestedWhenFalse is yet another ConditionalExpression, the recursion
753
+ // will handle it on the next iteration when this function processes it
754
+ else if (ts.isConditionalExpression(nestedWhenFalse)) {
755
+ // Recursively handle deeper nesting by wrapping in a synthetic process
756
+ // We create a fake JsxExpression context to reuse the same logic
757
+ const syntheticChild = {
758
+ kind: ts.SyntaxKind.JsxExpression,
759
+ expression: nestedWhenFalse,
760
+ };
761
+ // Process via the main JSX expression handler by recursing
762
+ // For now, just extract conditionals directly
763
+ extractConditionalUsage(nestedWhenFalse.condition, context, 'ternary', { controlsJsxRendering: true });
764
+ }
765
+ }
766
+ }
767
+ }
768
+ // Recursively process nested JSX elements - Fix 32: pass parent conditions
769
+ else if (ts.isJsxElement(child)) {
770
+ // Check if this is a user-defined component (vs intrinsic element like div)
771
+ const componentName = getComponentNameFromJsx(child);
772
+ if (componentName) {
773
+ if (parentConditions.length > 0) {
774
+ // If there are parent conditions, record them as gating conditions
775
+ console.log(`[ChildBoundary] ${componentName}: Conditionally rendered with ${parentConditions.length} gating conditions`);
776
+ for (const condition of parentConditions) {
777
+ console.log(`[ChildBoundary] ${componentName}: Adding gating condition path='${condition.path}' isNegated=${condition.isNegated}`);
778
+ context.addChildBoundaryGatingCondition(componentName, {
779
+ path: condition.path,
780
+ conditionType: 'truthiness',
781
+ location: 'ternary',
782
+ sourceLocation: condition.sourceLocation,
783
+ controlsJsxRendering: true,
784
+ isNegated: condition.isNegated,
785
+ });
786
+ }
787
+ }
788
+ else {
789
+ // No parent conditions - check if it has data props for unconditional tracking
790
+ console.log(`[ChildBoundary] ${componentName}: Checking for unconditional rendering with data props...`);
791
+ const { hasDataProps, dataProps } = hasDataPropsFromParent(child, componentName);
792
+ if (hasDataProps) {
793
+ // Fix: Track unconditionally-rendered children that receive data props
794
+ // These need to be tracked for flow merging even without gating conditions
795
+ // Example: <WorkoutsView workouts={workouts} /> - parent controls workouts data
796
+ console.log(`[ChildBoundary] ${componentName}: TRACKING as unconditionally-rendered with data props: [${dataProps.join(', ')}]`);
797
+ context.addChildBoundaryGatingCondition(componentName, {
798
+ path: '__unconditional__',
799
+ conditionType: 'truthiness',
800
+ location: 'unconditional',
801
+ controlsJsxRendering: true,
802
+ isNegated: false,
803
+ });
804
+ }
805
+ }
806
+ }
807
+ extractConditionalsFromJsx(child, context, parentConditions);
808
+ }
809
+ // Handle self-closing JSX elements (e.g., <ScenarioViewer />)
810
+ else if (ts.isJsxSelfClosingElement(child)) {
811
+ // Check if this is a user-defined component (vs intrinsic element like div)
812
+ const componentName = getComponentNameFromJsx(child);
813
+ if (componentName) {
814
+ if (parentConditions.length > 0) {
815
+ // If there are parent conditions, record them as gating conditions
816
+ console.log(`[ChildBoundary] ${componentName}: Conditionally rendered (self-closing) with ${parentConditions.length} gating conditions`);
817
+ for (const condition of parentConditions) {
818
+ console.log(`[ChildBoundary] ${componentName}: Adding gating condition path='${condition.path}' isNegated=${condition.isNegated}`);
819
+ context.addChildBoundaryGatingCondition(componentName, {
820
+ path: condition.path,
821
+ conditionType: 'truthiness',
822
+ location: 'ternary',
823
+ sourceLocation: condition.sourceLocation,
824
+ controlsJsxRendering: true,
825
+ isNegated: condition.isNegated,
826
+ });
827
+ }
828
+ }
829
+ else {
830
+ // No parent conditions - check if it has data props for unconditional tracking
831
+ console.log(`[ChildBoundary] ${componentName}: Checking for unconditional rendering (self-closing) with data props...`);
832
+ const { hasDataProps, dataProps } = hasDataPropsFromParent(child, componentName);
833
+ if (hasDataProps) {
834
+ // Fix: Track unconditionally-rendered children that receive data props
835
+ console.log(`[ChildBoundary] ${componentName}: TRACKING as unconditionally-rendered (self-closing) with data props: [${dataProps.join(', ')}]`);
836
+ context.addChildBoundaryGatingCondition(componentName, {
837
+ path: '__unconditional__',
838
+ conditionType: 'truthiness',
839
+ location: 'unconditional',
840
+ controlsJsxRendering: true,
841
+ isNegated: false,
842
+ });
843
+ }
844
+ }
845
+ }
846
+ // Self-closing elements have no children, so no recursion needed
847
+ }
848
+ // Recursively process nested JSX fragments - Fix 32: pass parent conditions
849
+ else if (ts.isJsxFragment(child)) {
850
+ extractConditionalsFromJsx(child, context, parentConditions);
851
+ }
852
+ }
853
+ }
854
+ /**
855
+ * Extracts conditional usages from a condition expression for key attribute detection.
856
+ * This function identifies which attributes are used in conditionals and how they're used.
857
+ * It also tracks compound conditionals (&&-chains) where all conditions must be true together.
858
+ *
859
+ * @param condition The condition expression to analyze
860
+ * @param context The analysis context
861
+ * @param location Where this condition appears (if, ternary, logical-and, switch)
862
+ * @param options Additional options including controlsJsxRendering flag
863
+ */
864
+ export function extractConditionalUsage(condition, context, location, options = {}) {
865
+ const { controlsJsxRendering } = options;
866
+ // Internal recursive function with chain tracking
867
+ function extractWithChainTracking(expr, chainInfo, isNegated) {
868
+ const unwrapped = unwrapExpression(expr);
869
+ // Handle binary expressions with && (logical AND chains)
870
+ // Example: `a && b && <Component />` - both a and b are conditional checks
871
+ if (ts.isBinaryExpression(unwrapped) &&
872
+ unwrapped.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
873
+ // Track if we're creating the chain at this level (root of the chain)
874
+ const isChainRoot = !chainInfo;
875
+ // If no chainInfo, this is the root of a new chain
876
+ if (isChainRoot) {
877
+ const chainLength = countConditionsInAndChain(unwrapped);
878
+ // Only create chain tracking for chains with 2+ conditions
879
+ if (chainLength >= 2) {
880
+ const chainId = `chain_${crypto.randomUUID().slice(0, 8)}`;
881
+ const chainExpression = unwrapped.getText(context.sourceFile);
882
+ const compound = {
883
+ chainId,
884
+ expression: chainExpression.length > 200
885
+ ? chainExpression.slice(0, 200) + '...'
886
+ : chainExpression,
887
+ conditions: [],
888
+ location,
889
+ sourceLocation: getSourceLocation(unwrapped, context.sourceFile),
890
+ controlsJsxRendering,
891
+ };
892
+ chainInfo = {
893
+ chainId,
894
+ chainLength,
895
+ chainExpression: compound.expression,
896
+ currentPosition: 0,
897
+ compound,
898
+ };
899
+ }
900
+ }
901
+ // Recursively process left side
902
+ extractWithChainTracking(unwrapped.left, chainInfo, false);
903
+ // Process right side if it's not JSX (JSX is the consequence, not the condition)
904
+ const rightUnwrapped = unwrapExpression(unwrapped.right);
905
+ const isJsxConsequence = ts.isJsxElement(rightUnwrapped) ||
906
+ ts.isJsxSelfClosingElement(rightUnwrapped) ||
907
+ ts.isJsxFragment(rightUnwrapped);
908
+ if (!isJsxConsequence) {
909
+ extractWithChainTracking(unwrapped.right, chainInfo, false);
910
+ }
911
+ // If this is the root of the chain, register the compound conditional
912
+ if (isChainRoot && chainInfo) {
913
+ context.addCompoundConditional(chainInfo.compound);
914
+ }
99
915
  return;
100
916
  }
101
- // Check if right is a variable and left is a literal
102
- if (rightPath && isLiteralExpression(unwrapped.left)) {
103
- const literalValue = getLiteralValue(unwrapped.left, context);
104
- context.addConditionalUsage({
105
- path: rightPath.toLeftHandSideString(),
106
- conditionType: 'comparison',
107
- comparedValues: literalValue !== undefined ? [literalValue] : undefined,
108
- location,
109
- });
917
+ // Handle binary expressions with || (logical OR)
918
+ // When OR is inside an && chain, we need to continue chain tracking
919
+ // and mark conditions as OR alternatives
920
+ if (ts.isBinaryExpression(unwrapped) &&
921
+ unwrapped.operatorToken.kind === ts.SyntaxKind.BarBarToken) {
922
+ if (chainInfo) {
923
+ // We're inside an && chain - continue tracking but mark as OR alternatives
924
+ // Generate an orGroupId so conditions from both sides can be grouped
925
+ const orGroupId = chainInfo.currentOrGroupId ?? `or_${crypto.randomUUID().slice(0, 8)}`;
926
+ // Process left side with OR group tracking
927
+ const leftChainInfo = {
928
+ ...chainInfo,
929
+ currentOrGroupId: orGroupId,
930
+ };
931
+ extractWithChainTracking(unwrapped.left, leftChainInfo, false);
932
+ // Process right side with same OR group
933
+ // Note: we use leftChainInfo's currentPosition which may have been updated
934
+ const rightChainInfo = {
935
+ ...leftChainInfo,
936
+ currentPosition: chainInfo.currentPosition,
937
+ };
938
+ extractWithChainTracking(unwrapped.right, rightChainInfo, false);
939
+ }
940
+ else {
941
+ // Not inside a chain - OR breaks into independent conditional checks
942
+ extractWithChainTracking(unwrapped.left, null, false);
943
+ extractWithChainTracking(unwrapped.right, null, false);
944
+ }
110
945
  return;
111
946
  }
112
- // Both sides are variables - record both as comparisons without specific values
113
- if (leftPath) {
114
- context.addConditionalUsage({
115
- path: leftPath.toLeftHandSideString(),
116
- conditionType: 'comparison',
117
- location,
118
- });
947
+ // Handle comparison operators (===, !==, <, >, <=, >=)
948
+ // Example: `if (status === 'active')` - status is compared against 'active'
949
+ if (ts.isBinaryExpression(unwrapped) &&
950
+ isComparisonOperator(unwrapped.operatorToken.kind)) {
951
+ // Try to extract the variable and the compared value
952
+ const leftPath = StructuredPath.fromNode(unwrapped.left, context.sourceFile);
953
+ const rightPath = StructuredPath.fromNode(unwrapped.right, context.sourceFile);
954
+ // Determine the compared value for computing requiredValue
955
+ const getRequiredValue = (literalValue, isNegatedComparison) => {
956
+ if (literalValue === undefined)
957
+ return undefined;
958
+ // For !== comparisons, the condition is true when NOT equal to the value
959
+ // For === comparisons, the condition is true when equal to the value
960
+ const isNotEqual = unwrapped.operatorToken.kind ===
961
+ ts.SyntaxKind.ExclamationEqualsEqualsToken ||
962
+ unwrapped.operatorToken.kind === ts.SyntaxKind.ExclamationEqualsToken;
963
+ if (isNotEqual) {
964
+ // !== 'value' means requiredValue is NOT 'value', but we express this as "not 'value'"
965
+ return `not ${literalValue}`;
966
+ }
967
+ return literalValue;
968
+ };
969
+ // Helper to add a condition
970
+ const addCondition = (path, conditionType, comparedValues, requiredValue, sourceExpr) => {
971
+ const usage = {
972
+ path,
973
+ conditionType,
974
+ comparedValues,
975
+ location,
976
+ sourceLocation: getSourceLocation(unwrapped, context.sourceFile),
977
+ isNegated,
978
+ controlsJsxRendering,
979
+ };
980
+ // Check for inline array-derived patterns (.length) on the source expression
981
+ if (sourceExpr) {
982
+ const arrayDerived = detectArrayDerivedPattern(sourceExpr);
983
+ if (arrayDerived) {
984
+ usage.derivedFrom = {
985
+ operation: arrayDerived.operation,
986
+ sourcePath: arrayDerived.sourcePath,
987
+ };
988
+ }
989
+ }
990
+ // Add chain info if part of a compound conditional
991
+ if (chainInfo) {
992
+ usage.chainId = chainInfo.chainId;
993
+ usage.chainPosition = chainInfo.currentPosition;
994
+ usage.chainLength = chainInfo.chainLength;
995
+ usage.chainExpression = chainInfo.chainExpression;
996
+ chainInfo.currentPosition++;
997
+ // Add to compound conditional conditions
998
+ chainInfo.compound.conditions.push({
999
+ path,
1000
+ conditionType,
1001
+ comparedValues,
1002
+ isNegated,
1003
+ requiredValue,
1004
+ ...(chainInfo.currentOrGroupId && {
1005
+ orGroupId: chainInfo.currentOrGroupId,
1006
+ }),
1007
+ });
1008
+ }
1009
+ context.addConditionalUsage(usage);
1010
+ };
1011
+ // Check if left is a variable and right is a literal
1012
+ if (leftPath && isLiteralExpression(unwrapped.right)) {
1013
+ const literalValue = getLiteralValue(unwrapped.right, context);
1014
+ addCondition(leftPath.toLeftHandSideString(), 'comparison', literalValue !== undefined ? [literalValue] : undefined, getRequiredValue(literalValue, isNegated), unwrapped.left);
1015
+ return;
1016
+ }
1017
+ // Check if right is a variable and left is a literal
1018
+ if (rightPath && isLiteralExpression(unwrapped.left)) {
1019
+ const literalValue = getLiteralValue(unwrapped.left, context);
1020
+ addCondition(rightPath.toLeftHandSideString(), 'comparison', literalValue !== undefined ? [literalValue] : undefined, getRequiredValue(literalValue, isNegated), unwrapped.right);
1021
+ return;
1022
+ }
1023
+ // Both sides are variables - record both as comparisons without specific values
1024
+ if (leftPath) {
1025
+ addCondition(leftPath.toLeftHandSideString(), 'comparison', undefined, undefined, unwrapped.left);
1026
+ }
1027
+ if (rightPath) {
1028
+ addCondition(rightPath.toLeftHandSideString(), 'comparison', undefined, undefined, unwrapped.right);
1029
+ }
1030
+ return;
1031
+ }
1032
+ // Handle prefix unary NOT expression: !variable
1033
+ // Example: `if (!isVisible)` - isVisible is a truthiness check (negated)
1034
+ if (ts.isPrefixUnaryExpression(unwrapped) &&
1035
+ unwrapped.operator === ts.SyntaxKind.ExclamationToken) {
1036
+ extractWithChainTracking(unwrapped.operand, chainInfo, !isNegated);
1037
+ return;
119
1038
  }
120
- if (rightPath) {
121
- context.addConditionalUsage({
122
- path: rightPath.toLeftHandSideString(),
123
- conditionType: 'comparison',
1039
+ // Handle simple identifiers or property accesses (truthiness checks)
1040
+ // Example: `if (x)` or `x && <JSX />` - x is checked for truthiness
1041
+ const path = StructuredPath.fromNode(unwrapped, context.sourceFile);
1042
+ if (path && !path.isLiteral()) {
1043
+ const pathStr = path.toLeftHandSideString();
1044
+ const usage = {
1045
+ path: pathStr,
1046
+ conditionType: 'truthiness',
124
1047
  location,
125
- });
1048
+ sourceLocation: getSourceLocation(unwrapped, context.sourceFile),
1049
+ isNegated,
1050
+ controlsJsxRendering,
1051
+ };
1052
+ // Check for inline array-derived patterns (.some(), .every(), .includes(), .length)
1053
+ // This populates derivedFrom so downstream code can resolve to the base array path
1054
+ const arrayDerived = detectArrayDerivedPattern(unwrapped);
1055
+ if (arrayDerived) {
1056
+ usage.derivedFrom = {
1057
+ operation: arrayDerived.operation,
1058
+ sourcePath: arrayDerived.sourcePath,
1059
+ };
1060
+ }
1061
+ // Add chain info if part of a compound conditional
1062
+ if (chainInfo) {
1063
+ usage.chainId = chainInfo.chainId;
1064
+ usage.chainPosition = chainInfo.currentPosition;
1065
+ usage.chainLength = chainInfo.chainLength;
1066
+ usage.chainExpression = chainInfo.chainExpression;
1067
+ chainInfo.currentPosition++;
1068
+ // Add to compound conditional conditions
1069
+ // For truthiness, requiredValue is true if not negated, false if negated
1070
+ chainInfo.compound.conditions.push({
1071
+ path: pathStr,
1072
+ conditionType: 'truthiness',
1073
+ isNegated,
1074
+ requiredValue: !isNegated,
1075
+ ...(chainInfo.currentOrGroupId && {
1076
+ orGroupId: chainInfo.currentOrGroupId,
1077
+ }),
1078
+ });
1079
+ }
1080
+ context.addConditionalUsage(usage);
126
1081
  }
127
- return;
128
- }
129
- // Handle prefix unary NOT expression: !variable
130
- // Example: `if (!isVisible)` - isVisible is a truthiness check
131
- if (ts.isPrefixUnaryExpression(unwrapped) &&
132
- unwrapped.operator === ts.SyntaxKind.ExclamationToken) {
133
- extractConditionalUsage(unwrapped.operand, context, location);
134
- return;
135
- }
136
- // Handle simple identifiers or property accesses (truthiness checks)
137
- // Example: `if (x)` or `x && <JSX />` - x is checked for truthiness
138
- const path = StructuredPath.fromNode(unwrapped, context.sourceFile);
139
- if (path && !path.isLiteral()) {
140
- context.addConditionalUsage({
141
- path: path.toLeftHandSideString(),
142
- conditionType: 'truthiness',
143
- location,
144
- });
145
1082
  }
1083
+ // Start extraction with no chain info
1084
+ extractWithChainTracking(condition, null, false);
146
1085
  }
147
1086
  /**
148
1087
  * Helper to check if an expression is a literal value
@@ -220,7 +1159,24 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
220
1159
  unwrappedNode.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken) {
221
1160
  markConditionVariablesAsNullable(unwrappedNode, context);
222
1161
  // Extract conditional usages for key attribute detection
223
- extractConditionalUsage(unwrappedNode, context, 'logical-and');
1162
+ // Only call from the OUTERMOST && expression to avoid duplicates
1163
+ // Check if parent is also a && (meaning we're nested)
1164
+ const parent = unwrappedNode.parent;
1165
+ const parentIsAndChain = parent &&
1166
+ ts.isBinaryExpression(parent) &&
1167
+ parent.operatorToken.kind === ts.SyntaxKind.AmpersandAmpersandToken;
1168
+ if (!parentIsAndChain) {
1169
+ extractConditionalUsage(unwrappedNode, context, 'logical-and');
1170
+ }
1171
+ }
1172
+ // CRITICAL: Extract conditionals from JSX BEFORE checking child boundaries
1173
+ // JSX elements are NOT scopes - their expressions use variables from the parent scope.
1174
+ // Even if the JSX element is within a child boundary (e.g., because it contains callbacks),
1175
+ // we must still extract conditionals from JSX expression children like {x && <div>...</div>}
1176
+ if (ts.isJsxElement(unwrappedNode) ||
1177
+ ts.isJsxSelfClosingElement(unwrappedNode) ||
1178
+ ts.isJsxFragment(unwrappedNode)) {
1179
+ extractConditionalsFromJsx(unwrappedNode, context);
224
1180
  }
225
1181
  // If the node falls within an excluded child scope, stop processing it.
226
1182
  if (context.isChildBoundary(node)) {
@@ -241,6 +1197,41 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
241
1197
  if (targetPath) {
242
1198
  context.addEquivalence(targetPath, nodePath);
243
1199
  context.addType(targetPath, inferredNodeType);
1200
+ // Propagate sub-properties from the identifier to the targetPath
1201
+ // This handles cases like: dataItem={{ structure: completeDataStructure }}
1202
+ // where completeDataStructure was defined as { 'Function Arguments': dataStructure.arguments }
1203
+ // We need to propagate completeDataStructure['Function Arguments'] to
1204
+ // ChildComponent().signature[0].dataItem.structure['Function Arguments']
1205
+ const nodePathStr = nodePath.toString();
1206
+ const equivalentVariables = context.getEquivalentVariables();
1207
+ const structure = context.getStructure();
1208
+ // Propagate existing equivalencies for sub-properties
1209
+ for (const [key, rawValue] of Object.entries(equivalentVariables)) {
1210
+ // Check if this equivalency is for a sub-property of the identifier
1211
+ // e.g., completeDataStructure['Function Arguments'] or completeDataStructure.foo
1212
+ if (key.startsWith(nodePathStr + '.') ||
1213
+ key.startsWith(nodePathStr + '[')) {
1214
+ const subPath = key.substring(nodePathStr.length);
1215
+ const newTargetPath = StructuredPath.fromBase(targetPath.toString() + subPath);
1216
+ // Handle both string and string[] values
1217
+ const values = Array.isArray(rawValue) ? rawValue : [rawValue];
1218
+ for (const value of values) {
1219
+ if (typeof value === 'string') {
1220
+ const valuePath = StructuredPath.fromBase(value);
1221
+ context.addEquivalence(newTargetPath, valuePath);
1222
+ }
1223
+ }
1224
+ }
1225
+ }
1226
+ // Propagate existing structure entries for sub-properties
1227
+ for (const [key, value] of Object.entries(structure)) {
1228
+ if (key.startsWith(nodePathStr + '.') ||
1229
+ key.startsWith(nodePathStr + '[')) {
1230
+ const subPath = key.substring(nodePathStr.length);
1231
+ const newTargetPath = StructuredPath.fromBase(targetPath.toString() + subPath);
1232
+ context.addType(newTargetPath, value);
1233
+ }
1234
+ }
244
1235
  }
245
1236
  context.addType(nodePath, inferredNodeType);
246
1237
  return true;
@@ -323,7 +1314,8 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
323
1314
  const propertyPath = objectPath.withProperty(unwrappedNode.name.text);
324
1315
  // Check if this is an environment variable access
325
1316
  const fullText = unwrappedNode.getText(context.sourceFile);
326
- if (fullText.includes('.env.') // simple heuristic for env var access but not great
1317
+ if (fullText.includes('.env.') || // process.env.X, window.env.X
1318
+ isEnvStoreAccess(fullText) // env.X where env is likely an env config object
327
1319
  ) {
328
1320
  context.addEnvironmentVariable(fullText);
329
1321
  }
@@ -542,8 +1534,18 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
542
1534
  else {
543
1535
  resultType = rightType || 'unknown';
544
1536
  }
1537
+ // For || and ??, create an equivalence to the left side
1538
+ // This ensures the equivalency chain is preserved through fallback expressions
1539
+ // e.g., `const tab = segments[0] || 'default'` should trace tab back to segments[0]
545
1540
  if (operatorKind === ts.SyntaxKind.QuestionQuestionToken) {
546
1541
  // specifically for ?? we create an equivalence to the left side
1542
+ // IMPORTANT: Also process the left side recursively to apply method semantics
1543
+ // (e.g., for `const segments = splat?.split('/') ?? []`, we need split semantics)
1544
+ processExpression({
1545
+ node: unwrappedNode.left,
1546
+ context,
1547
+ // Don't pass targetPath here - we'll establish equivalence separately below
1548
+ });
547
1549
  if (targetPath) {
548
1550
  resultPath = StructuredPath.fromNode(unwrappedNode.left, context.sourceFile);
549
1551
  }
@@ -553,6 +1555,49 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
553
1555
  resultPath = StructuredPath.fromNode(unwrappedNode.left, context.sourceFile);
554
1556
  }
555
1557
  }
1558
+ else if (operatorKind === ts.SyntaxKind.BarBarToken) {
1559
+ // For ||, create equivalences to BOTH sides
1560
+ // This enables data flow tracing through fallback expressions
1561
+ // e.g., `const item = items.find(...) || null` should trace to both:
1562
+ // - items[] (from the find result)
1563
+ // - null (from the fallback)
1564
+ if (targetPath) {
1565
+ // Get paths for both sides
1566
+ const leftPath = StructuredPath.fromNode(unwrappedNode.left, context.sourceFile);
1567
+ const rightPath = StructuredPath.fromNode(unwrappedNode.right, context.sourceFile);
1568
+ // Collect all valid paths
1569
+ const allPaths = [];
1570
+ if (leftPath)
1571
+ allPaths.push(leftPath);
1572
+ if (rightPath)
1573
+ allPaths.push(rightPath);
1574
+ // Add multiple equivalencies to track both sources
1575
+ if (allPaths.length > 0) {
1576
+ context.addMultipleEquivalencies(targetPath, allPaths);
1577
+ }
1578
+ // Process both sides to capture their internal structures
1579
+ processExpression({
1580
+ node: unwrappedNode.left,
1581
+ context,
1582
+ });
1583
+ processExpression({
1584
+ node: unwrappedNode.right,
1585
+ context,
1586
+ });
1587
+ // Register the type for the target path
1588
+ const leftType = context.inferTypeFromNode(unwrappedNode.left);
1589
+ const rightType = context.inferTypeFromNode(unwrappedNode.right);
1590
+ const orResultType = isDefinedType(leftType)
1591
+ ? leftType
1592
+ : rightType || 'unknown';
1593
+ context.addType(targetPath, orResultType);
1594
+ // Return early - we've already handled equivalencies with addMultipleEquivalencies
1595
+ // Don't fall through to the generic addEquivalence call below
1596
+ return true;
1597
+ }
1598
+ // Note: When there's no targetPath, we don't recursively process
1599
+ // because || is often used in boolean contexts where the full expression matters
1600
+ }
556
1601
  }
557
1602
  else if (operatorKind === ts.SyntaxKind.InstanceOfKeyword) {
558
1603
  resultType = 'boolean';
@@ -591,9 +1636,10 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
591
1636
  context.markUnsupported(unwrappedNode.expression, `processExpression: Couldn't get path for called expression: ${ts.SyntaxKind[unwrappedNode.expression.kind]}`, false);
592
1637
  return false;
593
1638
  }
594
- // Construct empty arguments list just to get the call path
595
- // We'll process each argument with its parameter path as targetPath
596
- const callPath = StructuredPath.fromNode(unwrappedNode, context.sourceFile);
1639
+ // Build call path using original source text for consistent schema paths.
1640
+ // IMPORTANT: Never use cyScope names in call paths - they are internal identifiers
1641
+ // that should not appear in schema paths or call signatures.
1642
+ const callPath = buildCallPathFromSource(unwrappedNode, context);
597
1643
  // 2. Process all arguments recursively WITH targetPath for proper equivalence
598
1644
  for (let i = 0; i < unwrappedNode.arguments.length; i++) {
599
1645
  const arg = unwrappedNode.arguments[i];
@@ -627,12 +1673,45 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
627
1673
  const semantics = semanticsList[0];
628
1674
  // Get the source expression path (e.g., the object for obj.method())
629
1675
  const sourceExpr = unwrappedNode.expression.expression;
630
- const sourcePath = StructuredPath.fromNode(sourceExpr, context.sourceFile);
631
- if (sourcePath) {
632
- // Apply method semantics
633
- semantics.addEquivalences(callPath, sourcePath, context);
634
- returnType = semantics.getReturnType();
635
- handledBySemantics = true;
1676
+ const unwrappedSourceExpr = unwrapExpression(sourceExpr);
1677
+ // When the source is a ternary expression like (cond ? arr : arr.slice()),
1678
+ // apply method semantics to BOTH branches directly. The ternary itself isn't
1679
+ // a variable - it's just a choice between two paths that both flow to the result.
1680
+ if (ts.isConditionalExpression(unwrappedSourceExpr)) {
1681
+ const branches = [
1682
+ unwrappedSourceExpr.whenTrue,
1683
+ unwrappedSourceExpr.whenFalse,
1684
+ ];
1685
+ for (const branch of branches) {
1686
+ const branchPath = StructuredPath.fromNode(branch, context.sourceFile);
1687
+ if (branchPath) {
1688
+ const isArraySemantics = semantics instanceof ArrayPushSemantics;
1689
+ const shouldApply = !isArraySemantics ||
1690
+ isLikelyArrayType(branch, context.typeChecker);
1691
+ if (shouldApply) {
1692
+ semantics.addEquivalences(callPath, branchPath, context);
1693
+ returnType = semantics.getReturnType();
1694
+ handledBySemantics = true;
1695
+ }
1696
+ }
1697
+ }
1698
+ }
1699
+ else {
1700
+ // Regular (non-ternary) source expression
1701
+ const sourcePath = StructuredPath.fromNode(sourceExpr, context.sourceFile);
1702
+ if (sourcePath) {
1703
+ // For array-specific semantics (like push), verify the source is actually an array
1704
+ // This prevents router.push() from being mistakenly treated as Array.push()
1705
+ const isArraySemantics = semantics instanceof ArrayPushSemantics;
1706
+ const shouldApply = !isArraySemantics ||
1707
+ isLikelyArrayType(sourceExpr, context.typeChecker);
1708
+ if (shouldApply) {
1709
+ // Apply method semantics
1710
+ semantics.addEquivalences(callPath, sourcePath, context);
1711
+ returnType = semantics.getReturnType();
1712
+ handledBySemantics = true;
1713
+ }
1714
+ }
636
1715
  }
637
1716
  }
638
1717
  }
@@ -647,10 +1726,16 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
647
1726
  const sourceExpr = unwrappedNode.expression.expression;
648
1727
  const sourcePath = StructuredPath.fromNode(sourceExpr, context.sourceFile);
649
1728
  if (sourcePath) {
650
- // Apply method semantics
651
- semantics.addEquivalences(callPath, sourcePath, context);
652
- returnType = semantics.getReturnType();
653
- handledBySemantics = true;
1729
+ // For array-specific semantics (like push), verify the source is actually an array
1730
+ const isArraySemantics = semantics instanceof ArrayPushSemantics;
1731
+ const shouldApply = !isArraySemantics ||
1732
+ isLikelyArrayType(sourceExpr, context.typeChecker);
1733
+ if (shouldApply) {
1734
+ // Apply method semantics
1735
+ semantics.addEquivalences(callPath, sourcePath, context);
1736
+ returnType = semantics.getReturnType();
1737
+ handledBySemantics = true;
1738
+ }
654
1739
  }
655
1740
  }
656
1741
  }
@@ -710,6 +1795,12 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
710
1795
  }
711
1796
  // Create a path for this property within the base
712
1797
  const propPath = targetPath.withProperty(propName);
1798
+ // Handle child boundaries (callback functions) in object properties
1799
+ // This establishes equivalency between the property path and the child scope
1800
+ // e.g., columns[0].renderCell → cyScope1()
1801
+ if (context.isChildBoundary(property.initializer)) {
1802
+ context.addChildBoundaryEquivalence(propPath, property.initializer);
1803
+ }
713
1804
  // Process the property value with propPath as targetPath
714
1805
  // This allows nested object literals to work correctly
715
1806
  processExpression({
@@ -732,27 +1823,76 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
732
1823
  }
733
1824
  else if (ts.isSpreadAssignment(property)) {
734
1825
  // Handle spread: { ...obj }
735
- // Process the spread expression first (without targetPath for now)
736
- processExpression({ node: property.expression, context });
737
1826
  // Create a path for this spread source
738
1827
  let spreadSourcePath = null;
739
1828
  // Handle simple identifier spread: { ...obj }
740
1829
  if (ts.isIdentifier(property.expression)) {
1830
+ // Process the spread expression first
1831
+ processExpression({ node: property.expression, context });
741
1832
  spreadSourcePath = StructuredPath.fromBase(property.expression.text);
742
1833
  // Establish equivalence between the target and the spread source
743
1834
  context.addEquivalence(targetPath, spreadSourcePath);
744
- // and we kow obj is an object
1835
+ // and we know obj is an object
745
1836
  context.addType(spreadSourcePath, 'object');
746
1837
  }
747
1838
  // Handle property access spread: { ...obj.prop }
748
1839
  else if (ts.isPropertyAccessExpression(property.expression)) {
1840
+ // Process the spread expression first
1841
+ processExpression({ node: property.expression, context });
749
1842
  spreadSourcePath = StructuredPath.fromNode(property.expression, context.sourceFile);
750
1843
  if (spreadSourcePath) {
751
1844
  context.addEquivalence(targetPath, spreadSourcePath);
752
1845
  }
753
1846
  }
1847
+ // Handle object literal spread: { ...{ key: value } }
1848
+ // This propagates sub-properties from the spread object to the target
1849
+ else if (ts.isObjectLiteralExpression(property.expression)) {
1850
+ // Recursively process the spread object literal WITH targetPath
1851
+ // This ensures sub-properties like { args: x } become targetPath.args = x
1852
+ processExpression({
1853
+ node: property.expression,
1854
+ context,
1855
+ targetPath,
1856
+ });
1857
+ }
1858
+ // Handle conditional spread: { ...(x ? {...} : {}) }
1859
+ else if (ts.isParenthesizedExpression(property.expression)) {
1860
+ // Unwrap parentheses and process
1861
+ const unwrapped = property.expression.expression;
1862
+ // Handle conditional expression inside parens: (x ? {...} : {})
1863
+ if (ts.isConditionalExpression(unwrapped)) {
1864
+ // Process both branches - whenTrue and whenFalse
1865
+ // For tracing, we care about non-empty branches
1866
+ if (ts.isObjectLiteralExpression(unwrapped.whenTrue)) {
1867
+ processExpression({
1868
+ node: unwrapped.whenTrue,
1869
+ context,
1870
+ targetPath,
1871
+ });
1872
+ }
1873
+ else {
1874
+ processExpression({ node: unwrapped.whenTrue, context });
1875
+ }
1876
+ if (ts.isObjectLiteralExpression(unwrapped.whenFalse)) {
1877
+ processExpression({
1878
+ node: unwrapped.whenFalse,
1879
+ context,
1880
+ targetPath,
1881
+ });
1882
+ }
1883
+ else {
1884
+ processExpression({ node: unwrapped.whenFalse, context });
1885
+ }
1886
+ }
1887
+ else {
1888
+ // Other parenthesized expression - just process normally
1889
+ processExpression({ node: property.expression, context });
1890
+ }
1891
+ }
754
1892
  // Handle other expression types
755
1893
  else {
1894
+ // Process the spread expression
1895
+ processExpression({ node: property.expression, context });
756
1896
  // For complex expressions, use their source representation
757
1897
  spreadSourcePath = nodeToSource(property.expression, context.sourceFile);
758
1898
  if (spreadSourcePath) {
@@ -895,14 +2035,24 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
895
2035
  markConditionVariablesAsNullable(unwrappedNode.condition, context);
896
2036
  // Extract conditional usages for key attribute detection
897
2037
  extractConditionalUsage(unwrappedNode.condition, context, 'ternary');
2038
+ // Extract conditional effects (setter calls in ternary branches)
2039
+ const knownSetters = findUseStateSetters(context.sourceFile);
2040
+ const effects = extractConditionalEffectsFromTernary(unwrappedNode, context, knownSetters);
2041
+ for (const effect of effects) {
2042
+ context.addConditionalEffect(effect);
2043
+ }
898
2044
  // Process all parts recursively
899
2045
  processExpression({
900
2046
  node: unwrappedNode.condition,
901
2047
  context,
902
2048
  typeHint: 'boolean | unknown',
903
2049
  }); //TODO: could we capture that this is evidence of a boolean type?
904
- processExpression({ node: unwrappedNode.whenTrue, context });
905
- processExpression({ node: unwrappedNode.whenFalse, context });
2050
+ // Process both branches WITH targetPath to establish equivalencies
2051
+ // This is critical for tracing nested properties through ternary assignments
2052
+ // e.g., const items = condition ? arr1 : arr2; items.map(i => i.prop)
2053
+ // We need items to be equivalent to both arr1 AND arr2 for proper tracing
2054
+ processExpression({ node: unwrappedNode.whenTrue, context, targetPath });
2055
+ processExpression({ node: unwrappedNode.whenFalse, context, targetPath });
906
2056
  // Create a path for the whole expression
907
2057
  const expressionSourcePath = nodeToSource(unwrappedNode, context.sourceFile);
908
2058
  // Infer type based on branches
@@ -917,10 +2067,22 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
917
2067
  }
918
2068
  // Register type for the expression
919
2069
  context.addType(expressionSourcePath, resultType);
920
- // If targetPath is provided, establish equivalence and register type
2070
+ // If targetPath is provided, only register type (don't overwrite branch equivalencies)
2071
+ // The equivalencies to individual branches (set above) are more useful for tracing
2072
+ // than an equivalency to the entire ternary expression text
921
2073
  if (targetPath) {
922
- context.addEquivalence(targetPath, expressionSourcePath);
923
- context.addType(targetPath, resultType);
2074
+ // NOTE: We intentionally do NOT add equivalence here.
2075
+ // The branch processing above already added equivalencies:
2076
+ // targetPath -> whenTrue branch
2077
+ // targetPath -> whenFalse branch
2078
+ // Adding an equivalence to expressionSourcePath would overwrite those
2079
+ // with a useless equivalence to the ternary text itself.
2080
+ //
2081
+ // Use updateSchemaType instead of addType because:
2082
+ // 1. Branch processing may have already set a type on targetPath
2083
+ // 2. addType has a guard that prevents overwriting specific types with 'unknown'
2084
+ // 3. updateSchemaType bypasses this guard, ensuring the ternary's computed type is used
2085
+ context.updateSchemaType(targetPath, resultType);
924
2086
  }
925
2087
  return true;
926
2088
  }
@@ -977,6 +2139,32 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
977
2139
  }
978
2140
  // Handle Arrow Functions: (p) => p.prop, (a, b) => { ... }
979
2141
  if (ts.isArrowFunction(unwrappedNode)) {
2142
+ // If this arrow function is a child boundary (e.g., a .map() callback),
2143
+ // don't process its parameters here - they will be processed when the
2144
+ // child scope is analyzed separately. This prevents parameter variables
2145
+ // from leaking into the parent scope's equivalencies.
2146
+ // Check if this arrow function is a child boundary (i.e., should be processed
2147
+ // as a separate child scope, not here in the parent scope).
2148
+ //
2149
+ // We use two checks because childBoundary positions can be unreliable:
2150
+ // 1. Position-based check (standard isChildBoundary)
2151
+ // 2. Text-based check: if the arrow function text doesn't appear in the
2152
+ // statement text, it was replaced with a cyScope placeholder
2153
+ const isChildBoundary = context.isChildBoundary(unwrappedNode);
2154
+ // Text-based child scope detection for when positions are unreliable
2155
+ const arrowFnText = unwrappedNode.getText(context.sourceFile);
2156
+ const firstLine = arrowFnText.split('\n')[0].trim();
2157
+ const searchText = firstLine.substring(0, Math.min(20, firstLine.length));
2158
+ const isInStatementText = context.statementInfo.text.includes(searchText);
2159
+ const isChildScope = !isInStatementText && arrowFnText.length > 10;
2160
+ if (isChildBoundary || isChildScope) {
2161
+ // The method semantics (e.g., ArrayMapSemantics) have already established
2162
+ // the necessary equivalences between the child scope placeholder and array elements
2163
+ if (targetPath) {
2164
+ context.addType(targetPath, 'function');
2165
+ }
2166
+ return true;
2167
+ }
980
2168
  // Create a path for the function
981
2169
  const functionPath = StructuredPath.empty();
982
2170
  // Process parameters
@@ -1120,6 +2308,18 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
1120
2308
  }
1121
2309
  return true;
1122
2310
  }
2311
+ // Handle Void Expression: void x, void 0, void func()
2312
+ if (ts.isVoidExpression(unwrappedNode)) {
2313
+ // Process the inner expression for side effects
2314
+ processExpression({ node: unwrappedNode.expression, context });
2315
+ // void always returns undefined
2316
+ if (targetPath) {
2317
+ const voidPath = StructuredPath.createLiteralPath('undefined', 'undefined');
2318
+ context.addEquivalence(targetPath, voidPath);
2319
+ context.addType(targetPath, 'undefined');
2320
+ }
2321
+ return true;
2322
+ }
1123
2323
  // Handle Prefix Unary Expressions: ++x, --y, !z, -a
1124
2324
  if (ts.isPrefixUnaryExpression(unwrappedNode)) {
1125
2325
  // Process the operand
@@ -1270,8 +2470,9 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
1270
2470
  }
1271
2471
  }
1272
2472
  }
1273
- // Register component as 'function' type (not 'JSX')
1274
- context.addType(componentPath, 'function');
2473
+ // Register component as 'jsx-component' type to distinguish from regular function calls
2474
+ // This allows downstream code to identify JSX components and not treat them as method chains
2475
+ context.addType(componentPath, 'jsx-component');
1275
2476
  // If targetPath is provided (e.g., in variable assignment), establish equivalence to hardcoded "JSX"
1276
2477
  if (targetPath) {
1277
2478
  context.addEquivalence(targetPath, StructuredPath.literal('JSX'));
@@ -1405,6 +2606,24 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
1405
2606
  }
1406
2607
  return result;
1407
2608
  }
2609
+ // Handle yield expressions in generator functions
2610
+ if (ts.isYieldExpression(unwrappedNode)) {
2611
+ // yield returns whatever is yielded, or undefined if no expression
2612
+ if (unwrappedNode.expression) {
2613
+ // Process the yielded expression
2614
+ const result = processExpression({
2615
+ node: unwrappedNode.expression,
2616
+ context,
2617
+ targetPath,
2618
+ });
2619
+ return result;
2620
+ }
2621
+ // yield with no expression returns undefined
2622
+ if (targetPath) {
2623
+ context.addType(targetPath, 'undefined');
2624
+ }
2625
+ return true;
2626
+ }
1408
2627
  if (ts.isRegularExpressionLiteral(unwrappedNode)) {
1409
2628
  // Regular expressions are treated as string literals
1410
2629
  const regexPath = StructuredPath.createLiteralPath(unwrappedNode.getText(context.sourceFile), 'string');
@@ -1450,6 +2669,9 @@ function processJsxAttribute(attr, context, componentPath, targetPath) {
1450
2669
  if (ts.isJsxExpression(attr.initializer) && attr.initializer.expression) {
1451
2670
  const expression = attr.initializer.expression;
1452
2671
  if (context.isChildBoundary(expression)) {
2672
+ // Create equivalency between attribute path and child scope
2673
+ // e.g., Grid().signature[0].renderRow → cyScope1()
2674
+ context.addChildBoundaryEquivalence(attributePath, expression);
1453
2675
  return true;
1454
2676
  }
1455
2677
  // Process the expression with attributePath as targetPath