@codeyam/codeyam-cli 0.1.0-staging.bbe4da9 → 0.1.0-staging.c9dc00c

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 (2221) 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 +26 -22
  5. package/analyzer-template/packages/ai/index.ts +20 -5
  6. package/analyzer-template/packages/ai/package.json +4 -4
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +242 -14
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +239 -24
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +232 -23
  13. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +14 -1
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +48 -2
  17. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  18. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1576 -124
  19. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +322 -5
  20. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  21. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2463 -252
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +37 -7
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +21 -4
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +976 -0
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +249 -81
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +71 -2
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +165 -20
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +106 -8
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +441 -82
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  38. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.ts +33 -3
  39. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  40. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  41. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  42. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  43. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +80 -10
  44. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +90 -111
  45. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +70 -7
  46. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1394 -78
  47. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +216 -109
  48. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +578 -0
  49. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  50. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2267 -0
  51. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  52. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +1 -1
  53. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
  54. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
  55. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  56. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +135 -7
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +108 -27
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +33 -90
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +90 -6
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -47
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
  66. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  67. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  68. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  69. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  70. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +131 -3
  71. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
  72. package/analyzer-template/packages/analyze/index.ts +2 -0
  73. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +191 -54
  74. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  75. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  76. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  77. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  78. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  79. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +44 -6
  81. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  83. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  84. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +739 -146
  85. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +55 -2
  86. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  87. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +4 -1
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.ts +1 -1
  89. package/analyzer-template/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.ts +1 -1
  90. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +13 -5
  91. package/analyzer-template/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.ts +1 -1
  92. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  93. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +32 -16
  94. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +12 -8
  95. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +12 -13
  96. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +1 -1
  97. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +5 -6
  98. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  99. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +99 -45
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -0
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +809 -122
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +612 -30
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  108. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -79
  109. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
  110. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1046 -116
  111. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  112. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  113. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +3 -2
  114. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  115. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  116. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  117. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  118. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  119. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  120. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  124. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  125. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  126. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  127. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  128. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  129. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
  130. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
  131. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
  132. package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
  133. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  134. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  135. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  136. package/analyzer-template/packages/aws/package.json +6 -6
  137. package/analyzer-template/packages/aws/s3/index.ts +1 -0
  138. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  139. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  140. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  141. package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
  142. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  143. package/analyzer-template/packages/database/client.ts +35 -0
  144. package/analyzer-template/packages/database/package.json +31 -0
  145. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +28 -0
  146. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +59 -0
  147. package/analyzer-template/packages/database/src/lib/branchToDb.ts +24 -0
  148. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +20 -0
  149. package/analyzer-template/packages/database/src/lib/commitToDb.ts +47 -0
  150. package/analyzer-template/packages/database/src/lib/fileToDb.ts +17 -0
  151. package/analyzer-template/packages/database/src/lib/kysely/db.ts +495 -0
  152. package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +108 -0
  153. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +67 -0
  154. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +88 -0
  155. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  156. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +275 -0
  157. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +223 -0
  158. package/analyzer-template/packages/database/src/lib/loadBranch.ts +137 -0
  159. package/analyzer-template/packages/database/src/lib/loadCommit.ts +173 -0
  160. package/analyzer-template/packages/database/src/lib/loadCommits.ts +279 -0
  161. package/analyzer-template/packages/database/src/lib/loadEntities.ts +117 -0
  162. package/analyzer-template/packages/database/src/lib/loadEntity.ts +105 -0
  163. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +178 -0
  164. package/analyzer-template/packages/database/src/lib/loadFile.ts +42 -0
  165. package/analyzer-template/packages/database/src/lib/loadFiles.ts +134 -0
  166. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +101 -0
  167. package/analyzer-template/packages/database/src/lib/loadStatement.ts +23 -0
  168. package/analyzer-template/packages/database/src/lib/projectToDb.ts +35 -0
  169. package/analyzer-template/packages/database/src/lib/saveEntityStatements.ts +27 -0
  170. package/analyzer-template/packages/database/src/lib/saveFiles.ts +43 -0
  171. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +35 -0
  172. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +180 -0
  173. package/analyzer-template/packages/database/src/lib/updateProjectMetadata.ts +95 -0
  174. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +18 -0
  175. package/analyzer-template/packages/generate/index.ts +3 -0
  176. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  177. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  178. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  179. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
  180. package/analyzer-template/packages/generate/src/lib/deepMerge.ts +29 -2
  181. package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
  182. package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
  183. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  184. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -0
  185. package/analyzer-template/packages/github/dist/database/index.js.map +1 -0
  186. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.d.ts.map +1 -0
  187. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +19 -0
  188. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -0
  189. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.d.ts.map +1 -0
  190. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +26 -0
  191. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -0
  192. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.d.ts.map +1 -0
  193. package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.js.map +1 -0
  194. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.d.ts.map +1 -0
  195. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +18 -0
  196. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -0
  197. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.d.ts.map +1 -0
  198. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +13 -0
  199. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -0
  200. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.d.ts.map +1 -0
  201. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +26 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.d.ts.map +1 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/createProject.d.ts.map +1 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/createProject.js.map +1 -0
  207. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.d.ts.map +1 -0
  208. package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.js.map +1 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.d.ts.map +1 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.js.map +1 -0
  211. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.d.ts.map +1 -0
  212. package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  213. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.d.ts.map +1 -0
  214. package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.js.map +1 -0
  215. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.d.ts.map +1 -0
  216. package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.js.map +1 -0
  217. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.d.ts.map +1 -0
  218. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.js.map +1 -0
  219. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.d.ts.map +1 -0
  220. package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.js.map +1 -0
  221. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.d.ts.map +1 -0
  222. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.js.map +1 -0
  223. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.d.ts.map +1 -0
  224. package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.js.map +1 -0
  225. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.d.ts.map +1 -0
  226. package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.js.map +1 -0
  227. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.d.ts.map +1 -0
  228. package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.js.map +1 -0
  229. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.d.ts.map +1 -0
  230. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.js.map +1 -0
  231. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.d.ts.map +1 -0
  232. package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.js.map +1 -0
  233. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.d.ts.map +1 -0
  234. package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.js.map +1 -0
  235. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.d.ts.map +1 -0
  236. package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.js.map +1 -0
  237. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.d.ts.map +1 -0
  238. package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.js.map +1 -0
  239. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.d.ts.map +1 -0
  240. package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.js.map +1 -0
  241. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.d.ts.map +1 -0
  242. package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.js.map +1 -0
  243. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.d.ts.map +1 -0
  244. package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.js.map +1 -0
  245. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.d.ts.map +1 -0
  246. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +14 -0
  247. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -0
  248. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.d.ts.map +1 -0
  249. package/analyzer-template/packages/github/dist/database/src/lib/generateSha.js.map +1 -0
  250. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.d.ts.map +1 -0
  251. package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.js.map +1 -0
  252. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.d.ts.map +1 -0
  253. package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  254. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +71 -0
  255. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -0
  256. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +373 -0
  257. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -0
  258. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.d.ts.map +1 -0
  259. package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  260. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +1 -0
  261. package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  262. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +89 -0
  263. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts.map +1 -0
  264. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.js.map +1 -0
  265. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.d.ts.map +1 -0
  266. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  267. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +97 -0
  268. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -0
  269. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  270. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +1 -0
  271. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  272. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +1 -0
  273. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  274. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.d.ts.map +1 -0
  275. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  276. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.d.ts.map +1 -0
  277. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  278. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +48 -0
  279. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -0
  280. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +47 -0
  281. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  282. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +60 -0
  283. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  284. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
  285. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  286. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +68 -0
  287. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -0
  288. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  289. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.d.ts.map +1 -0
  290. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  291. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.d.ts.map +1 -0
  292. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  293. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.d.ts.map +1 -0
  294. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  295. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +1 -0
  296. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  297. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.d.ts.map +1 -0
  298. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  299. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  300. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  301. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  302. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  303. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.d.ts.map +1 -0
  304. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  305. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +1 -0
  306. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  307. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +61 -0
  308. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -0
  309. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  310. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.d.ts.map +1 -0
  311. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  312. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.d.ts.map +1 -0
  313. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  314. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.d.ts.map +1 -0
  315. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  316. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.d.ts.map +1 -0
  317. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  318. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.d.ts.map +1 -0
  319. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  320. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.d.ts.map +1 -0
  321. package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  322. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +16 -0
  323. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -0
  324. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +174 -0
  325. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -0
  326. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -0
  327. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +138 -0
  328. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -0
  329. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.d.ts.map +1 -0
  330. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.js.map +1 -0
  331. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.d.ts.map +1 -0
  332. package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.js.map +1 -0
  333. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.d.ts.map +1 -0
  334. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +100 -0
  335. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -0
  336. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.d.ts.map +1 -0
  337. package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.js.map +1 -0
  338. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -0
  339. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +118 -0
  340. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -0
  341. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.d.ts.map +1 -0
  342. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.js.map +1 -0
  343. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.d.ts.map +1 -0
  344. package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.js.map +1 -0
  345. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +15 -0
  346. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -0
  347. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +209 -0
  348. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -0
  349. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +13 -0
  350. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -0
  351. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +82 -0
  352. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -0
  353. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -0
  354. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -0
  355. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -0
  356. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +123 -0
  357. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -0
  358. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.d.ts.map +1 -0
  359. package/analyzer-template/packages/github/dist/database/src/lib/loadFile.js.map +1 -0
  360. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.d.ts.map +1 -0
  361. package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.js.map +1 -0
  362. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +1 -0
  363. package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  364. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.d.ts.map +1 -0
  365. package/analyzer-template/packages/github/dist/database/src/lib/loadProject.js.map +1 -0
  366. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -0
  367. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
  368. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  369. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.d.ts.map +1 -0
  370. package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.js.map +1 -0
  371. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts +3 -0
  372. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts.map +1 -0
  373. package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.js.map +1 -0
  374. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.d.ts.map +1 -0
  375. package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.js.map +1 -0
  376. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.d.ts.map +1 -0
  377. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +18 -0
  378. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -0
  379. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.d.ts.map +1 -0
  380. package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.js.map +1 -0
  381. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.d.ts.map +1 -0
  382. package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.js.map +1 -0
  383. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.d.ts.map +1 -0
  384. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +33 -0
  385. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -0
  386. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.d.ts.map +1 -0
  387. package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.js.map +1 -0
  388. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.d.ts.map +1 -0
  389. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +18 -0
  390. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -0
  391. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts +4 -0
  392. package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts.map +1 -0
  393. package/analyzer-template/packages/github/dist/database/src/lib/supabase.js.map +1 -0
  394. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.d.ts.map +1 -0
  395. package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  396. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +13 -0
  397. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -0
  398. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +101 -0
  399. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -0
  400. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.d.ts.map +1 -0
  401. package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.js.map +1 -0
  402. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.d.ts.map +1 -0
  403. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  404. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -0
  405. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  406. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -0
  407. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  408. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.d.ts.map +1 -0
  409. package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.js.map +1 -0
  410. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.d.ts.map +1 -0
  411. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.js.map +1 -0
  412. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.d.ts.map +1 -0
  413. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  414. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.d.ts.map +1 -0
  415. package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  416. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.d.ts.map +1 -0
  417. package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.js.map +1 -0
  418. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.d.ts.map +1 -0
  419. package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.js.map +1 -0
  420. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.d.ts.map +1 -0
  421. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.js.map +1 -0
  422. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.d.ts.map +1 -0
  423. package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.js.map +1 -0
  424. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.d.ts.map +1 -0
  425. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.js.map +1 -0
  426. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.d.ts.map +1 -0
  427. package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.js.map +1 -0
  428. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.d.ts.map +1 -0
  429. package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.js.map +1 -0
  430. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.d.ts.map +1 -0
  431. package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.js.map +1 -0
  432. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.d.ts.map +1 -0
  433. package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.js.map +1 -0
  434. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.d.ts.map +1 -0
  435. package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.js.map +1 -0
  436. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  437. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  438. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  439. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  440. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  441. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  442. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  443. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  444. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  445. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  446. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  447. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  448. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  449. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  450. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  451. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  452. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  453. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  454. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
  455. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +30 -2
  456. package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
  457. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
  458. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
  459. package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
  460. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
  461. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
  462. package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  463. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  464. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  465. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  466. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  467. package/analyzer-template/packages/github/dist/github/src/lib/getCommitsFromGithub.js +1 -1
  468. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  469. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +11 -1
  470. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  471. package/analyzer-template/packages/github/dist/github/src/lib/syncBranches.js +1 -1
  472. package/analyzer-template/packages/github/dist/github/src/lib/syncHeadBranches.js +1 -1
  473. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  474. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +4 -1
  475. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  476. package/analyzer-template/packages/github/dist/github/src/lib/syncPullRequest.js +1 -1
  477. package/analyzer-template/packages/github/dist/github/src/lib/updateCommitBranchesInDb.js +1 -1
  478. package/analyzer-template/packages/github/dist/github/src/lib/updateFilesInDb.js +1 -1
  479. package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
  480. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  481. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  482. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +87 -9
  483. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  484. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  485. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  486. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +4 -0
  487. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  488. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  489. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  490. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
  491. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  492. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  493. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  494. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  495. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  496. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  497. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  498. package/analyzer-template/packages/github/dist/utils/index.d.ts +1 -0
  499. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  500. package/analyzer-template/packages/github/dist/utils/index.js +2 -0
  501. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  502. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  503. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  504. package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  505. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  506. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  507. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  508. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  509. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  510. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  511. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +13 -2
  512. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  513. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +16 -7
  514. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -1
  515. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +43 -13
  516. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -1
  517. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  518. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  519. package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  520. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  521. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  522. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +32 -3
  523. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  524. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  525. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  526. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  527. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  528. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  529. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  530. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  531. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  532. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  533. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  534. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js +3 -0
  535. package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js.map +1 -0
  536. package/analyzer-template/packages/github/package.json +1 -1
  537. package/analyzer-template/packages/github/src/lib/getCommitsFromGithub.ts +1 -1
  538. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +15 -1
  539. package/analyzer-template/packages/github/src/lib/syncBranches.ts +1 -1
  540. package/analyzer-template/packages/github/src/lib/syncHeadBranches.ts +1 -1
  541. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +3 -1
  542. package/analyzer-template/packages/github/src/lib/syncPullRequest.ts +1 -1
  543. package/analyzer-template/packages/github/src/lib/updateCommitBranchesInDb.ts +1 -1
  544. package/analyzer-template/packages/github/src/lib/updateFilesInDb.ts +1 -1
  545. package/analyzer-template/packages/process/index.ts +2 -0
  546. package/analyzer-template/packages/process/package.json +12 -0
  547. package/analyzer-template/packages/process/tsconfig.json +8 -0
  548. package/analyzer-template/packages/types/index.ts +5 -0
  549. package/analyzer-template/packages/types/src/types/Analysis.ts +104 -9
  550. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  551. package/analyzer-template/packages/types/src/types/Entity.ts +4 -0
  552. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
  553. package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
  554. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
  555. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  556. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  557. package/analyzer-template/packages/ui-components/package.json +4 -4
  558. package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
  559. package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
  560. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  561. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  562. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +87 -9
  563. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  564. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  565. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  566. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +4 -0
  567. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  568. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +7 -0
  569. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  570. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
  571. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  572. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +199 -3
  573. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  574. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  575. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  576. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  577. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  578. package/analyzer-template/packages/utils/dist/utils/index.d.ts +1 -0
  579. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  580. package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
  581. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  582. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
  583. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +26 -2
  584. package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
  585. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
  586. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
  587. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  588. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  589. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
  590. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  591. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +13 -2
  592. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  593. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +16 -7
  594. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -1
  595. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +43 -13
  596. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -1
  597. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
  598. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
  599. package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  600. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  601. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  602. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +32 -3
  603. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  604. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
  605. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
  606. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  607. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  608. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
  609. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
  610. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  611. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  612. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts +3 -0
  613. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
  614. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js +3 -0
  615. package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js.map +1 -0
  616. package/analyzer-template/packages/utils/index.ts +9 -0
  617. package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +28 -2
  618. package/analyzer-template/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.ts +20 -1
  619. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +16 -1
  620. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +43 -9
  621. package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
  622. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +51 -3
  623. package/analyzer-template/packages/utils/src/lib/startCommand/buildStartCommand.ts +63 -0
  624. package/analyzer-template/packages/utils/src/lib/startCommand/getWebappInfo.ts +108 -0
  625. package/analyzer-template/packages/utils/src/lib/startCommand/index.ts +10 -0
  626. package/analyzer-template/playwright/capture.ts +103 -93
  627. package/analyzer-template/playwright/captureFromUrl.ts +48 -17
  628. package/analyzer-template/playwright/captureStatic.ts +2 -2
  629. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  630. package/analyzer-template/playwright/takeElementScreenshot.ts +48 -11
  631. package/analyzer-template/playwright/takeScreenshot.ts +38 -10
  632. package/analyzer-template/playwright/updateBackgroundJob.ts +1 -1
  633. package/analyzer-template/playwright/waitForServer.ts +21 -6
  634. package/analyzer-template/project/LazyFileStore.ts +1 -1
  635. package/analyzer-template/project/TESTING.md +83 -0
  636. package/analyzer-template/project/analyzeBaselineCommit.ts +10 -1
  637. package/analyzer-template/project/analyzeBranchCommit.ts +5 -1
  638. package/analyzer-template/project/analyzeFileEntities.ts +5 -1
  639. package/analyzer-template/project/analyzeRegularCommit.ts +10 -1
  640. package/analyzer-template/project/captureLibraryFunctionDirect.ts +30 -27
  641. package/analyzer-template/project/constructMockCode.ts +1542 -112
  642. package/analyzer-template/project/controller/startController.ts +16 -1
  643. package/analyzer-template/project/createEntitiesAndSortFiles.ts +98 -7
  644. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  645. package/analyzer-template/project/getFilesWithEntitiesFromRepo.ts +1 -1
  646. package/analyzer-template/project/getScenarioUrl.ts +73 -5
  647. package/analyzer-template/project/loadReadyToBeCaptured.ts +198 -38
  648. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  649. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  650. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +15 -15
  651. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +97 -67
  652. package/analyzer-template/project/orchestrateCapture/SupabaseAnalysisLoader.ts +6 -6
  653. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  654. package/analyzer-template/project/orchestrateCapture.ts +89 -13
  655. package/analyzer-template/project/prepareRepo.ts +1 -1
  656. package/analyzer-template/project/reconcileMockDataKeys.ts +245 -2
  657. package/analyzer-template/project/runAnalysis.ts +12 -1
  658. package/analyzer-template/project/runMultiScenarioServer.ts +13 -12
  659. package/analyzer-template/project/runScenarioServer.ts +1 -1
  660. package/analyzer-template/project/serverOnlyModules.ts +413 -0
  661. package/analyzer-template/project/start.ts +93 -22
  662. package/analyzer-template/project/startScenarioCapture.ts +80 -42
  663. package/analyzer-template/project/updateCommitBackgroundJob.ts +1 -1
  664. package/analyzer-template/project/utils/errorHandling.ts +1 -1
  665. package/analyzer-template/project/writeMockDataTsx.ts +569 -74
  666. package/analyzer-template/project/writeScenario.ts +1 -1
  667. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  668. package/analyzer-template/project/writeScenarioComponents.ts +1715 -186
  669. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  670. package/analyzer-template/project/writeSimpleRoot.ts +125 -2
  671. package/analyzer-template/project/writeUniversalMocks.ts +32 -11
  672. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  673. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  674. package/analyzer-template/tsconfig.json +2 -1
  675. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  676. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  677. package/background/src/lib/local/execAsync.js +1 -1
  678. package/background/src/lib/local/execAsync.js.map +1 -1
  679. package/background/src/lib/virtualized/common/execAsync.js +2 -2
  680. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  681. package/background/src/lib/virtualized/project/LazyFileStore.js +1 -1
  682. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +8 -2
  683. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  684. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +3 -2
  685. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  686. package/background/src/lib/virtualized/project/analyzeFileEntities.js +3 -2
  687. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  688. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +8 -2
  689. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  690. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +4 -4
  691. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  692. package/background/src/lib/virtualized/project/constructMockCode.js +1340 -81
  693. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  694. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  695. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  696. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +83 -4
  697. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  698. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  699. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  700. package/background/src/lib/virtualized/project/getFilesWithEntitiesFromRepo.js +1 -1
  701. package/background/src/lib/virtualized/project/getScenarioUrl.js +38 -3
  702. package/background/src/lib/virtualized/project/getScenarioUrl.js.map +1 -1
  703. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +108 -6
  704. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  705. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  706. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  707. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  708. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  709. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +13 -7
  710. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  711. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -49
  712. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  713. package/background/src/lib/virtualized/project/orchestrateCapture.js +73 -14
  714. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  715. package/background/src/lib/virtualized/project/prepareRepo.js +1 -1
  716. package/background/src/lib/virtualized/project/prepareRepo.js.map +1 -1
  717. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +204 -2
  718. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  719. package/background/src/lib/virtualized/project/runAnalysis.js +10 -1
  720. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  721. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +13 -11
  722. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  723. package/background/src/lib/virtualized/project/serverOnlyModules.js +338 -0
  724. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
  725. package/background/src/lib/virtualized/project/start.js +80 -22
  726. package/background/src/lib/virtualized/project/start.js.map +1 -1
  727. package/background/src/lib/virtualized/project/startScenarioCapture.js +62 -32
  728. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  729. package/background/src/lib/virtualized/project/updateCommitBackgroundJob.js +1 -1
  730. package/background/src/lib/virtualized/project/utils/errorHandling.js +1 -1
  731. package/background/src/lib/virtualized/project/writeMockDataTsx.js +492 -62
  732. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  733. package/background/src/lib/virtualized/project/writeScenario.js +1 -1
  734. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  735. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  736. package/background/src/lib/virtualized/project/writeScenarioComponents.js +1279 -116
  737. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  738. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  739. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  740. package/background/src/lib/virtualized/project/writeSimpleRoot.js +113 -2
  741. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  742. package/background/src/lib/virtualized/project/writeUniversalMocks.js +27 -12
  743. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  744. package/codeyam-cli/scripts/apply-setup.js +181 -1
  745. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  746. package/codeyam-cli/scripts/extract-setup.js +1 -1
  747. package/codeyam-cli/scripts/populateEntityTimestamps.js +1 -1
  748. package/codeyam-cli/scripts/populateEntityTimestamps.js.map +1 -1
  749. package/codeyam-cli/src/cli.js +13 -1
  750. package/codeyam-cli/src/cli.js.map +1 -1
  751. package/codeyam-cli/src/commands/analyze.js +3 -1
  752. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  753. package/codeyam-cli/src/commands/baseline.js +176 -0
  754. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  755. package/codeyam-cli/src/commands/debug.js +55 -24
  756. package/codeyam-cli/src/commands/debug.js.map +1 -1
  757. package/codeyam-cli/src/commands/default.js +13 -18
  758. package/codeyam-cli/src/commands/default.js.map +1 -1
  759. package/codeyam-cli/src/commands/detect-universal-mocks.js +3 -1
  760. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +1 -1
  761. package/codeyam-cli/src/commands/entities.js +1 -1
  762. package/codeyam-cli/src/commands/generate-data-structure.js +17 -8
  763. package/codeyam-cli/src/commands/generate-data-structure.js.map +1 -1
  764. package/codeyam-cli/src/commands/init.js +44 -186
  765. package/codeyam-cli/src/commands/init.js.map +1 -1
  766. package/codeyam-cli/src/commands/memory.js +264 -0
  767. package/codeyam-cli/src/commands/memory.js.map +1 -0
  768. package/codeyam-cli/src/commands/recapture.js +228 -0
  769. package/codeyam-cli/src/commands/recapture.js.map +1 -0
  770. package/codeyam-cli/src/commands/report.js +72 -24
  771. package/codeyam-cli/src/commands/report.js.map +1 -1
  772. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  773. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  774. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  775. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  776. package/codeyam-cli/src/commands/start.js +8 -12
  777. package/codeyam-cli/src/commands/start.js.map +1 -1
  778. package/codeyam-cli/src/commands/status.js +23 -1
  779. package/codeyam-cli/src/commands/status.js.map +1 -1
  780. package/codeyam-cli/src/commands/suggest.js +1 -1
  781. package/codeyam-cli/src/commands/test-startup.js +3 -1
  782. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  783. package/codeyam-cli/src/commands/verify.js +2 -0
  784. package/codeyam-cli/src/commands/verify.js.map +1 -1
  785. package/codeyam-cli/src/commands/webapp-info.js +146 -0
  786. package/codeyam-cli/src/commands/webapp-info.js.map +1 -0
  787. package/codeyam-cli/src/commands/wipe.js +108 -0
  788. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  789. package/codeyam-cli/src/utils/__tests__/entityVersioning.test.js +2 -2
  790. package/codeyam-cli/src/utils/__tests__/fileWatcher.batch.test.js +2 -2
  791. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js +58 -30
  792. package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js.map +1 -1
  793. package/codeyam-cli/src/utils/__tests__/fileWatcher.optimization.test.js +2 -2
  794. package/codeyam-cli/src/utils/__tests__/fileWatcher.versioning.test.js +2 -2
  795. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  796. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  797. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +128 -82
  798. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  799. package/codeyam-cli/src/utils/analysisRunner.js +30 -16
  800. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  801. package/codeyam-cli/src/utils/analyzer.js +7 -0
  802. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  803. package/codeyam-cli/src/utils/backgroundServer.js +18 -4
  804. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  805. package/codeyam-cli/src/utils/changeDetection.js +1 -1
  806. package/codeyam-cli/src/utils/database.js +92 -6
  807. package/codeyam-cli/src/utils/database.js.map +1 -1
  808. package/codeyam-cli/src/utils/entityCache.js +1 -1
  809. package/codeyam-cli/src/utils/entityMetadata.js +1 -1
  810. package/codeyam-cli/src/utils/entityVersioning.js +1 -1
  811. package/codeyam-cli/src/utils/fileWatcher.js +2 -2
  812. package/codeyam-cli/src/utils/generateReport.js +253 -106
  813. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  814. package/codeyam-cli/src/utils/git.js +79 -0
  815. package/codeyam-cli/src/utils/git.js.map +1 -0
  816. package/codeyam-cli/src/utils/install-skills.js +77 -43
  817. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  818. package/codeyam-cli/src/utils/labsAutoCheck.js +48 -0
  819. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  820. package/codeyam-cli/src/utils/progress.js +7 -0
  821. package/codeyam-cli/src/utils/progress.js.map +1 -1
  822. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +3 -3
  823. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +2 -2
  824. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
  825. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  826. package/codeyam-cli/src/utils/queue/heartbeat.js +1 -1
  827. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  828. package/codeyam-cli/src/utils/queue/job.js +254 -21
  829. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  830. package/codeyam-cli/src/utils/queue/manager.js +103 -7
  831. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  832. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  833. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  834. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  835. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  836. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  837. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  838. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  839. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  840. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  841. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  842. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  843. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  844. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  845. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  846. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  847. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
  848. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  849. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +378 -0
  850. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  851. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
  852. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  853. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  854. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  855. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  856. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  857. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  858. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  859. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  860. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  861. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  862. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  863. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  864. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  865. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  866. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  867. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  868. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  869. package/codeyam-cli/src/utils/rules/index.js +6 -0
  870. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  871. package/codeyam-cli/src/utils/rules/parser.js +83 -0
  872. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  873. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  874. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  875. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  876. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  877. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  878. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  879. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  880. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +21 -42
  881. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  882. package/codeyam-cli/src/utils/syncUncommittedEntities.js +1 -1
  883. package/codeyam-cli/src/utils/syncUniversalMocks.js +1 -1
  884. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  885. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  886. package/codeyam-cli/src/utils/wipe.js +128 -0
  887. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  888. package/codeyam-cli/src/webserver/app/lib/database.js +119 -7
  889. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  890. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js +3 -1
  891. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  892. package/codeyam-cli/src/webserver/backgroundServer.js +36 -10
  893. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  894. package/codeyam-cli/src/webserver/bootstrap.js +49 -0
  895. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
  896. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CA3JxPb7.js +1 -0
  897. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-B86KKU7e.js +11 -0
  898. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-B5ctlSYt.js +1 -0
  899. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BqY8gDAW.js +41 -0
  900. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-ClaLpuOo.js +34 -0
  901. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-BDhPilK7.js +25 -0
  902. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-VeqEBv9v.js +3 -0
  903. package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-Bs7Nn1Jr.js +6 -0
  904. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-Bm3PmcCz.js +3 -0
  905. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-C6PKeMYR.js +11 -0
  906. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Gq3Ocjo6.js +1 -0
  907. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BNLaXBHR.js +10 -0
  908. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CiwXDxLh.js +1 -0
  909. package/codeyam-cli/src/webserver/build/client/assets/_index-B3TDXxnk.js +11 -0
  910. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BtBFH820.js +27 -0
  911. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-CN61MOMa.js +11 -0
  912. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  913. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  914. package/codeyam-cli/src/webserver/build/client/assets/api.labs-survey-l0sNRNKZ.js +1 -0
  915. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  916. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  917. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  918. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  919. package/codeyam-cli/src/webserver/build/client/assets/book-open-PttOB2SF.js +6 -0
  920. package/codeyam-cli/src/webserver/build/client/assets/chevron-down-TJp6ofnp.js +6 -0
  921. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-JE9ZIoBl.js +51 -0
  922. package/codeyam-cli/src/webserver/build/client/assets/circle-check-CXhHQYrI.js +6 -0
  923. package/codeyam-cli/src/webserver/build/client/assets/copy-6y9ALfGT.js +11 -0
  924. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-Ca9fAY46.js +21 -0
  925. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CCKUIm0S.svg +4 -0
  926. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  927. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +1 -0
  928. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-n38keI1k.js +23 -0
  929. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js +6 -0
  930. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DGgZjdFg.js +6 -0
  931. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-38yPijoD.js +5 -0
  932. package/codeyam-cli/src/webserver/build/client/assets/entry.client-BSHEfydn.js +29 -0
  933. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  934. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DCPhhSMo.js +1 -0
  935. package/codeyam-cli/src/webserver/build/client/assets/files-0N0YJQv7.js +1 -0
  936. package/codeyam-cli/src/webserver/build/client/assets/git-DXnyr8uP.js +15 -0
  937. package/codeyam-cli/src/webserver/build/client/assets/globals-EVn6Z9pz.css +1 -0
  938. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
  939. package/codeyam-cli/src/webserver/build/client/assets/index-CcsFv748.js +3 -0
  940. package/codeyam-cli/src/webserver/build/client/assets/index-ChN9-fAY.js +9 -0
  941. package/codeyam-cli/src/webserver/build/client/assets/labs-CmBYA0PH.js +1 -0
  942. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-CTqLEAGU.js +6 -0
  943. package/codeyam-cli/src/webserver/build/client/assets/manifest-aa4ff97b.js +1 -0
  944. package/codeyam-cli/src/webserver/build/client/assets/memory-BSlqS1QA.js +81 -0
  945. package/codeyam-cli/src/webserver/build/client/assets/pause-D6vreykR.js +11 -0
  946. package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
  947. package/codeyam-cli/src/webserver/build/client/assets/root-DVAbJY8B.js +62 -0
  948. package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
  949. package/codeyam-cli/src/webserver/build/client/assets/search-B8VUL8nl.js +6 -0
  950. package/codeyam-cli/src/webserver/build/client/assets/settings-BK-cnzp-.js +1 -0
  951. package/codeyam-cli/src/webserver/build/client/assets/simulations-CPoAg7Zo.js +1 -0
  952. package/codeyam-cli/src/webserver/build/client/assets/terminal-BrCP7uQo.js +11 -0
  953. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BZz2NjYa.js +6 -0
  954. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DNwUduNu.js +1 -0
  955. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-COky1GVF.js +2 -0
  956. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CpZgwliL.js +1 -0
  957. package/codeyam-cli/src/webserver/build/client/assets/useToast-Bv9JFvUO.js +1 -0
  958. package/codeyam-cli/src/webserver/build/server/assets/index-Cz2RkDCa.js +1 -0
  959. package/codeyam-cli/src/webserver/build/server/assets/server-build-CUVsWicu.js +260 -0
  960. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  961. package/codeyam-cli/src/webserver/build-info.json +5 -5
  962. package/codeyam-cli/src/webserver/devServer.js +1 -3
  963. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  964. package/codeyam-cli/src/webserver/server.js +35 -25
  965. package/codeyam-cli/src/webserver/server.js.map +1 -1
  966. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  967. package/codeyam-cli/templates/codeyam:debug.md +601 -0
  968. package/codeyam-cli/templates/codeyam:diagnose.md +481 -0
  969. package/codeyam-cli/templates/codeyam:memory.md +403 -0
  970. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  971. package/codeyam-cli/templates/codeyam:setup.md +600 -0
  972. package/codeyam-cli/templates/codeyam:sim.md +222 -0
  973. package/codeyam-cli/templates/codeyam:test.md +178 -0
  974. package/codeyam-cli/templates/codeyam:verify.md +179 -0
  975. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  976. package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
  977. package/codeyam-cli/templates/rules-instructions.md +136 -0
  978. package/package.json +22 -19
  979. package/packages/ai/index.js +8 -6
  980. package/packages/ai/index.js.map +1 -1
  981. package/packages/ai/src/lib/analyzeScope.js +184 -6
  982. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  983. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  984. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  985. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +179 -21
  986. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  987. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  988. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  989. package/packages/ai/src/lib/astScopes/methodSemantics.js +177 -23
  990. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  991. package/packages/ai/src/lib/astScopes/paths.js +11 -1
  992. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  993. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  994. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  995. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  996. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  997. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +31 -1
  998. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  999. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  1000. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  1001. package/packages/ai/src/lib/astScopes/processExpression.js +1206 -104
  1002. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  1003. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  1004. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  1005. package/packages/ai/src/lib/completionCall.js +178 -31
  1006. package/packages/ai/src/lib/completionCall.js.map +1 -1
  1007. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1931 -152
  1008. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  1009. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +27 -1
  1010. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  1011. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +19 -4
  1012. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  1013. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +661 -0
  1014. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
  1015. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +184 -58
  1016. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  1017. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  1018. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  1019. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  1020. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  1021. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
  1022. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  1023. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +143 -14
  1024. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  1025. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  1026. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  1027. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +96 -8
  1028. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  1029. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  1030. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  1031. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  1032. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  1033. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  1034. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  1035. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +371 -73
  1036. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  1037. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  1038. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  1039. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js +28 -3
  1040. package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js.map +1 -1
  1041. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  1042. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  1043. package/packages/ai/src/lib/deepEqual.js +32 -0
  1044. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  1045. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  1046. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  1047. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  1048. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  1049. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +68 -8
  1050. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  1051. package/packages/ai/src/lib/generateChangesEntityScenarios.js +82 -90
  1052. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  1053. package/packages/ai/src/lib/generateEntityDataStructure.js +56 -6
  1054. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  1055. package/packages/ai/src/lib/generateEntityScenarioData.js +1111 -73
  1056. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  1057. package/packages/ai/src/lib/generateEntityScenarios.js +193 -83
  1058. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  1059. package/packages/ai/src/lib/generateExecutionFlows.js +400 -0
  1060. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  1061. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  1062. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  1063. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1646 -0
  1064. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  1065. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  1066. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  1067. package/packages/ai/src/lib/generateStatementAnalysis.js +1 -1
  1068. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
  1069. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  1070. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
  1071. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  1072. package/packages/ai/src/lib/isolateScopes.js +270 -7
  1073. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  1074. package/packages/ai/src/lib/mergeStatements.js +104 -6
  1075. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  1076. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +82 -20
  1077. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  1078. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  1079. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  1080. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -58
  1081. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  1082. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  1083. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  1084. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +68 -6
  1085. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  1086. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -28
  1087. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  1088. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  1089. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  1090. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
  1091. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  1092. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  1093. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  1094. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  1095. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  1096. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  1097. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  1098. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  1099. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  1100. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
  1101. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  1102. package/packages/analyze/index.js +1 -0
  1103. package/packages/analyze/index.js.map +1 -1
  1104. package/packages/analyze/src/lib/FileAnalyzer.js +160 -37
  1105. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  1106. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  1107. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  1108. package/packages/analyze/src/lib/analysisContext.js +30 -5
  1109. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  1110. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  1111. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  1112. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  1113. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  1114. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  1115. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  1116. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  1117. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  1118. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +37 -6
  1119. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  1120. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  1121. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  1122. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  1123. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  1124. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  1125. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  1126. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +581 -100
  1127. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  1128. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +43 -2
  1129. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  1130. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  1131. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  1132. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -1
  1133. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  1134. package/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.js +1 -1
  1135. package/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.js +1 -1
  1136. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
  1137. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  1138. package/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.js +1 -1
  1139. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  1140. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  1141. package/packages/analyze/src/lib/files/analyzeChange.js +22 -12
  1142. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  1143. package/packages/analyze/src/lib/files/analyzeEntity.js +10 -9
  1144. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  1145. package/packages/analyze/src/lib/files/analyzeInitial.js +10 -11
  1146. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  1147. package/packages/analyze/src/lib/files/analyzeNextRoute.js +1 -1
  1148. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +4 -3
  1149. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  1150. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  1151. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  1152. package/packages/analyze/src/lib/files/getImportedExports.js +75 -32
  1153. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  1154. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  1155. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  1156. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -0
  1157. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
  1158. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  1159. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  1160. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +614 -93
  1161. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1162. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
  1163. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
  1164. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  1165. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1166. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +448 -29
  1167. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1168. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  1169. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1170. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -66
  1171. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1172. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
  1173. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1174. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +869 -103
  1175. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1176. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  1177. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1178. package/packages/analyze/src/lib/files/setImportedExports.js +3 -2
  1179. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1180. package/packages/analyze/src/lib/index.js +1 -0
  1181. package/packages/analyze/src/lib/index.js.map +1 -1
  1182. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1183. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1184. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  1185. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  1186. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  1187. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  1188. package/packages/database/index.js.map +1 -0
  1189. package/packages/database/src/lib/analysisBranchToDb.js +19 -0
  1190. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -0
  1191. package/packages/database/src/lib/analysisToDb.js +26 -0
  1192. package/packages/database/src/lib/analysisToDb.js.map +1 -0
  1193. package/packages/database/src/lib/backgroundJobToDb.js.map +1 -0
  1194. package/packages/database/src/lib/branchToDb.js +18 -0
  1195. package/packages/database/src/lib/branchToDb.js.map +1 -0
  1196. package/packages/database/src/lib/commitBranchToDb.js +13 -0
  1197. package/packages/database/src/lib/commitBranchToDb.js.map +1 -0
  1198. package/packages/database/src/lib/commitToDb.js +26 -0
  1199. package/packages/database/src/lib/commitToDb.js.map +1 -0
  1200. package/packages/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
  1201. package/packages/database/src/lib/createProject.js.map +1 -0
  1202. package/packages/database/src/lib/createRetryFetch.js.map +1 -0
  1203. package/packages/database/src/lib/dbToAnalysis.js.map +1 -0
  1204. package/packages/database/src/lib/dbToAnalysisBranch.js.map +1 -0
  1205. package/packages/database/src/lib/dbToBackgroundJob.js.map +1 -0
  1206. package/packages/database/src/lib/dbToBranch.js.map +1 -0
  1207. package/packages/database/src/lib/dbToCommit.js.map +1 -0
  1208. package/packages/database/src/lib/dbToCommitBranch.js.map +1 -0
  1209. package/packages/database/src/lib/dbToEntity.js.map +1 -0
  1210. package/packages/database/src/lib/dbToEntityBranch.js.map +1 -0
  1211. package/packages/database/src/lib/dbToFile.js.map +1 -0
  1212. package/packages/database/src/lib/dbToProject.js.map +1 -0
  1213. package/packages/database/src/lib/dbToScenario.js.map +1 -0
  1214. package/packages/database/src/lib/dbToScenarioComment.js.map +1 -0
  1215. package/packages/database/src/lib/dbToUserScenario.js.map +1 -0
  1216. package/packages/database/src/lib/deleteBranch.js.map +1 -0
  1217. package/packages/database/src/lib/deleteEntities.js.map +1 -0
  1218. package/packages/database/src/lib/deleteFile.js.map +1 -0
  1219. package/packages/database/src/lib/deleteScenarios.js.map +1 -0
  1220. package/packages/database/src/lib/entityToDb.js.map +1 -0
  1221. package/packages/database/src/lib/fileToDb.js +14 -0
  1222. package/packages/database/src/lib/fileToDb.js.map +1 -0
  1223. package/packages/database/src/lib/generateSha.js.map +1 -0
  1224. package/packages/database/src/lib/jsonUpdateUtils.js.map +1 -0
  1225. package/packages/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
  1226. package/packages/database/src/lib/kysely/db.js +373 -0
  1227. package/packages/database/src/lib/kysely/db.js.map +1 -0
  1228. package/packages/database/src/lib/kysely/schemaHelpers.js.map +1 -0
  1229. package/packages/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
  1230. package/packages/database/src/lib/kysely/tableRelations.js.map +1 -0
  1231. package/packages/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
  1232. package/packages/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
  1233. package/packages/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
  1234. package/packages/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
  1235. package/packages/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
  1236. package/packages/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
  1237. package/packages/database/src/lib/kysely/tables/commitsTable.js +47 -0
  1238. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
  1239. package/packages/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
  1240. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  1241. package/packages/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
  1242. package/packages/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
  1243. package/packages/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
  1244. package/packages/database/src/lib/kysely/tables/filesTable.js.map +1 -0
  1245. package/packages/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
  1246. package/packages/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
  1247. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1248. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1249. package/packages/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
  1250. package/packages/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
  1251. package/packages/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
  1252. package/packages/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
  1253. package/packages/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
  1254. package/packages/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
  1255. package/packages/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
  1256. package/packages/database/src/lib/kysely/tables/usersTable.js.map +1 -0
  1257. package/packages/database/src/lib/kysely/upsertHelpers.js.map +1 -0
  1258. package/packages/database/src/lib/loadAnalyses.js +174 -0
  1259. package/packages/database/src/lib/loadAnalyses.js.map +1 -0
  1260. package/packages/database/src/lib/loadAnalysis.js +138 -0
  1261. package/packages/database/src/lib/loadAnalysis.js.map +1 -0
  1262. package/packages/database/src/lib/loadAnalysisBranches.js.map +1 -0
  1263. package/packages/database/src/lib/loadBackgroundJob.js.map +1 -0
  1264. package/packages/database/src/lib/loadBranch.js +100 -0
  1265. package/packages/database/src/lib/loadBranch.js.map +1 -0
  1266. package/packages/database/src/lib/loadBranches.js.map +1 -0
  1267. package/packages/database/src/lib/loadCommit.js +118 -0
  1268. package/packages/database/src/lib/loadCommit.js.map +1 -0
  1269. package/packages/database/src/lib/loadCommitBranches.js.map +1 -0
  1270. package/packages/database/src/lib/loadCommitMetadata.js.map +1 -0
  1271. package/packages/database/src/lib/loadCommits.js +209 -0
  1272. package/packages/database/src/lib/loadCommits.js.map +1 -0
  1273. package/packages/database/src/lib/loadEntities.js +82 -0
  1274. package/packages/database/src/lib/loadEntities.js.map +1 -0
  1275. package/packages/database/src/lib/loadEntity.js.map +1 -0
  1276. package/packages/database/src/lib/loadEntityBranches.js +123 -0
  1277. package/packages/database/src/lib/loadEntityBranches.js.map +1 -0
  1278. package/packages/database/src/lib/loadFile.js.map +1 -0
  1279. package/packages/database/src/lib/loadFiles.js.map +1 -0
  1280. package/packages/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
  1281. package/packages/database/src/lib/loadProject.js.map +1 -0
  1282. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
  1283. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
  1284. package/packages/database/src/lib/loadScenario.js.map +1 -0
  1285. package/packages/database/src/lib/loadStatement.js.map +1 -0
  1286. package/packages/database/src/lib/nullsToUndefines.js.map +1 -0
  1287. package/packages/database/src/lib/projectToDb.js +18 -0
  1288. package/packages/database/src/lib/projectToDb.js.map +1 -0
  1289. package/packages/database/src/lib/saveBackgroundEvent.js.map +1 -0
  1290. package/packages/database/src/lib/saveEntityStatements.js.map +1 -0
  1291. package/packages/database/src/lib/saveFiles.js +33 -0
  1292. package/packages/database/src/lib/saveFiles.js.map +1 -0
  1293. package/packages/database/src/lib/saveStatement.js.map +1 -0
  1294. package/packages/database/src/lib/scenarioToDb.js +18 -0
  1295. package/packages/database/src/lib/scenarioToDb.js.map +1 -0
  1296. package/packages/database/src/lib/supabase.js.map +1 -0
  1297. package/packages/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
  1298. package/packages/database/src/lib/updateCommitMetadata.js +101 -0
  1299. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -0
  1300. package/packages/database/src/lib/updateEntityBranch.js.map +1 -0
  1301. package/packages/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
  1302. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
  1303. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
  1304. package/packages/database/src/lib/updateProjectMetadata.js.map +1 -0
  1305. package/packages/database/src/lib/upsertAnalyses.js.map +1 -0
  1306. package/packages/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
  1307. package/packages/database/src/lib/upsertAnalysisBranches.js.map +1 -0
  1308. package/packages/database/src/lib/upsertBackgroundJob.js.map +1 -0
  1309. package/packages/database/src/lib/upsertBranches.js.map +1 -0
  1310. package/packages/database/src/lib/upsertCommitBranches.js.map +1 -0
  1311. package/packages/database/src/lib/upsertCommits.js.map +1 -0
  1312. package/packages/database/src/lib/upsertEntities.js.map +1 -0
  1313. package/packages/database/src/lib/upsertEntityBranches.js.map +1 -0
  1314. package/packages/database/src/lib/upsertFiles.js.map +1 -0
  1315. package/packages/database/src/lib/upsertGithubUser.js.map +1 -0
  1316. package/packages/database/src/lib/upsertProjects.js.map +1 -0
  1317. package/packages/database/src/lib/upsertScenarios.js.map +1 -0
  1318. package/packages/generate/index.js +3 -0
  1319. package/packages/generate/index.js.map +1 -1
  1320. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  1321. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  1322. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  1323. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  1324. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  1325. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  1326. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
  1327. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1328. package/packages/generate/src/lib/deepMerge.js +30 -2
  1329. package/packages/generate/src/lib/deepMerge.js.map +1 -1
  1330. package/packages/generate/src/lib/directExecutionScript.js +10 -1
  1331. package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
  1332. package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
  1333. package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
  1334. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  1335. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  1336. package/packages/github/src/lib/getCommitsFromGithub.js +1 -1
  1337. package/packages/github/src/lib/loadOrCreateCommit.js +11 -1
  1338. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  1339. package/packages/github/src/lib/syncHeadBranches.js +1 -1
  1340. package/packages/github/src/lib/syncPrimaryBranch.js +4 -1
  1341. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  1342. package/packages/github/src/lib/syncPullRequest.js +1 -1
  1343. package/packages/github/src/lib/updateCommitBranchesInDb.js +1 -1
  1344. package/packages/github/src/lib/updateFilesInDb.js +1 -1
  1345. package/packages/process/index.js +3 -0
  1346. package/packages/process/index.js.map +1 -0
  1347. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  1348. package/packages/process/src/ProcessManager.js +244 -0
  1349. package/packages/process/src/ProcessManager.js.map +1 -0
  1350. package/packages/process/src/index.js.map +1 -0
  1351. package/packages/process/src/managedExecAsync.js.map +1 -0
  1352. package/packages/types/index.js.map +1 -1
  1353. package/packages/utils/index.js +2 -0
  1354. package/packages/utils/index.js.map +1 -1
  1355. package/packages/utils/src/lib/applyUniversalMocks.js +26 -2
  1356. package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
  1357. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
  1358. package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
  1359. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +13 -2
  1360. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  1361. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +43 -13
  1362. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -1
  1363. package/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
  1364. package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
  1365. package/packages/utils/src/lib/safeFileName.js +32 -3
  1366. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1367. package/packages/utils/src/lib/startCommand/buildStartCommand.js +45 -0
  1368. package/packages/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
  1369. package/packages/utils/src/lib/startCommand/getWebappInfo.js +67 -0
  1370. package/packages/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
  1371. package/packages/utils/src/lib/startCommand/index.js +3 -0
  1372. package/packages/utils/src/lib/startCommand/index.js.map +1 -0
  1373. package/scripts/finalize-analyzer.cjs +8 -74
  1374. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  1375. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -185
  1376. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -235
  1377. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -251
  1378. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1379. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -109
  1380. package/analyzer-template/packages/github/dist/supabase/index.d.ts.map +0 -1
  1381. package/analyzer-template/packages/github/dist/supabase/index.js.map +0 -1
  1382. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.d.ts.map +0 -1
  1383. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js +0 -19
  1384. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1385. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.d.ts.map +0 -1
  1386. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js +0 -26
  1387. package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js.map +0 -1
  1388. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.d.ts.map +0 -1
  1389. package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1390. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.d.ts.map +0 -1
  1391. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js +0 -18
  1392. package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js.map +0 -1
  1393. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.d.ts.map +0 -1
  1394. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js +0 -13
  1395. package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1396. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.d.ts.map +0 -1
  1397. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js +0 -26
  1398. package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js.map +0 -1
  1399. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.d.ts.map +0 -1
  1400. package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1401. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.d.ts.map +0 -1
  1402. package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.js.map +0 -1
  1403. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.d.ts.map +0 -1
  1404. package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.js.map +0 -1
  1405. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.d.ts.map +0 -1
  1406. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1407. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.d.ts.map +0 -1
  1408. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1409. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.d.ts.map +0 -1
  1410. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1411. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.d.ts.map +0 -1
  1412. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.js.map +0 -1
  1413. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.d.ts.map +0 -1
  1414. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.js.map +0 -1
  1415. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.d.ts.map +0 -1
  1416. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1417. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.d.ts.map +0 -1
  1418. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.js.map +0 -1
  1419. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.d.ts.map +0 -1
  1420. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1421. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.d.ts.map +0 -1
  1422. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.js.map +0 -1
  1423. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.d.ts.map +0 -1
  1424. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.js.map +0 -1
  1425. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.d.ts.map +0 -1
  1426. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.js.map +0 -1
  1427. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.d.ts.map +0 -1
  1428. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1429. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.d.ts.map +0 -1
  1430. package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1431. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.d.ts.map +0 -1
  1432. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.js.map +0 -1
  1433. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.d.ts.map +0 -1
  1434. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.js.map +0 -1
  1435. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.d.ts.map +0 -1
  1436. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.js.map +0 -1
  1437. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.d.ts.map +0 -1
  1438. package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.js.map +0 -1
  1439. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.d.ts.map +0 -1
  1440. package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.js.map +0 -1
  1441. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.d.ts.map +0 -1
  1442. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js +0 -14
  1443. package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js.map +0 -1
  1444. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.d.ts.map +0 -1
  1445. package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.js.map +0 -1
  1446. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.d.ts.map +0 -1
  1447. package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1448. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.d.ts.map +0 -1
  1449. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1450. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +0 -69
  1451. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +0 -1
  1452. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +0 -363
  1453. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +0 -1
  1454. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.d.ts.map +0 -1
  1455. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1456. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +0 -1
  1457. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1458. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +0 -89
  1459. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +0 -1
  1460. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1461. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.d.ts.map +0 -1
  1462. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1463. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts +0 -105
  1464. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts.map +0 -1
  1465. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1466. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +0 -1
  1467. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1468. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +0 -1
  1469. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1470. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.d.ts.map +0 -1
  1471. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1472. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.d.ts.map +0 -1
  1473. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1474. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts +0 -47
  1475. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts.map +0 -1
  1476. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
  1477. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1478. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +0 -37
  1479. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +0 -1
  1480. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +0 -27
  1481. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +0 -1
  1482. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts +0 -65
  1483. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts.map +0 -1
  1484. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1485. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.d.ts.map +0 -1
  1486. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1487. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.d.ts.map +0 -1
  1488. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1489. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.d.ts.map +0 -1
  1490. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1491. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +0 -1
  1492. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1493. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.d.ts.map +0 -1
  1494. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1495. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.d.ts.map +0 -1
  1496. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1497. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +0 -1
  1498. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1499. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts +0 -65
  1500. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts.map +0 -1
  1501. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1502. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.d.ts.map +0 -1
  1503. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1504. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.d.ts.map +0 -1
  1505. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1506. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.d.ts.map +0 -1
  1507. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1508. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.d.ts.map +0 -1
  1509. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1510. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.d.ts.map +0 -1
  1511. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1512. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.d.ts.map +0 -1
  1513. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1514. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts +0 -14
  1515. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts.map +0 -1
  1516. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js +0 -131
  1517. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js.map +0 -1
  1518. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.d.ts.map +0 -1
  1519. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js +0 -130
  1520. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js.map +0 -1
  1521. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.d.ts.map +0 -1
  1522. package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1523. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.d.ts.map +0 -1
  1524. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1525. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.d.ts.map +0 -1
  1526. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js +0 -90
  1527. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js.map +0 -1
  1528. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.d.ts.map +0 -1
  1529. package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.js.map +0 -1
  1530. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.d.ts.map +0 -1
  1531. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js +0 -111
  1532. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js.map +0 -1
  1533. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.d.ts.map +0 -1
  1534. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1535. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.d.ts.map +0 -1
  1536. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1537. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts +0 -13
  1538. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts.map +0 -1
  1539. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js +0 -188
  1540. package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js.map +0 -1
  1541. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts +0 -11
  1542. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts.map +0 -1
  1543. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js +0 -63
  1544. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js.map +0 -1
  1545. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.d.ts.map +0 -1
  1546. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.js.map +0 -1
  1547. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.d.ts.map +0 -1
  1548. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js +0 -114
  1549. package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1550. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.d.ts.map +0 -1
  1551. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.js.map +0 -1
  1552. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.d.ts.map +0 -1
  1553. package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.js.map +0 -1
  1554. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +0 -1
  1555. package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1556. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.d.ts.map +0 -1
  1557. package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.js.map +0 -1
  1558. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +0 -1
  1559. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1560. package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1561. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.d.ts.map +0 -1
  1562. package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.js.map +0 -1
  1563. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts +0 -3
  1564. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts.map +0 -1
  1565. package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.js.map +0 -1
  1566. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.d.ts.map +0 -1
  1567. package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1568. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.d.ts.map +0 -1
  1569. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js +0 -18
  1570. package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js.map +0 -1
  1571. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.d.ts.map +0 -1
  1572. package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1573. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.d.ts.map +0 -1
  1574. package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1575. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.d.ts.map +0 -1
  1576. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js +0 -33
  1577. package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js.map +0 -1
  1578. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.d.ts.map +0 -1
  1579. package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.js.map +0 -1
  1580. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +0 -1
  1581. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +0 -18
  1582. package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +0 -1
  1583. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts +0 -4
  1584. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts.map +0 -1
  1585. package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.js.map +0 -1
  1586. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.d.ts.map +0 -1
  1587. package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1588. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts +0 -13
  1589. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts.map +0 -1
  1590. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js +0 -100
  1591. package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1592. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.d.ts.map +0 -1
  1593. package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1594. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.d.ts.map +0 -1
  1595. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1596. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.d.ts.map +0 -1
  1597. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1598. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +0 -1
  1599. package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1600. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.d.ts.map +0 -1
  1601. package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1602. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.d.ts.map +0 -1
  1603. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1604. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.d.ts.map +0 -1
  1605. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1606. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.d.ts.map +0 -1
  1607. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1608. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.d.ts.map +0 -1
  1609. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1610. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.d.ts.map +0 -1
  1611. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.js.map +0 -1
  1612. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.d.ts.map +0 -1
  1613. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1614. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.d.ts.map +0 -1
  1615. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.js.map +0 -1
  1616. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.d.ts.map +0 -1
  1617. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.js.map +0 -1
  1618. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.d.ts.map +0 -1
  1619. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1620. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.d.ts.map +0 -1
  1621. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.js.map +0 -1
  1622. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.d.ts.map +0 -1
  1623. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1624. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.d.ts.map +0 -1
  1625. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.js.map +0 -1
  1626. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.d.ts.map +0 -1
  1627. package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.js.map +0 -1
  1628. package/analyzer-template/packages/supabase/client.ts +0 -35
  1629. package/analyzer-template/packages/supabase/package.json +0 -31
  1630. package/analyzer-template/packages/supabase/src/lib/analysisBranchToDb.ts +0 -28
  1631. package/analyzer-template/packages/supabase/src/lib/analysisToDb.ts +0 -59
  1632. package/analyzer-template/packages/supabase/src/lib/branchToDb.ts +0 -24
  1633. package/analyzer-template/packages/supabase/src/lib/commitBranchToDb.ts +0 -20
  1634. package/analyzer-template/packages/supabase/src/lib/commitToDb.ts +0 -47
  1635. package/analyzer-template/packages/supabase/src/lib/fileToDb.ts +0 -17
  1636. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +0 -482
  1637. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +0 -108
  1638. package/analyzer-template/packages/supabase/src/lib/kysely/tables/commitsTable.ts +0 -61
  1639. package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +0 -61
  1640. package/analyzer-template/packages/supabase/src/lib/loadAnalyses.ts +0 -218
  1641. package/analyzer-template/packages/supabase/src/lib/loadAnalysis.ts +0 -210
  1642. package/analyzer-template/packages/supabase/src/lib/loadBranch.ts +0 -122
  1643. package/analyzer-template/packages/supabase/src/lib/loadCommit.ts +0 -163
  1644. package/analyzer-template/packages/supabase/src/lib/loadCommits.ts +0 -251
  1645. package/analyzer-template/packages/supabase/src/lib/loadEntities.ts +0 -94
  1646. package/analyzer-template/packages/supabase/src/lib/loadEntity.ts +0 -110
  1647. package/analyzer-template/packages/supabase/src/lib/loadEntityBranches.ts +0 -166
  1648. package/analyzer-template/packages/supabase/src/lib/loadFile.ts +0 -47
  1649. package/analyzer-template/packages/supabase/src/lib/loadFiles.ts +0 -137
  1650. package/analyzer-template/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -76
  1651. package/analyzer-template/packages/supabase/src/lib/loadStatement.ts +0 -23
  1652. package/analyzer-template/packages/supabase/src/lib/projectToDb.ts +0 -35
  1653. package/analyzer-template/packages/supabase/src/lib/saveEntityStatements.ts +0 -28
  1654. package/analyzer-template/packages/supabase/src/lib/saveFiles.ts +0 -43
  1655. package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +0 -35
  1656. package/analyzer-template/packages/supabase/src/lib/updateCommitMetadata.ts +0 -188
  1657. package/analyzer-template/packages/supabase/src/lib/updateProjectMetadata.ts +0 -96
  1658. package/analyzer-template/packages/supabase/src/lib/userScenarioToDb.ts +0 -18
  1659. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  1660. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  1661. package/analyzer-template/process/README.md +0 -507
  1662. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  1663. package/background/src/lib/process/ProcessManager.js +0 -244
  1664. package/background/src/lib/process/ProcessManager.js.map +0 -1
  1665. package/background/src/lib/process/index.js.map +0 -1
  1666. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  1667. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  1668. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  1669. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Dp_FTAs1.js +0 -1
  1670. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-TlHocYno.js +0 -26
  1671. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVMmGuIc.js +0 -3
  1672. package/codeyam-cli/src/webserver/build/client/assets/LogViewer-JkfQ-VaI.js +0 -3
  1673. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-Cqce0_KG.js +0 -1
  1674. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BrMAP1nP.js +0 -1
  1675. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-__7HT.js +0 -6
  1676. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-XmIpHcLJ.js +0 -5
  1677. package/codeyam-cli/src/webserver/build/client/assets/_index-BmfhU6CA.js +0 -1
  1678. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-Dm8lM73z.js +0 -10
  1679. package/codeyam-cli/src/webserver/build/client/assets/chart-column-kA4jn9if.js +0 -1
  1680. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CgXbbZRx.js +0 -26
  1681. package/codeyam-cli/src/webserver/build/client/assets/circle-check-B2oHQ-zo.js +0 -1
  1682. package/codeyam-cli/src/webserver/build/client/assets/clock-BAfbP_iK.js +0 -1
  1683. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BBYuR56H.js +0 -1
  1684. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-C1gnJVOL.svg +0 -4
  1685. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BgPXZbm0.js +0 -1
  1686. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BkoAXaOa.js +0 -11
  1687. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-Bj5GHkhb.js +0 -1
  1688. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-eW5z9AyZ.js +0 -5
  1689. package/codeyam-cli/src/webserver/build/client/assets/entityStatus-C5Okl18j.js +0 -1
  1690. package/codeyam-cli/src/webserver/build/client/assets/entityVersioning-CU_Lchhc.js +0 -1
  1691. package/codeyam-cli/src/webserver/build/client/assets/entry.client-B9tSboXM.js +0 -5
  1692. package/codeyam-cli/src/webserver/build/client/assets/file-text-18aYHZGd.js +0 -1
  1693. package/codeyam-cli/src/webserver/build/client/assets/files-Df79EyEb.js +0 -1
  1694. package/codeyam-cli/src/webserver/build/client/assets/git-CDEwTVH_.js +0 -12
  1695. package/codeyam-cli/src/webserver/build/client/assets/globals-DXRB6jBc.css +0 -1
  1696. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
  1697. package/codeyam-cli/src/webserver/build/client/assets/index-_LjBsTxX.js +0 -8
  1698. package/codeyam-cli/src/webserver/build/client/assets/loader-circle-D_EGChhq.js +0 -1
  1699. package/codeyam-cli/src/webserver/build/client/assets/manifest-3e0ffbcc.js +0 -1
  1700. package/codeyam-cli/src/webserver/build/client/assets/root-CGyT4J4b.js +0 -16
  1701. package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
  1702. package/codeyam-cli/src/webserver/build/client/assets/settings-CEPbAsom.js +0 -1
  1703. package/codeyam-cli/src/webserver/build/client/assets/settings-R8QF_mHX.js +0 -1
  1704. package/codeyam-cli/src/webserver/build/client/assets/simulations-B_PXvFom.js +0 -1
  1705. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BthANBVv.js +0 -1
  1706. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-Blr5oZDE.js +0 -2
  1707. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CANr3QJ5.js +0 -1
  1708. package/codeyam-cli/src/webserver/build/client/assets/useToast-Bbf4Hokd.js +0 -1
  1709. package/codeyam-cli/src/webserver/build/server/assets/index-vf1FETCO.js +0 -1
  1710. package/codeyam-cli/src/webserver/build/server/assets/server-build-B5s58TvB.js +0 -169
  1711. package/codeyam-cli/templates/codeyam-debug-skill.md +0 -557
  1712. package/codeyam-cli/templates/codeyam-setup-skill.md +0 -453
  1713. package/codeyam-cli/templates/codeyam-sim-skill.md +0 -222
  1714. package/codeyam-cli/templates/codeyam-test-skill.md +0 -178
  1715. package/codeyam-cli/templates/codeyam-verify-skill.md +0 -179
  1716. package/codeyam-cli/templates/debug-command.md +0 -125
  1717. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1718. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1719. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -134
  1720. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1721. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -190
  1722. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1723. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -206
  1724. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1725. package/packages/ai/src/lib/isFrontend.js +0 -5
  1726. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1727. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1728. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1729. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -67
  1730. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1731. package/packages/supabase/index.js.map +0 -1
  1732. package/packages/supabase/src/lib/analysisBranchToDb.js +0 -19
  1733. package/packages/supabase/src/lib/analysisBranchToDb.js.map +0 -1
  1734. package/packages/supabase/src/lib/analysisToDb.js +0 -26
  1735. package/packages/supabase/src/lib/analysisToDb.js.map +0 -1
  1736. package/packages/supabase/src/lib/backgroundJobToDb.js.map +0 -1
  1737. package/packages/supabase/src/lib/branchToDb.js +0 -18
  1738. package/packages/supabase/src/lib/branchToDb.js.map +0 -1
  1739. package/packages/supabase/src/lib/commitBranchToDb.js +0 -13
  1740. package/packages/supabase/src/lib/commitBranchToDb.js.map +0 -1
  1741. package/packages/supabase/src/lib/commitToDb.js +0 -26
  1742. package/packages/supabase/src/lib/commitToDb.js.map +0 -1
  1743. package/packages/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
  1744. package/packages/supabase/src/lib/createProject.js.map +0 -1
  1745. package/packages/supabase/src/lib/createRetryFetch.js.map +0 -1
  1746. package/packages/supabase/src/lib/dbToAnalysis.js.map +0 -1
  1747. package/packages/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
  1748. package/packages/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
  1749. package/packages/supabase/src/lib/dbToBranch.js.map +0 -1
  1750. package/packages/supabase/src/lib/dbToCommit.js.map +0 -1
  1751. package/packages/supabase/src/lib/dbToCommitBranch.js.map +0 -1
  1752. package/packages/supabase/src/lib/dbToEntity.js.map +0 -1
  1753. package/packages/supabase/src/lib/dbToEntityBranch.js.map +0 -1
  1754. package/packages/supabase/src/lib/dbToFile.js.map +0 -1
  1755. package/packages/supabase/src/lib/dbToProject.js.map +0 -1
  1756. package/packages/supabase/src/lib/dbToScenario.js.map +0 -1
  1757. package/packages/supabase/src/lib/dbToScenarioComment.js.map +0 -1
  1758. package/packages/supabase/src/lib/dbToUserScenario.js.map +0 -1
  1759. package/packages/supabase/src/lib/deleteBranch.js.map +0 -1
  1760. package/packages/supabase/src/lib/deleteEntities.js.map +0 -1
  1761. package/packages/supabase/src/lib/deleteFile.js.map +0 -1
  1762. package/packages/supabase/src/lib/deleteScenarios.js.map +0 -1
  1763. package/packages/supabase/src/lib/entityToDb.js.map +0 -1
  1764. package/packages/supabase/src/lib/fileToDb.js +0 -14
  1765. package/packages/supabase/src/lib/fileToDb.js.map +0 -1
  1766. package/packages/supabase/src/lib/generateSha.js.map +0 -1
  1767. package/packages/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
  1768. package/packages/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
  1769. package/packages/supabase/src/lib/kysely/db.js +0 -363
  1770. package/packages/supabase/src/lib/kysely/db.js.map +0 -1
  1771. package/packages/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
  1772. package/packages/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
  1773. package/packages/supabase/src/lib/kysely/tableRelations.js.map +0 -1
  1774. package/packages/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
  1775. package/packages/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
  1776. package/packages/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
  1777. package/packages/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
  1778. package/packages/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
  1779. package/packages/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
  1780. package/packages/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
  1781. package/packages/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
  1782. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +0 -27
  1783. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +0 -1
  1784. package/packages/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
  1785. package/packages/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
  1786. package/packages/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
  1787. package/packages/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
  1788. package/packages/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
  1789. package/packages/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
  1790. package/packages/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
  1791. package/packages/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
  1792. package/packages/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
  1793. package/packages/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
  1794. package/packages/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
  1795. package/packages/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
  1796. package/packages/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
  1797. package/packages/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
  1798. package/packages/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
  1799. package/packages/supabase/src/lib/loadAnalyses.js +0 -131
  1800. package/packages/supabase/src/lib/loadAnalyses.js.map +0 -1
  1801. package/packages/supabase/src/lib/loadAnalysis.js +0 -130
  1802. package/packages/supabase/src/lib/loadAnalysis.js.map +0 -1
  1803. package/packages/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
  1804. package/packages/supabase/src/lib/loadBackgroundJob.js.map +0 -1
  1805. package/packages/supabase/src/lib/loadBranch.js +0 -90
  1806. package/packages/supabase/src/lib/loadBranch.js.map +0 -1
  1807. package/packages/supabase/src/lib/loadBranches.js.map +0 -1
  1808. package/packages/supabase/src/lib/loadCommit.js +0 -111
  1809. package/packages/supabase/src/lib/loadCommit.js.map +0 -1
  1810. package/packages/supabase/src/lib/loadCommitBranches.js.map +0 -1
  1811. package/packages/supabase/src/lib/loadCommitMetadata.js.map +0 -1
  1812. package/packages/supabase/src/lib/loadCommits.js +0 -188
  1813. package/packages/supabase/src/lib/loadCommits.js.map +0 -1
  1814. package/packages/supabase/src/lib/loadEntities.js +0 -63
  1815. package/packages/supabase/src/lib/loadEntities.js.map +0 -1
  1816. package/packages/supabase/src/lib/loadEntity.js.map +0 -1
  1817. package/packages/supabase/src/lib/loadEntityBranches.js +0 -114
  1818. package/packages/supabase/src/lib/loadEntityBranches.js.map +0 -1
  1819. package/packages/supabase/src/lib/loadFile.js.map +0 -1
  1820. package/packages/supabase/src/lib/loadFiles.js.map +0 -1
  1821. package/packages/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
  1822. package/packages/supabase/src/lib/loadProject.js.map +0 -1
  1823. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
  1824. package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
  1825. package/packages/supabase/src/lib/loadScenario.js.map +0 -1
  1826. package/packages/supabase/src/lib/loadStatement.js.map +0 -1
  1827. package/packages/supabase/src/lib/nullsToUndefines.js.map +0 -1
  1828. package/packages/supabase/src/lib/projectToDb.js +0 -18
  1829. package/packages/supabase/src/lib/projectToDb.js.map +0 -1
  1830. package/packages/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
  1831. package/packages/supabase/src/lib/saveEntityStatements.js.map +0 -1
  1832. package/packages/supabase/src/lib/saveFiles.js +0 -33
  1833. package/packages/supabase/src/lib/saveFiles.js.map +0 -1
  1834. package/packages/supabase/src/lib/saveStatement.js.map +0 -1
  1835. package/packages/supabase/src/lib/scenarioToDb.js +0 -18
  1836. package/packages/supabase/src/lib/scenarioToDb.js.map +0 -1
  1837. package/packages/supabase/src/lib/supabase.js.map +0 -1
  1838. package/packages/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
  1839. package/packages/supabase/src/lib/updateCommitMetadata.js +0 -100
  1840. package/packages/supabase/src/lib/updateCommitMetadata.js.map +0 -1
  1841. package/packages/supabase/src/lib/updateEntityBranch.js.map +0 -1
  1842. package/packages/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
  1843. package/packages/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
  1844. package/packages/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
  1845. package/packages/supabase/src/lib/updateProjectMetadata.js.map +0 -1
  1846. package/packages/supabase/src/lib/upsertAnalyses.js.map +0 -1
  1847. package/packages/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
  1848. package/packages/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
  1849. package/packages/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
  1850. package/packages/supabase/src/lib/upsertBranches.js.map +0 -1
  1851. package/packages/supabase/src/lib/upsertCommitBranches.js.map +0 -1
  1852. package/packages/supabase/src/lib/upsertCommits.js.map +0 -1
  1853. package/packages/supabase/src/lib/upsertEntities.js.map +0 -1
  1854. package/packages/supabase/src/lib/upsertEntityBranches.js.map +0 -1
  1855. package/packages/supabase/src/lib/upsertFiles.js.map +0 -1
  1856. package/packages/supabase/src/lib/upsertGithubUser.js.map +0 -1
  1857. package/packages/supabase/src/lib/upsertProjects.js.map +0 -1
  1858. package/packages/supabase/src/lib/upsertScenarios.js.map +0 -1
  1859. /package/analyzer-template/packages/{supabase → database}/__mocks__/index.ts +0 -0
  1860. /package/analyzer-template/packages/{supabase → database}/index.ts +0 -0
  1861. /package/analyzer-template/packages/{supabase → database}/src/lib/backgroundJobToDb.ts +0 -0
  1862. /package/analyzer-template/packages/{supabase → database}/src/lib/client/listenForCommits_Client.ts +0 -0
  1863. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysesInClient.ts +0 -0
  1864. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysis_Client.ts +0 -0
  1865. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadBranches_Client.ts +0 -0
  1866. /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadCommit_Client.ts +0 -0
  1867. /package/analyzer-template/packages/{supabase → database}/src/lib/client/upsertFiles_Client.ts +0 -0
  1868. /package/analyzer-template/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.ts +0 -0
  1869. /package/analyzer-template/packages/{supabase → database}/src/lib/createProject.ts +0 -0
  1870. /package/analyzer-template/packages/{supabase → database}/src/lib/createRetryFetch.ts +0 -0
  1871. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysis.ts +0 -0
  1872. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysisBranch.ts +0 -0
  1873. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBackgroundJob.ts +0 -0
  1874. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBranch.ts +0 -0
  1875. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommit.ts +0 -0
  1876. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommitBranch.ts +0 -0
  1877. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntity.ts +0 -0
  1878. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntityBranch.ts +0 -0
  1879. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToFile.ts +0 -0
  1880. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToProject.ts +0 -0
  1881. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenario.ts +0 -0
  1882. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenarioComment.ts +0 -0
  1883. /package/analyzer-template/packages/{supabase → database}/src/lib/dbToUserScenario.ts +0 -0
  1884. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteBranch.ts +0 -0
  1885. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteEntities.ts +0 -0
  1886. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteFile.ts +0 -0
  1887. /package/analyzer-template/packages/{supabase → database}/src/lib/deleteScenarios.ts +0 -0
  1888. /package/analyzer-template/packages/{supabase → database}/src/lib/entityToDb.ts +0 -0
  1889. /package/analyzer-template/packages/{supabase → database}/src/lib/generateSha.ts +0 -0
  1890. /package/analyzer-template/packages/{supabase → database}/src/lib/jsonUpdateUtils.ts +0 -0
  1891. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.ts +0 -0
  1892. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/schemaHelpers.ts +0 -0
  1893. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.ts +0 -0
  1894. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.ts +0 -0
  1895. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.ts +0 -0
  1896. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.ts +0 -0
  1897. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.ts +0 -0
  1898. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.ts +0 -0
  1899. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.ts +0 -0
  1900. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.ts +0 -0
  1901. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.ts +0 -0
  1902. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.ts +0 -0
  1903. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/filesTable.ts +0 -0
  1904. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.ts +0 -0
  1905. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.ts +0 -0
  1906. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.ts +0 -0
  1907. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.ts +0 -0
  1908. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.ts +0 -0
  1909. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.ts +0 -0
  1910. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.ts +0 -0
  1911. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.ts +0 -0
  1912. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.ts +0 -0
  1913. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/usersTable.ts +0 -0
  1914. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/upsertHelpers.ts +0 -0
  1915. /package/analyzer-template/packages/{supabase → database}/src/lib/kysely.ts +0 -0
  1916. /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalysisBranches.ts +0 -0
  1917. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBackgroundJob.ts +0 -0
  1918. /package/analyzer-template/packages/{supabase → database}/src/lib/loadBranches.ts +0 -0
  1919. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitBranches.ts +0 -0
  1920. /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitMetadata.ts +0 -0
  1921. /package/analyzer-template/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.ts +0 -0
  1922. /package/analyzer-template/packages/{supabase → database}/src/lib/loadProject.ts +0 -0
  1923. /package/analyzer-template/packages/{supabase → database}/src/lib/loadScenario.ts +0 -0
  1924. /package/analyzer-template/packages/{supabase → database}/src/lib/nullsToUndefines.ts +0 -0
  1925. /package/analyzer-template/packages/{supabase → database}/src/lib/saveBackgroundEvent.ts +0 -0
  1926. /package/analyzer-template/packages/{supabase → database}/src/lib/saveStatement.ts +0 -0
  1927. /package/analyzer-template/packages/{supabase → database}/src/lib/scenarioCommentToDb.ts +0 -0
  1928. /package/analyzer-template/packages/{supabase → database}/src/lib/supabase.ts +0 -0
  1929. /package/analyzer-template/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.ts +0 -0
  1930. /package/analyzer-template/packages/{supabase → database}/src/lib/updateEntityBranch.ts +0 -0
  1931. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.ts +0 -0
  1932. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.ts +0 -0
  1933. /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.ts +0 -0
  1934. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalyses.ts +0 -0
  1935. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.ts +0 -0
  1936. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysisBranches.ts +0 -0
  1937. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBackgroundJob.ts +0 -0
  1938. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBranches.ts +0 -0
  1939. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommitBranches.ts +0 -0
  1940. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommits.ts +0 -0
  1941. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntities.ts +0 -0
  1942. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntityBranches.ts +0 -0
  1943. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertFiles.ts +0 -0
  1944. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertGithubUser.ts +0 -0
  1945. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertProjects.ts +0 -0
  1946. /package/analyzer-template/packages/{supabase → database}/src/lib/upsertScenarios.ts +0 -0
  1947. /package/analyzer-template/packages/{supabase → database}/tsconfig.json +0 -0
  1948. /package/analyzer-template/packages/github/dist/{supabase → database}/index.d.ts +0 -0
  1949. /package/analyzer-template/packages/github/dist/{supabase → database}/index.js +0 -0
  1950. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.d.ts +0 -0
  1951. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.d.ts +0 -0
  1952. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.d.ts +0 -0
  1953. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  1954. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.d.ts +0 -0
  1955. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.d.ts +0 -0
  1956. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.d.ts +0 -0
  1957. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.d.ts +0 -0
  1958. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  1959. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.d.ts +0 -0
  1960. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.js +0 -0
  1961. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.d.ts +0 -0
  1962. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  1963. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.d.ts +0 -0
  1964. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  1965. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.d.ts +0 -0
  1966. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  1967. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.d.ts +0 -0
  1968. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  1969. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.d.ts +0 -0
  1970. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.js +0 -0
  1971. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.d.ts +0 -0
  1972. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.js +0 -0
  1973. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.d.ts +0 -0
  1974. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  1975. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.d.ts +0 -0
  1976. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.js +0 -0
  1977. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.d.ts +0 -0
  1978. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  1979. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.d.ts +0 -0
  1980. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.js +0 -0
  1981. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.d.ts +0 -0
  1982. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.js +0 -0
  1983. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.d.ts +0 -0
  1984. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.js +0 -0
  1985. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.d.ts +0 -0
  1986. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  1987. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.d.ts +0 -0
  1988. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  1989. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.d.ts +0 -0
  1990. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.js +0 -0
  1991. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.d.ts +0 -0
  1992. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.js +0 -0
  1993. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.d.ts +0 -0
  1994. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.js +0 -0
  1995. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.d.ts +0 -0
  1996. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  1997. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.d.ts +0 -0
  1998. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.js +0 -0
  1999. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.d.ts +0 -0
  2000. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.d.ts +0 -0
  2001. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.js +0 -0
  2002. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.d.ts +0 -0
  2003. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  2004. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.d.ts +0 -0
  2005. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  2006. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.d.ts +0 -0
  2007. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  2008. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.d.ts +0 -0
  2009. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  2010. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  2011. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.d.ts +0 -0
  2012. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  2013. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  2014. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.d.ts +0 -0
  2015. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  2016. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.d.ts +0 -0
  2017. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  2018. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.d.ts +0 -0
  2019. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  2020. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.d.ts +0 -0
  2021. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  2022. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  2023. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.d.ts +0 -0
  2024. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  2025. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.d.ts +0 -0
  2026. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  2027. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.d.ts +0 -0
  2028. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  2029. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.d.ts +0 -0
  2030. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  2031. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.d.ts +0 -0
  2032. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  2033. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.d.ts +0 -0
  2034. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  2035. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.d.ts +0 -0
  2036. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  2037. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  2038. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.d.ts +0 -0
  2039. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  2040. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.d.ts +0 -0
  2041. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  2042. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.d.ts +0 -0
  2043. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  2044. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.d.ts +0 -0
  2045. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  2046. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.d.ts +0 -0
  2047. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  2048. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.d.ts +0 -0
  2049. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  2050. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysis.d.ts +0 -0
  2051. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.d.ts +0 -0
  2052. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  2053. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.d.ts +0 -0
  2054. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  2055. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranch.d.ts +0 -0
  2056. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.d.ts +0 -0
  2057. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.js +0 -0
  2058. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommit.d.ts +0 -0
  2059. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.d.ts +0 -0
  2060. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  2061. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.d.ts +0 -0
  2062. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  2063. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.d.ts +0 -0
  2064. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.js +0 -0
  2065. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntityBranches.d.ts +0 -0
  2066. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.d.ts +0 -0
  2067. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.js +0 -0
  2068. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.d.ts +0 -0
  2069. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.js +0 -0
  2070. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.d.ts +0 -0
  2071. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  2072. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.d.ts +0 -0
  2073. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.js +0 -0
  2074. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadReadyToBeCapturedAnalyses.d.ts +0 -0
  2075. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.d.ts +0 -0
  2076. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.js +0 -0
  2077. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadStatement.js +0 -0
  2078. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.d.ts +0 -0
  2079. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  2080. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.d.ts +0 -0
  2081. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.d.ts +0 -0
  2082. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  2083. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.d.ts +0 -0
  2084. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  2085. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.d.ts +0 -0
  2086. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.d.ts +0 -0
  2087. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.js +0 -0
  2088. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/scenarioToDb.d.ts +0 -0
  2089. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/supabase.js +0 -0
  2090. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.d.ts +0 -0
  2091. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  2092. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.d.ts +0 -0
  2093. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  2094. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.d.ts +0 -0
  2095. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  2096. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.d.ts +0 -0
  2097. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  2098. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts +0 -0
  2099. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  2100. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.d.ts +0 -0
  2101. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  2102. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.d.ts +0 -0
  2103. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  2104. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.d.ts +0 -0
  2105. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  2106. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.d.ts +0 -0
  2107. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  2108. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.d.ts +0 -0
  2109. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  2110. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.d.ts +0 -0
  2111. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.js +0 -0
  2112. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.d.ts +0 -0
  2113. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  2114. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.d.ts +0 -0
  2115. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.js +0 -0
  2116. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.d.ts +0 -0
  2117. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.js +0 -0
  2118. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.d.ts +0 -0
  2119. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  2120. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.d.ts +0 -0
  2121. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.js +0 -0
  2122. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.d.ts +0 -0
  2123. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  2124. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.d.ts +0 -0
  2125. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.js +0 -0
  2126. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.d.ts +0 -0
  2127. /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.js +0 -0
  2128. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  2129. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  2130. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  2131. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  2132. /package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +0 -0
  2133. /package/packages/{supabase → database}/index.js +0 -0
  2134. /package/packages/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
  2135. /package/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
  2136. /package/packages/{supabase → database}/src/lib/createProject.js +0 -0
  2137. /package/packages/{supabase → database}/src/lib/createRetryFetch.js +0 -0
  2138. /package/packages/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
  2139. /package/packages/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
  2140. /package/packages/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
  2141. /package/packages/{supabase → database}/src/lib/dbToBranch.js +0 -0
  2142. /package/packages/{supabase → database}/src/lib/dbToCommit.js +0 -0
  2143. /package/packages/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
  2144. /package/packages/{supabase → database}/src/lib/dbToEntity.js +0 -0
  2145. /package/packages/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
  2146. /package/packages/{supabase → database}/src/lib/dbToFile.js +0 -0
  2147. /package/packages/{supabase → database}/src/lib/dbToProject.js +0 -0
  2148. /package/packages/{supabase → database}/src/lib/dbToScenario.js +0 -0
  2149. /package/packages/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
  2150. /package/packages/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
  2151. /package/packages/{supabase → database}/src/lib/deleteBranch.js +0 -0
  2152. /package/packages/{supabase → database}/src/lib/deleteEntities.js +0 -0
  2153. /package/packages/{supabase → database}/src/lib/deleteFile.js +0 -0
  2154. /package/packages/{supabase → database}/src/lib/deleteScenarios.js +0 -0
  2155. /package/packages/{supabase → database}/src/lib/entityToDb.js +0 -0
  2156. /package/packages/{supabase → database}/src/lib/generateSha.js +0 -0
  2157. /package/packages/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
  2158. /package/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
  2159. /package/packages/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
  2160. /package/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
  2161. /package/packages/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
  2162. /package/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
  2163. /package/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
  2164. /package/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
  2165. /package/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
  2166. /package/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
  2167. /package/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
  2168. /package/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
  2169. /package/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
  2170. /package/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
  2171. /package/packages/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
  2172. /package/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
  2173. /package/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
  2174. /package/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
  2175. /package/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
  2176. /package/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
  2177. /package/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
  2178. /package/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
  2179. /package/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
  2180. /package/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
  2181. /package/packages/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
  2182. /package/packages/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
  2183. /package/packages/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
  2184. /package/packages/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
  2185. /package/packages/{supabase → database}/src/lib/loadBranches.js +0 -0
  2186. /package/packages/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
  2187. /package/packages/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
  2188. /package/packages/{supabase → database}/src/lib/loadEntity.js +0 -0
  2189. /package/packages/{supabase → database}/src/lib/loadFile.js +0 -0
  2190. /package/packages/{supabase → database}/src/lib/loadFiles.js +0 -0
  2191. /package/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
  2192. /package/packages/{supabase → database}/src/lib/loadProject.js +0 -0
  2193. /package/packages/{supabase → database}/src/lib/loadScenario.js +0 -0
  2194. /package/packages/{supabase → database}/src/lib/loadStatement.js +0 -0
  2195. /package/packages/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
  2196. /package/packages/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
  2197. /package/packages/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
  2198. /package/packages/{supabase → database}/src/lib/saveStatement.js +0 -0
  2199. /package/packages/{supabase → database}/src/lib/supabase.js +0 -0
  2200. /package/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
  2201. /package/packages/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
  2202. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
  2203. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
  2204. /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
  2205. /package/packages/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
  2206. /package/packages/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
  2207. /package/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
  2208. /package/packages/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
  2209. /package/packages/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
  2210. /package/packages/{supabase → database}/src/lib/upsertBranches.js +0 -0
  2211. /package/packages/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
  2212. /package/packages/{supabase → database}/src/lib/upsertCommits.js +0 -0
  2213. /package/packages/{supabase → database}/src/lib/upsertEntities.js +0 -0
  2214. /package/packages/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
  2215. /package/packages/{supabase → database}/src/lib/upsertFiles.js +0 -0
  2216. /package/packages/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
  2217. /package/packages/{supabase → database}/src/lib/upsertProjects.js +0 -0
  2218. /package/packages/{supabase → database}/src/lib/upsertScenarios.js +0 -0
  2219. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  2220. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  2221. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -24,6 +24,136 @@ interface ReturnValuePart {
24
24
  argVariants?: Map<string, ReturnValuePart[]>;
25
25
  }
26
26
 
27
+ /**
28
+ * Converts a call signature to a valid JavaScript identifier (function name).
29
+ * The original signature is preserved for data access - this only creates the function name.
30
+ *
31
+ * Examples:
32
+ * - "useAuth()" → "useAuth"
33
+ * - "db.select(usersQuery)" → "db_select_usersQuery"
34
+ * - "db.select(postsQuery)" → "db_select_postsQuery"
35
+ * - "useFetcher<User>()" → "useFetcher_User"
36
+ * - "useFetcher<{ data: UserData | null }>()" → "useFetcher_data_UserData_null"
37
+ * - "eq('user_id', value)" → "eq_user_id_value"
38
+ * - "from('workouts')" → "from_workouts"
39
+ */
40
+ function callSignatureToFunctionName(signature: string): string {
41
+ // Extract components from the signature
42
+ const components: string[] = [];
43
+
44
+ // 1. Extract function path (parts separated by dots outside parens/brackets)
45
+ const pathMatch = signature.match(/^([^<(]+)/);
46
+ if (pathMatch) {
47
+ const path = pathMatch[1];
48
+ // Split on dots but preserve the parts
49
+ components.push(...path.split('.').filter(Boolean));
50
+ }
51
+
52
+ // 2. Extract generic type parameters (content between < and >)
53
+ const genericMatch = signature.match(/<([^>]+)>/);
54
+ if (genericMatch) {
55
+ const genericContent = genericMatch[1];
56
+ // Extract meaningful identifiers from generic type
57
+ // Handle complex types like "{ data: UserData | null }"
58
+ const typeIdentifiers = genericContent
59
+ .replace(/[{}:;,]/g, ' ') // Remove structural chars
60
+ .replace(/\|/g, ' ') // Handle union types
61
+ .split(/\s+/)
62
+ .filter(Boolean)
63
+ .filter((s) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(s)) // Only valid identifiers
64
+ .filter(
65
+ (s) =>
66
+ ![
67
+ 'null',
68
+ 'undefined',
69
+ 'void',
70
+ 'never',
71
+ 'any',
72
+ 'unknown',
73
+ 'data',
74
+ 'typeof',
75
+ ].includes(s),
76
+ ); // Skip common non-meaningful keywords
77
+
78
+ if (typeIdentifiers.length > 0) {
79
+ components.push(...typeIdentifiers.slice(0, 2)); // Limit to first 2 for reasonable length
80
+ }
81
+ }
82
+
83
+ // 3. Extract function arguments (first 2 for disambiguation)
84
+ const argsMatch = signature.match(/\(([^)]*)\)/);
85
+ if (argsMatch && argsMatch[1]) {
86
+ const argsContent = argsMatch[1].trim();
87
+ if (argsContent) {
88
+ const args = argsContent.split(',').map((arg) => arg.trim());
89
+ for (const arg of args.slice(0, 2)) {
90
+ // For quoted strings, extract the content
91
+ const stringMatch = arg.match(/^['"`](.+)['"`]$/);
92
+ if (stringMatch) {
93
+ // Split on dots for string paths like 'users.id'
94
+ const parts = stringMatch[1].split('.').filter(Boolean);
95
+ components.push(...parts);
96
+ } else if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(arg)) {
97
+ // Valid identifier - use as-is
98
+ components.push(arg);
99
+ } else if (/^\d+$/.test(arg)) {
100
+ // Number - use as-is
101
+ components.push(arg);
102
+ }
103
+ // Skip complex expressions
104
+ }
105
+ }
106
+ }
107
+
108
+ // Build the function name from components
109
+ const functionName = components
110
+ .join('_')
111
+ .replace(/[^a-zA-Z0-9_]/g, '_') // Sanitize special chars
112
+ .replace(/_+/g, '_') // Collapse multiple underscores
113
+ .replace(/^_|_$/g, ''); // Trim underscores
114
+
115
+ return functionName || 'mock';
116
+ }
117
+
118
+ /**
119
+ * Check if a mock name is a call signature (e.g., "useFetcher<User>()", "db.select(query)")
120
+ */
121
+ function isCallSignature(mockName: string): boolean {
122
+ // Call signatures contain parentheses (function calls)
123
+ return mockName.includes('(');
124
+ }
125
+
126
+ /**
127
+ * Extract property names that are jsx-components and should be preserved from original.
128
+ * These are paths like "MockName.Provider()" where the value or functionCallReturnValue is 'jsx-component'.
129
+ */
130
+ function getJsxComponentProperties(
131
+ mockName: string,
132
+ schema: Record<string, string>,
133
+ ): string[] {
134
+ const jsxProperties: string[] = [];
135
+
136
+ for (const [path, value] of Object.entries(schema ?? {})) {
137
+ // Look for paths like "MockName.PropertyName()" that are jsx-components
138
+ // Skip paths that have deeper nesting (e.g., "MockName.Foo.Bar()")
139
+ const match = path.match(new RegExp(`^${mockName}\\.([^.()]+)\\(\\)$`));
140
+ if (!match) continue;
141
+
142
+ const propertyName = match[1];
143
+
144
+ // Check if this is a jsx-component (either directly or via functionCallReturnValue)
145
+ const isJsxComponent =
146
+ value === 'jsx-component' ||
147
+ schema[path + '.functionCallReturnValue'] === 'jsx-component';
148
+
149
+ if (isJsxComponent && !jsxProperties.includes(propertyName)) {
150
+ jsxProperties.push(propertyName);
151
+ }
152
+ }
153
+
154
+ return jsxProperties;
155
+ }
156
+
27
157
  /**
28
158
  * Check if a string is a literal (quoted string or number).
29
159
  * Returns the unquoted value if it's a literal, null otherwise.
@@ -155,26 +285,81 @@ function funcArgs(functionSignature: string): string[] {
155
285
 
156
286
  // isValidKey ensures that the key does not contain any characters that would make it invalid in a JavaScript object.
157
287
  // For example, it should not contain spaces, special characters, or start with a number.
288
+ // Also rejects keys that are pure function calls like "()" or "(args)" - these aren't property names.
158
289
  function isValidKey(key: string) {
159
290
  if (!key || key.length === 0) return false;
160
291
  const keyWithOutArguments = key.split('(')[0];
292
+ // Reject empty keys (happens when key is "()" or "(args)") - these are function calls, not property names
293
+ if (!keyWithOutArguments || keyWithOutArguments.length === 0) return false;
161
294
  return !/\s/.test(keyWithOutArguments);
162
295
  }
163
296
 
297
+ /**
298
+ * Known hooks that return tuples [value, setter] instead of arrays.
299
+ * These should NOT use the .map() pattern even when the schema has generic array access ([]).
300
+ * Instead, they should return [data, () => {}] where data is from scenarios().
301
+ */
302
+ const TUPLE_RETURNING_HOOKS = new Set([
303
+ 'useAtom', // Jotai
304
+ 'useState', // React
305
+ 'useReducer', // React
306
+ 'useRecoilState', // Recoil
307
+ 'useImmerAtom', // Jotai with Immer
308
+ ]);
309
+
164
310
  export default function constructMockCode(
165
311
  mockName: string,
166
312
  dependencySchemas: DeepReadonly<DataStructure['dependencySchemas']>,
167
313
  entityType?: EntityType,
314
+ _canonicalKey?: string, // DEPRECATED: No longer used, kept for API compatibility
315
+ options?: {
316
+ keepOriginalFunctionName?: boolean;
317
+ uniqueFunctionSuffix?: string;
318
+ skipOriginalSpread?: boolean; // Skip spreading from __cyOriginal when it won't be defined
319
+ },
168
320
  ) {
169
- const mockNameParts = splitOutsideParenthesesAndArrays(mockName);
321
+ // Check if mockName is a call signature (e.g., "useFetcher<User>()", "db.select(query)")
322
+ const mockNameIsCallSignature = isCallSignature(mockName);
323
+
324
+ // For call signatures, use the original signature for data access but generate
325
+ // a valid JS function name from it
326
+ const derivedFunctionName = mockNameIsCallSignature
327
+ ? callSignatureToFunctionName(mockName)
328
+ : null;
329
+
330
+ // The baseMockName is the function name without type params and args
331
+ // e.g., "useFetcher<User>()" -> "useFetcher", "db.select(query)" -> "db"
332
+ const baseMockName = mockName.split(/[<(]/)[0];
333
+
334
+ // The data key is the mockName (call signature) for data access
335
+ let dataKey: string;
336
+
337
+ const mockNameParts = splitOutsideParenthesesAndArrays(baseMockName);
170
338
 
171
339
  let relevantReturnValueSchema: DataStructure['returnValueSchema'] | undefined;
172
340
  let dataStructurePath: string | undefined;
173
341
  let dataStructureValue: string | undefined;
342
+ let foundEntityWithSignature = false;
343
+ let signatureSchema: DataStructure['signatureSchema'] | undefined;
174
344
 
175
345
  for (const filePath in dependencySchemas) {
176
346
  for (const entityName in dependencySchemas[filePath]) {
177
- if (entityName !== mockNameParts[0]) continue;
347
+ // Match entity by base name (without generics/args)
348
+ const entityBaseName = entityName.split(/[<(]/)[0];
349
+ const matches =
350
+ entityBaseName === baseMockName || entityName === mockNameParts[0];
351
+
352
+ if (!matches) continue;
353
+
354
+ // Track if we found the entity and it has a signature (is a function)
355
+ const entitySchema = dependencySchemas[filePath][entityName];
356
+ if (
357
+ entitySchema?.signatureSchema &&
358
+ Object.keys(entitySchema.signatureSchema).length > 0
359
+ ) {
360
+ foundEntityWithSignature = true;
361
+ signatureSchema = entitySchema.signatureSchema;
362
+ }
178
363
 
179
364
  dataStructurePath = Object.keys(
180
365
  dependencySchemas[filePath][entityName]?.returnValueSchema ?? {},
@@ -206,7 +391,135 @@ export default function constructMockCode(
206
391
  }
207
392
  }
208
393
 
209
- if (!relevantReturnValueSchema || !dataStructurePath) return;
394
+ // Check if the entity is used as a function (called with ()) vs an object/namespace.
395
+ // Look for paths in the schema that start with "baseMockName(" or "baseMockName<" indicating function calls.
396
+ // The "<" handles generic type parameters like useLoaderData<T>().
397
+ // Also check dataStructurePath === 'returnValue' which indicates a function return value.
398
+ const entityIsFunction =
399
+ foundEntityWithSignature ||
400
+ dataStructurePath === 'returnValue' ||
401
+ Object.keys(relevantReturnValueSchema ?? {}).some(
402
+ (key) =>
403
+ key.startsWith(`${baseMockName}(`) ||
404
+ key.startsWith(`${baseMockName}<`),
405
+ );
406
+
407
+ // Calculate the data key - use the call signature (mockName) for data access
408
+ // For simple names without parentheses:
409
+ // - Append () ONLY if the entity is a function/hook (detected above)
410
+ // - Don't append () for object/namespace mocks like "supabase"
411
+ if (mockNameIsCallSignature || mockName.includes('(')) {
412
+ dataKey = mockName;
413
+ } else if (entityIsFunction) {
414
+ // Entity is a function/hook - append () to match call signature format
415
+ dataKey = `${mockName}()`;
416
+ } else {
417
+ // Entity is an object/namespace - use bare name as key
418
+ dataKey = mockName;
419
+ }
420
+
421
+ // Helper to wrap key in appropriate quotes for computed property access
422
+ // Use single quotes when key contains double quotes to avoid syntax errors
423
+ const quotePropertyKey = (key: string): string => {
424
+ const escaped = key.replace(/\n/g, '\\n');
425
+ if (escaped.includes('"')) {
426
+ // Use single quotes, escaping any single quotes in the key
427
+ return `['${escaped.replace(/'/g, "\\'")}']`;
428
+ }
429
+ return `["${escaped}"]`;
430
+ };
431
+
432
+ // Check if the return value schema only contains function type markers
433
+ // (e.g., "validateInputs()": "function") without actual return data
434
+ // (no functionCallReturnValue entries)
435
+ const hasMeaningfulReturnData = (
436
+ schema: DataStructure['returnValueSchema'] | undefined,
437
+ ): boolean => {
438
+ if (!schema) return false;
439
+ const keys = Object.keys(schema);
440
+ // Check if there are any functionCallReturnValue entries
441
+ // which indicate actual mock data, not just type markers
442
+ return keys.some(
443
+ (key) => key.includes('functionCallReturnValue') || key === 'returnValue',
444
+ );
445
+ };
446
+
447
+ // If we found the entity with a signature but no return value schema,
448
+ // OR the schema only has function type markers without actual return data,
449
+ // generate an empty mock function. This handles validation functions like
450
+ // validateInputs that are marked for mocking but have no meaningful return value.
451
+ // EXCEPTION: If entityType is 'class', we still need to generate the class.
452
+ // EXCEPTION: If no signature was found, let the normal code path handle it.
453
+ if (!relevantReturnValueSchema || !dataStructurePath) {
454
+ if (foundEntityWithSignature && signatureSchema) {
455
+ // Count the number of arguments from signature schema
456
+ const argCount = Object.keys(signatureSchema).filter((key) =>
457
+ key.startsWith('signature['),
458
+ ).length;
459
+ const args = Array.from({ length: argCount }, (_, i) => `arg${i + 1}`);
460
+ // Always add ...rest to accept extra arguments beyond the signature
461
+ args.push('...rest');
462
+ const argsString = args.join(', ');
463
+
464
+ // Generate empty mock function
465
+ return `function ${mockName}(${argsString}) {
466
+ // Empty mock - original function mocked out
467
+ }`;
468
+ }
469
+ return;
470
+ }
471
+
472
+ // Check if the schema only has function type markers without actual return data.
473
+ // Only apply this when we have a signature (i.e., it's explicitly a function)
474
+ // and it's not a class. This handles validation functions that should be
475
+ // empty mocks rather than returning meaningless "function" strings.
476
+ if (
477
+ foundEntityWithSignature &&
478
+ signatureSchema &&
479
+ entityType !== 'class' &&
480
+ !hasMeaningfulReturnData(relevantReturnValueSchema)
481
+ ) {
482
+ const argCount = Object.keys(signatureSchema).filter((key) =>
483
+ key.startsWith('signature['),
484
+ ).length;
485
+ const args = Array.from({ length: argCount }, (_, i) => `arg${i + 1}`);
486
+ // Always add ...rest to accept extra arguments beyond the signature
487
+ args.push('...rest');
488
+ const argsString = args.join(', ');
489
+
490
+ // Check for Higher-Order Component (HOC) pattern:
491
+ // - First argument is a function (component) or unknown (couldn't trace type)
492
+ // - Returns a function
493
+ // HOCs like memo, forwardRef, createContext should return their first argument
494
+ //
495
+ // The return value key can be either:
496
+ // - 'memo()' (clean format)
497
+ // - 'memo(({ value, width }: Props) => { ... })' (full component code format)
498
+ const firstArgIsFunctionOrUnknown =
499
+ signatureSchema['signature[0]'] === 'function' ||
500
+ signatureSchema['signature[0]'] === 'unknown';
501
+ const returnsFunction = relevantReturnValueSchema
502
+ ? Object.entries(relevantReturnValueSchema).some(([key, value]) => {
503
+ // Check if key represents a function call that returns a function
504
+ // Key should start with the mock name, contain '(', end with ')', and have value 'function'
505
+ const isFunctionCall =
506
+ key.startsWith(mockName + '(') && key.endsWith(')');
507
+ return isFunctionCall && value === 'function';
508
+ })
509
+ : false;
510
+
511
+ if (firstArgIsFunctionOrUnknown && returnsFunction) {
512
+ // HOC pattern detected - return the first argument
513
+ return `function ${mockName}(${argsString}) {
514
+ return arg1;
515
+ }`;
516
+ }
517
+
518
+ // Generate empty mock function
519
+ return `function ${mockName}(${argsString}) {
520
+ // Empty mock - original function mocked out
521
+ }`;
522
+ }
210
523
 
211
524
  const dataStructureName =
212
525
  dataStructurePath === 'returnValue'
@@ -230,6 +543,99 @@ export default function constructMockCode(
230
543
  dataStructureValue === 'array' &&
231
544
  (dataStructurePath === 'returnValue' || pathDepth <= mockNameParts.length);
232
545
 
546
+ // OPTIMIZATION: Early return for tuple-returning hooks (useAtom, useState, etc.)
547
+ // These hooks have simple [value, setter] return patterns that don't need the full
548
+ // 9216-key schema processing. Check if this is a tuple-returning hook and generate
549
+ // the mock code directly without iterating over all schema keys.
550
+ if (TUPLE_RETURNING_HOOKS.has(baseMockName) && isFunction) {
551
+ // Check if schema has generic array pattern (indicates tuple return like [value, setter])
552
+ const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
553
+ const hasGenericArrayInSchema = schemaKeys.some(
554
+ (k) =>
555
+ k.includes('.functionCallReturnValue[]') ||
556
+ k === `${dataKey}.functionCallReturnValue[]` ||
557
+ k === 'returnValue[]',
558
+ );
559
+
560
+ // Check for differentiated tuple indices (e.g., functionCallReturnValue[2], [3]) which would NOT be a standard tuple
561
+ // We only check indices immediately after functionCallReturnValue, not nested indices like signature[2]
562
+ const tupleHasDifferentiatedIndices = schemaKeys.some((k) => {
563
+ // Look for .functionCallReturnValue[N] where N >= 2
564
+ const match = k.match(/\.functionCallReturnValue\[(\d+)\]/);
565
+ if (!match) return false;
566
+ const idx = parseInt(match[1], 10);
567
+ return idx >= 2;
568
+ });
569
+
570
+ const isTupleReturningHook =
571
+ hasGenericArrayInSchema && !tupleHasDifferentiatedIndices;
572
+
573
+ if (isTupleReturningHook) {
574
+ // Find all call patterns for this hook (e.g., useAtom(quoteFilterAtom), useAtom(supplierAtom))
575
+ const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
576
+ .filter((k) => {
577
+ const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
578
+ return regex.test(k);
579
+ })
580
+ .map((k) => {
581
+ const match = k.match(/\(([^)]+)\)/);
582
+ return { key: k, arg: match?.[1] ?? '' };
583
+ });
584
+
585
+ let tupleReturnCode: string;
586
+ if (hookCallPatterns.length > 1) {
587
+ // Multiple patterns - generate conditional dispatch
588
+ const conditions = hookCallPatterns
589
+ .map(
590
+ ({ key, arg }) =>
591
+ `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`,
592
+ )
593
+ .join('\n ');
594
+ const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
595
+ tupleReturnCode = `(() => {
596
+ // Dynamic dispatch for tuple-returning hook with multiple argument patterns
597
+ const argLabel = args[0]?.debugLabel ?? '';
598
+ const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
599
+ ${conditions}
600
+ return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
601
+ })()`;
602
+ } else {
603
+ // Single or no patterns - use dynamic dispatch
604
+ const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
605
+ tupleReturnCode = `(() => {
606
+ // Dynamic dispatch for tuple-returning hook
607
+ const argLabel = args[0]?.debugLabel ?? '';
608
+ const argStr = args[0]?.toString?.() ?? '';
609
+ const allData = scenarios().data() ?? {};
610
+ if (argLabel) {
611
+ const labelKey = '${baseMockName}(' + argLabel + ')';
612
+ if (allData[labelKey]) {
613
+ return [allData[labelKey]?.[0] ?? [], () => {}];
614
+ }
615
+ }
616
+ const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
617
+ for (const key of keys) {
618
+ const keyArg = key.slice(${baseMockName.length + 1}, -1);
619
+ if (argStr.includes(keyArg)) {
620
+ return [allData[key]?.[0] ?? [], () => {}];
621
+ }
622
+ }
623
+ return [allData[keys[0] ?? '${fallbackKey}']?.[0] ?? [], () => {}];
624
+ })()`;
625
+ }
626
+
627
+ const safeFunctionName = options?.uniqueFunctionSuffix
628
+ ? `${baseMockName}_${options.uniqueFunctionSuffix}`
629
+ : options?.keepOriginalFunctionName
630
+ ? baseMockName
631
+ : mockNameIsCallSignature && derivedFunctionName
632
+ ? derivedFunctionName
633
+ : baseMockName;
634
+
635
+ return `function ${safeFunctionName}(...args) {\n return ${tupleReturnCode};\n}`;
636
+ }
637
+ }
638
+
233
639
  const returnValueParts: ReturnValuePart = {
234
640
  name: dataStructureName,
235
641
  isArray: isRootArray,
@@ -249,7 +655,11 @@ export default function constructMockCode(
249
655
  basePaths[0] = 'scenarios().data()';
250
656
  }
251
657
 
252
- const optionalAccess = (name: string, stripArguments = false) => {
658
+ const optionalAccess = (
659
+ name: string,
660
+ stripArguments = false,
661
+ isRootAccess = false,
662
+ ) => {
253
663
  if (stripArguments && name.includes('(')) {
254
664
  name = name.split('(')[0] + '()';
255
665
  }
@@ -258,11 +668,21 @@ export default function constructMockCode(
258
668
  // so "useLoaderData<typeof loader>()" becomes "useLoaderData()"
259
669
  name = cleanOutTypes(name);
260
670
 
261
- if (name.match(/\[\d+\]/)) {
671
+ // For root data access, use the dataKey (original call signature or canonical key)
672
+ // This preserves the original call signature for LLM clarity
673
+ if (isRootAccess) {
674
+ // For call signature format, use the original mockName as the data key
675
+ // e.g., scenarios().data()?.["useFetcher<User>()"]
676
+ // e.g., scenarios().data()?.["db.select(usersQuery)"]
677
+ return `?.${quotePropertyKey(dataKey)}`;
678
+ }
679
+
680
+ // Only use unquoted array access syntax for pure array indices like [0], [1]
681
+ if (name.match(/^\[\d+\]$/)) {
262
682
  return `?.${name}`;
263
683
  }
264
684
 
265
- return `?.["${name.replace(/\n/g, '\\n')}"]`;
685
+ return `?.${quotePropertyKey(name)}`;
266
686
  };
267
687
 
268
688
  const constructDataPaths = () => {
@@ -297,7 +717,8 @@ export default function constructMockCode(
297
717
  return basePaths
298
718
  .flatMap((basePath) => {
299
719
  if (!returnValue.args) {
300
- let dataPath = `${basePath}${optionalAccess(safeString(returnValue.name))}`;
720
+ // Pass root as both stripArguments and isRootAccess for non-function paths
721
+ let dataPath = `${basePath}${optionalAccess(safeString(returnValue.name), false, root)}`;
301
722
  dataPath = addReturnValueFunctionAccessor(dataPath);
302
723
  return dataPath;
303
724
  }
@@ -306,7 +727,8 @@ export default function constructMockCode(
306
727
  ? returnValue.name
307
728
  : `${returnValue.name}(${argSet.join(', ')})`;
308
729
 
309
- let dataPath = `${basePath}${optionalAccess(safeString(signature), root)}`;
730
+ // Pass root as both stripArguments and isRootAccess
731
+ let dataPath = `${basePath}${optionalAccess(safeString(signature), root, root)}`;
310
732
  dataPath = addReturnValueFunctionAccessor(dataPath);
311
733
 
312
734
  return dataPath;
@@ -328,7 +750,20 @@ export default function constructMockCode(
328
750
  hasNoReturnData,
329
751
  } = returnValue;
330
752
 
331
- const nestedContent: (string | undefined)[] = (nested ?? []).map(
753
+ // When an array has differentiated indices ([0], [1], etc.), filter out any
754
+ // non-index items from nested. These non-index items come from generic [] paths
755
+ // like [].filter or [].sort, which describe element properties, not array elements.
756
+ // Including them would generate invalid syntax like "sort: ..." inside an array literal.
757
+ const hasDifferentiatedIndices =
758
+ isArray &&
759
+ nested &&
760
+ nested.some((n) => n.name.match(/^\[\d+\]$/) && n.name !== '[0]');
761
+ const filteredNested =
762
+ hasDifferentiatedIndices && nested
763
+ ? nested.filter((n) => n.name.match(/^\[\d+\]$/))
764
+ : nested;
765
+
766
+ const nestedContent: (string | undefined)[] = (filteredNested ?? []).map(
332
767
  (nestedItem) => {
333
768
  const nestedContent = constructReturnValueString(
334
769
  nestedItem,
@@ -412,53 +847,114 @@ export default function constructMockCode(
412
847
  ) {
413
848
  levelContentItems.push(...dataPaths.map((path) => `...${path}`));
414
849
  }
415
- levelContentItems.push(...nestedContent);
850
+ // Filter out nested content that would be invalid as object properties
851
+ // (e.g., bare arrow functions like "() => {...}" without a property name)
852
+ // Only apply this filter when building object content, not array content.
853
+ // Bare arrow functions ARE valid as array elements (like [0] = {...}, [1] = () => {...})
854
+ // Check both isArray (item IS an array) and returnsFunctionArray (item returns an array)
855
+ const inArrayContext = isArray || returnsFunctionArray;
856
+ const validNestedContent = nestedContent.filter((content) => {
857
+ if (!content) return false;
858
+ // Only filter bare arrow functions when NOT in array context
859
+ // In arrays, bare arrow functions are valid elements
860
+ if (!inArrayContext && content.match(/^\s*\([^)]*\)\s*=>/)) {
861
+ return false;
862
+ }
863
+ return true;
864
+ });
865
+ levelContentItems.push(...validNestedContent);
416
866
 
417
867
  let levelContents: string = levelContentItems.filter(Boolean).join(',\n');
418
868
  if (returnsFunctionArgs) {
419
- const argsString = returnsFunctionArgs
420
- .map((_, index) => `arg${index + 1}`)
421
- .join(', ');
422
- let funcContents = '';
423
- if (returnsFunctionArray) {
424
- if (hasNoReturnData) {
425
- // Function has no return data (only signatures) - return empty array
426
- funcContents = 'return []';
427
- } else if (levelContents.length === 0 && dataPaths.length === 1) {
428
- // When returning an array with no nested content, return the data path directly
429
- // (the data path points to the array in scenario data)
430
- funcContents = `return ${dataPaths[0]}`;
431
- } else if (levelContents.length === 0) {
432
- funcContents = 'return []';
433
- } else {
434
- funcContents = `return [\n${indent(levelContents)}\n]`;
869
+ // When returnsFunctionArgs is empty [] OR has a single literal string argument,
870
+ // the function returns a callable function (e.g., getTranslate() returns t,
871
+ // where t('key') looks up translations)
872
+ // Generate a dispatch function that looks up keys based on the argument
873
+ //
874
+ // Detect translation-like pattern:
875
+ // - Data path ends with ["('some.literal')"] - a literal string key
876
+ // - This means the mock data has keys like "('common.surveys')": "Surveys"
877
+ // - Exclude ["()"] which is an empty function call (not a translation pattern)
878
+ const dataPath = dataPaths[0];
879
+ // Pattern matches ?.["('...')"] at end of path, but NOT ?.["()"] (empty args)
880
+ const literalKeyPattern = dataPath?.match(/\?\.\["\('.+'\)"\]$/);
881
+
882
+ if (
883
+ !returnsFunctionArray &&
884
+ dataPaths.length === 1 &&
885
+ literalKeyPattern // Only dispatch when there's a literal key pattern
886
+ ) {
887
+ // Function returns a function - generate dispatch function
888
+ // Strip the literal key from the path and use dynamic lookup
889
+ const dataPathBase = literalKeyPattern
890
+ ? dataPath.replace(/\?\.\["\('.+'\)"\]$/, '')
891
+ : dataPath;
892
+ const funcContents = `return ${dataPathBase}?.[\`('\${arg1}')\`]`;
893
+ levelContents = `(arg1) => {\n${indent(funcContents)}\n}`;
894
+
895
+ if (!isArray) {
896
+ return levelContents;
435
897
  }
436
898
  } else {
437
- // Check if function has no actual return data (only signatures)
438
- const hasNestedItems = nested && nested.length > 0;
439
- const hasActualNestedContent =
440
- nestedContent.filter(Boolean).length > 0;
441
-
442
- if (levelContentItems.length === 1 && dataPaths.length === 1) {
443
- if (
444
- hasNoReturnData ||
445
- (hasNestedItems && !hasActualNestedContent)
446
- ) {
899
+ const argsString = returnsFunctionArgs
900
+ .map((_, index) => `arg${index + 1}`)
901
+ .join(', ');
902
+ let funcContents = '';
903
+ if (returnsFunctionArray) {
904
+ if (hasNoReturnData) {
447
905
  // Function has no return data (only signatures) - return empty array
448
906
  funcContents = 'return []';
449
- } else {
450
- // Has return data - return data path
907
+ } else if (levelContents.length === 0 && dataPaths.length === 1) {
908
+ // When returning an array with no nested content, return the data path directly
909
+ // (the data path points to the array in scenario data)
451
910
  funcContents = `return ${dataPaths[0]}`;
911
+ } else if (levelContents.length === 0) {
912
+ funcContents = 'return []';
913
+ } else {
914
+ funcContents = `return [\n${indent(levelContents)}\n]`;
452
915
  }
453
916
  } else {
454
- funcContents = `return {\n${indent(levelContents)}\n}`;
917
+ // Check if function has no actual return data (only signatures)
918
+ const hasNestedItems = nested && nested.length > 0;
919
+ const hasActualNestedContent =
920
+ nestedContent.filter(Boolean).length > 0;
921
+
922
+ if (levelContentItems.length === 1 && dataPaths.length === 1) {
923
+ if (
924
+ hasNoReturnData ||
925
+ (hasNestedItems && !hasActualNestedContent)
926
+ ) {
927
+ // Function has no return data (only signatures) - return empty array
928
+ funcContents = 'return []';
929
+ } else {
930
+ // Has return data - return data path
931
+ funcContents = `return ${dataPaths[0]}`;
932
+ }
933
+ } else {
934
+ funcContents = `return {\n${indent(levelContents)}\n}`;
935
+ }
455
936
  }
456
- }
457
937
 
458
- levelContents = `(${argsString}) => {\n${indent(funcContents)}\n}`;
938
+ levelContents = `(${argsString}) => {\n${indent(funcContents)}\n}`;
459
939
 
460
- if (!isArray) {
461
- return levelContents;
940
+ if (!isArray) {
941
+ return levelContents;
942
+ }
943
+ }
944
+
945
+ // For generic arrays of functions WITH nested properties (e.g., functionCallReturnValue[] = "function"
946
+ // with nested .filter, .sort, etc.), the levelContents would be a bare arrow function "() => {...}"
947
+ // that wraps object content. Using this in a .map(({...})) creates invalid syntax like "({ () => {...} })".
948
+ // When isGenericArray is true AND there are nested properties, we're accessing data from the elements,
949
+ // not calling them - so skip the function wrapping.
950
+ // But if there are NO nested properties, keep the wrapper because callers may want to call the elements.
951
+ const hasNonStructuralNestedItems =
952
+ nested &&
953
+ nested.length > 0 &&
954
+ nested.some((n) => !n.name.match(/^\[\d*\]$/));
955
+ if (isGenericArray && hasNonStructuralNestedItems) {
956
+ // Skip the arrow function wrapper - just use the nested content directly
957
+ levelContents = levelContentItems.filter(Boolean).join(',\n');
462
958
  }
463
959
  }
464
960
 
@@ -474,7 +970,123 @@ export default function constructMockCode(
474
970
  });
475
971
 
476
972
  let returnValueContents = '';
477
- if (
973
+
974
+ // Check if this is a known tuple-returning hook (useAtom, useState, etc.)
975
+ // These should return [value, setter] tuples, not arrays or data paths
976
+ // Check isGenericArray from current context OR from schema for root level calls
977
+ // (at root level, isGenericArray might not be set yet but the schema contains [] pattern)
978
+ const hasGenericArrayInSchema =
979
+ root &&
980
+ TUPLE_RETURNING_HOOKS.has(baseMockName) &&
981
+ Object.keys(relevantReturnValueSchema ?? {}).some((k) =>
982
+ k.includes('.functionCallReturnValue[]'),
983
+ );
984
+ // Check if there are array indices beyond what a standard 2-element tuple would have
985
+ // For tuple-returning hooks, [0] and [1] are expected (value and setter)
986
+ // Only consider it "differentiated" if there are indices >= 2 (e.g., [2], [3])
987
+ const tupleHasDifferentiatedIndices = nested?.some((n) => {
988
+ const indexMatch = n.name.match(/^\[(\d+)\]$/);
989
+ if (!indexMatch) return false;
990
+ const index = parseInt(indexMatch[1], 10);
991
+ return index >= 2;
992
+ });
993
+ const isTupleReturningHook =
994
+ TUPLE_RETURNING_HOOKS.has(baseMockName) &&
995
+ (isGenericArray || hasGenericArrayInSchema) &&
996
+ !tupleHasDifferentiatedIndices;
997
+
998
+ // Debug logging for tuple-returning hooks
999
+ if (TUPLE_RETURNING_HOOKS.has(baseMockName) && root) {
1000
+ const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
1001
+ const hasArrayPattern = schemaKeys.some((k) =>
1002
+ k.includes('.functionCallReturnValue[]'),
1003
+ );
1004
+ console.log(
1005
+ `CodeYam: Tuple hook check for ${baseMockName} (root):`,
1006
+ `hasGenericArrayInSchema=${hasGenericArrayInSchema}`,
1007
+ `hasArrayPattern=${hasArrayPattern}`,
1008
+ `tupleHasDifferentiatedIndices=${tupleHasDifferentiatedIndices}`,
1009
+ `isTupleReturningHook=${isTupleReturningHook}`,
1010
+ `schemaKeysSample=${schemaKeys.slice(0, 5).join(', ')}`,
1011
+ );
1012
+ }
1013
+
1014
+ if (isTupleReturningHook) {
1015
+ // Tuple-returning hooks should return [value, setter] tuple
1016
+ // The value is the first element from scenarios data, setter is a no-op
1017
+ // Default to [] when data is undefined to prevent errors like ".includes is not a function"
1018
+
1019
+ // Check if there are multiple call patterns for this hook in the schema
1020
+ // (e.g., useAtom(quoteFilterAtom) and useAtom(supplierAtom))
1021
+ const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
1022
+ .filter((k) => {
1023
+ // Match patterns like "useAtom(someArg)" but not nested paths like "useAtom(x).foo"
1024
+ const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
1025
+ return regex.test(k);
1026
+ })
1027
+ .map((k) => {
1028
+ // Extract the argument from the key like "useAtom(quoteFilterAtom)" -> "quoteFilterAtom"
1029
+ const match = k.match(/\(([^)]+)\)/);
1030
+ return { key: k, arg: match?.[1] ?? '' };
1031
+ });
1032
+
1033
+ if (hookCallPatterns.length > 1) {
1034
+ // Multiple patterns - generate conditional dispatch based on first argument
1035
+ // For Jotai atoms, we use debugLabel; for others, we try to match the argument string
1036
+ const conditions = hookCallPatterns
1037
+ .map(
1038
+ ({ key, arg }) =>
1039
+ `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`,
1040
+ )
1041
+ .join('\n ');
1042
+
1043
+ // Use the first pattern as fallback
1044
+ const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
1045
+
1046
+ returnValueContents = `(() => {
1047
+ // Dynamic dispatch for tuple-returning hook with multiple argument patterns
1048
+ const argLabel = args[0]?.debugLabel ?? '';
1049
+ const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
1050
+ ${conditions}
1051
+ // Fallback to first pattern
1052
+ return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
1053
+ })()`;
1054
+ } else {
1055
+ // Single pattern or no patterns - use dynamic dispatch to handle case where
1056
+ // the mock is used with different atoms than what was captured in the schema.
1057
+ // Use the first argument to construct the data key dynamically.
1058
+ const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
1059
+
1060
+ returnValueContents = `(() => {
1061
+ // Dynamic dispatch for tuple-returning hook
1062
+ // Try to construct key from argument's debugLabel (Jotai atoms) or toString
1063
+ const argLabel = args[0]?.debugLabel ?? '';
1064
+ const argStr = args[0]?.toString?.() ?? '';
1065
+ const allData = scenarios().data() ?? {};
1066
+
1067
+ // Try to find a matching key using debugLabel first
1068
+ if (argLabel) {
1069
+ const labelKey = '${baseMockName}(' + argLabel + ')';
1070
+ if (allData[labelKey]) {
1071
+ return [allData[labelKey]?.[0] ?? [], () => {}];
1072
+ }
1073
+ }
1074
+
1075
+ // Try to find any matching key that contains part of the argument string
1076
+ const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
1077
+ for (const key of keys) {
1078
+ const keyArg = key.slice(${baseMockName.length + 1}, -1);
1079
+ if (argStr.includes(keyArg)) {
1080
+ return [allData[key]?.[0] ?? [], () => {}];
1081
+ }
1082
+ }
1083
+
1084
+ // Fallback to first matching key or default
1085
+ const fallback = keys[0] ?? '${fallbackKey}';
1086
+ return [allData[fallback]?.[0] ?? [], () => {}];
1087
+ })()`;
1088
+ }
1089
+ } else if (
478
1090
  !returnsFunctionArgs &&
479
1091
  nestedContent.length === 0 &&
480
1092
  dataPaths.length === 1
@@ -495,31 +1107,438 @@ export default function constructMockCode(
495
1107
  // When GENERIC array (using []) has nested content (like functions that need wrapping),
496
1108
  // use .map() to transform ALL elements instead of just creating [0]
497
1109
  // For DIFFERENTIATED arrays (using [0], [1], etc.), keep the static array structure
1110
+ //
1111
+ // IMPORTANT: If the nested content contains differentiated indices like [0], [1],
1112
+ // we MUST use static array pattern, not .map(). The presence of differentiated
1113
+ // indices means the array elements have different types/structures, so .map()
1114
+ // would generate invalid code trying to treat them uniformly.
1115
+ const hasDifferentiatedIndices =
1116
+ nested &&
1117
+ nested.some((n) => n.name.match(/^\[\d+\]$/) && n.name !== '[0]');
498
1118
  if (
499
1119
  isGenericArray &&
500
1120
  nestedContent.length > 0 &&
501
- dataPaths.length > 0
1121
+ dataPaths.length > 0 &&
1122
+ !hasDifferentiatedIndices
502
1123
  ) {
503
1124
  // Get the array base path (without the [0])
504
1125
  const arrayBasePath = dataPaths[0].replace(/\?\.\[0\]$/, '');
505
1126
  // Replace [0] references with [__idx__] in level contents
506
- const mappedContents = levelContents.replace(
1127
+ let mappedContents = levelContents.replace(
507
1128
  /\?\.\[0\]/g,
508
1129
  '?.[__idx__]',
509
1130
  );
510
1131
  // levelContents may already be wrapped in {...} from structural [0] element,
511
1132
  // so check if we need to add the wrapper or not
512
1133
  const needsWrapper = !mappedContents.trim().startsWith('{');
1134
+
1135
+ // Helper to check if a position is inside a string literal
1136
+ // Returns the end position of the string if inside one, -1 otherwise
1137
+ // Defined here so it's accessible in both needsWrapper branches
1138
+ const skipStringLiteral = (
1139
+ content: string,
1140
+ pos: number,
1141
+ ): number => {
1142
+ const char = content[pos];
1143
+ if (char !== '"' && char !== "'" && char !== '`') return -1;
1144
+ // Find the matching closing quote
1145
+ let j = pos + 1;
1146
+ while (j < content.length) {
1147
+ if (content[j] === '\\') {
1148
+ j += 2; // Skip escaped character
1149
+ continue;
1150
+ }
1151
+ if (content[j] === char) {
1152
+ return j + 1; // Return position after closing quote
1153
+ }
1154
+ j++;
1155
+ }
1156
+ return content.length; // Unclosed string, skip to end
1157
+ };
1158
+
1159
+ // Filter out bare arrow functions which are invalid as object properties.
1160
+ // Arrow functions can be multi-line, so we need to match the entire function body, not just the first line.
1161
+ // Pattern: starts with "(args) =>", followed by either:
1162
+ // - A single-line body: "() => expression"
1163
+ // - A multi-line body: "() => { ... }" (with matching braces)
1164
+ // IMPORTANT: Only filter BARE arrow functions (without property names).
1165
+ // "() => {...}" is invalid, but "get: (arg1) => {...}" is valid.
1166
+ // We use a function to properly handle nested braces.
1167
+ // Defined here so it's accessible in both needsWrapper branches
1168
+ const filterOutArrowFunctions = (content: string): string => {
1169
+ const result: string[] = [];
1170
+ let i = 0;
1171
+ while (i < content.length) {
1172
+ // Skip over string literals entirely
1173
+ const stringEnd = skipStringLiteral(content, i);
1174
+ if (stringEnd !== -1) {
1175
+ result.push(content.slice(i, stringEnd));
1176
+ i = stringEnd;
1177
+ continue;
1178
+ }
1179
+
1180
+ // Check if we're at the start of an arrow function (with optional leading whitespace)
1181
+ const arrowMatch = content
1182
+ .slice(i)
1183
+ .match(/^(\s*)\([^)]*\)\s*=>\s*/);
1184
+ if (arrowMatch) {
1185
+ // Check if this is a bare arrow function or a named property with arrow function value
1186
+ // Look back to see if there's a "key:" pattern before this position
1187
+ const before = content.slice(0, i);
1188
+ const beforeTrimmed = before.trim();
1189
+ // Valid patterns where arrow function is NOT bare:
1190
+ // 1. Property value: "key: (arg) => ..." - ends with ':'
1191
+ // 2. Function argument: ".map((arg) => ..." - ends with '('
1192
+ // 3. Method call: "?.map" followed directly by the arrow function
1193
+ // In this case, the '(' is consumed by the arrow function regex match,
1194
+ // so beforeTrimmed ends with the method name (e.g., 'map'), not '('.
1195
+ // We detect this by checking if beforeTrimmed ends with an identifier
1196
+ // that could be a method name (preceded by '.' or '?.').
1197
+ // NOTE: We don't include ',' because "{ prop, () => {} }" is invalid
1198
+ // (can't distinguish function argument from object property context)
1199
+ const isPropertyValue = beforeTrimmed.endsWith(':');
1200
+ const isFunctionArg = beforeTrimmed.endsWith('(');
1201
+ // Check if before ends with a method call pattern like ".map" or "?.map"
1202
+ // The '(' after the method name is consumed by the arrow function regex
1203
+ const isMethodCallArg = /\??\.\w+$/.test(beforeTrimmed);
1204
+ const hasPropertyName =
1205
+ isPropertyValue || isFunctionArg || isMethodCallArg;
1206
+
1207
+ if (!hasPropertyName) {
1208
+ // This is a bare arrow function - filter it out
1209
+ // Found arrow function start, need to find its end
1210
+ const afterArrow = i + arrowMatch[0].length;
1211
+ if (content[afterArrow] === '{') {
1212
+ // Multi-line arrow function - find matching closing brace
1213
+ // Must respect string literals when counting braces
1214
+ let braceCount = 1;
1215
+ let j = afterArrow + 1;
1216
+ while (j < content.length && braceCount > 0) {
1217
+ const strEnd = skipStringLiteral(content, j);
1218
+ if (strEnd !== -1) {
1219
+ j = strEnd;
1220
+ continue;
1221
+ }
1222
+ if (content[j] === '{') braceCount++;
1223
+ if (content[j] === '}') braceCount--;
1224
+ j++;
1225
+ }
1226
+ // Skip past the arrow function
1227
+ i = j;
1228
+ // Only skip trailing comma, keep newlines
1229
+ while (i < content.length && content[i] === ' ') {
1230
+ i++;
1231
+ }
1232
+ if (content[i] === ',') {
1233
+ i++; // Skip the comma after the arrow function
1234
+ }
1235
+ } else {
1236
+ // Single expression arrow function - skip to next comma or newline
1237
+ let j = afterArrow;
1238
+ while (
1239
+ j < content.length &&
1240
+ content[j] !== ',' &&
1241
+ content[j] !== '\n'
1242
+ ) {
1243
+ j++;
1244
+ }
1245
+ i = j;
1246
+ if (content[i] === ',') i++; // Skip the comma
1247
+ }
1248
+ continue;
1249
+ }
1250
+ }
1251
+ // Not a bare arrow function, keep this character
1252
+ result.push(content[i]);
1253
+ i++;
1254
+ }
1255
+ return result.join('');
1256
+ };
1257
+
1258
+ // Filter out bare object blocks (e.g., "{ ...spread, props }," without a property name)
1259
+ // These are invalid in object literal context - you need "key: { ... }" not just "{ ... }"
1260
+ // Defined here so it's accessible in both needsWrapper branches
1261
+ // The skipFirstBrace parameter allows the else branch to preserve the outer object
1262
+ const filterOutBareObjects = (
1263
+ content: string,
1264
+ skipFirstBrace = false,
1265
+ ): string => {
1266
+ const result: string[] = [];
1267
+ let i = 0;
1268
+ let firstBraceSkipped = false;
1269
+ while (i < content.length) {
1270
+ // Skip over string literals entirely - braces inside strings should not be processed
1271
+ const stringEnd = skipStringLiteral(content, i);
1272
+ if (stringEnd !== -1) {
1273
+ result.push(content.slice(i, stringEnd));
1274
+ i = stringEnd;
1275
+ continue;
1276
+ }
1277
+
1278
+ // Check if we're at a bare object start (newline/comma followed by { without : before it)
1279
+ // Look back to see if there's a colon (property assignment) before this brace
1280
+ const isStartOfLine =
1281
+ i === 0 ||
1282
+ content[i - 1] === '\n' ||
1283
+ content.slice(0, i).trim().endsWith(',');
1284
+ if (content[i] === '{' && isStartOfLine) {
1285
+ // Check if this is actually a bare object (not "key: {")
1286
+ const beforeTrimmed = content.slice(0, i).trim();
1287
+ const isBareObject =
1288
+ beforeTrimmed.endsWith(',') ||
1289
+ beforeTrimmed === '' ||
1290
+ beforeTrimmed.endsWith('(');
1291
+
1292
+ if (isBareObject) {
1293
+ // If skipFirstBrace is true and this is the first bare brace at position 0,
1294
+ // don't filter it - it's the intentional outer object wrapper
1295
+ if (skipFirstBrace && !firstBraceSkipped && i === 0) {
1296
+ firstBraceSkipped = true;
1297
+ result.push(content[i]);
1298
+ i++;
1299
+ continue;
1300
+ }
1301
+
1302
+ // Find matching closing brace, respecting string literals
1303
+ let braceCount = 1;
1304
+ let j = i + 1;
1305
+ while (j < content.length && braceCount > 0) {
1306
+ const strEnd = skipStringLiteral(content, j);
1307
+ if (strEnd !== -1) {
1308
+ j = strEnd;
1309
+ continue;
1310
+ }
1311
+ if (content[j] === '{') braceCount++;
1312
+ if (content[j] === '}') braceCount--;
1313
+ j++;
1314
+ }
1315
+ // Skip past the object
1316
+ i = j;
1317
+ // Skip trailing comma
1318
+ while (i < content.length && content[i] === ' ') {
1319
+ i++;
1320
+ }
1321
+ if (content[i] === ',') {
1322
+ i++;
1323
+ }
1324
+ continue;
1325
+ }
1326
+ }
1327
+ result.push(content[i]);
1328
+ i++;
1329
+ }
1330
+ return result.join('');
1331
+ };
1332
+
1333
+ // Helper to clean up formatting issues after filtering
1334
+ const cleanupContent = (content: string): string => {
1335
+ return (
1336
+ content
1337
+ .replace(/,\s*,/g, ',') // Double commas
1338
+ .replace(/,(\s*\n\s*\})/g, '$1') // Trailing comma before closing brace
1339
+ .replace(/\{\s*\n\s*,/g, '{\n') // Leading comma after opening brace
1340
+ // Remove incomplete .map calls where callback was filtered out
1341
+ // Pattern: ".map" followed by newline/whitespace without "(" for args
1342
+ .replace(/\?\.map(?=\s*[\n\r,}\]])/g, '')
1343
+ .replace(/\.map(?=\s*[\n\r,}\]])/g, '')
1344
+ // Clean up orphan })) sequences (from nested filtered map callbacks)
1345
+ .replace(/\s*\}\)\)\s*\n\s*\}/g, '\n}')
1346
+ .replace(/^\s*\n/gm, '') // Empty lines
1347
+ .trim()
1348
+ );
1349
+ };
1350
+
513
1351
  if (needsWrapper) {
514
- returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => ({\n${indent(mappedContents)}\n}))`;
1352
+ // Apply filters to remove invalid content
1353
+ mappedContents = filterOutArrowFunctions(mappedContents);
1354
+ mappedContents = filterOutBareObjects(mappedContents);
1355
+ mappedContents = cleanupContent(mappedContents);
1356
+
1357
+ // If mappedContents is empty after filtering, don't generate .map() at all
1358
+ // Just use the array path directly with spread or as-is
1359
+ // This prevents orphan )) from empty .map() callbacks
1360
+ const cleanedForEmptyCheck = mappedContents
1361
+ .replace(/\s+/g, '')
1362
+ .replace(/,+/g, '');
1363
+ if (cleanedForEmptyCheck.length === 0) {
1364
+ // Content is empty - just return the array directly
1365
+ returnValueContents = arrayBasePath;
1366
+ } else {
1367
+ // Check if mappedContents is just a bare expression (no property names)
1368
+ // A bare expression like "scenarios().data()?.["key"]?.[__idx__]," cannot be
1369
+ // wrapped in ({ }) because it's not a valid object property.
1370
+ // Pattern: content has no ":" that's not inside brackets/parens/strings
1371
+ const hasBareExpression = (() => {
1372
+ const trimmed = mappedContents.trim().replace(/,\s*$/, ''); // Remove trailing comma
1373
+ let depth = 0;
1374
+ let inString = false;
1375
+ let stringChar = '';
1376
+ for (let i = 0; i < trimmed.length; i++) {
1377
+ const char = trimmed[i];
1378
+ if (inString) {
1379
+ if (char === '\\') {
1380
+ i++; // Skip escaped char
1381
+ continue;
1382
+ }
1383
+ if (char === stringChar) {
1384
+ inString = false;
1385
+ }
1386
+ continue;
1387
+ }
1388
+ if (char === '"' || char === "'" || char === '`') {
1389
+ inString = true;
1390
+ stringChar = char;
1391
+ continue;
1392
+ }
1393
+ if (char === '(' || char === '[' || char === '{') {
1394
+ depth++;
1395
+ continue;
1396
+ }
1397
+ if (char === ')' || char === ']' || char === '}') {
1398
+ depth--;
1399
+ continue;
1400
+ }
1401
+ // Found a colon at depth 0 = has property name
1402
+ if (char === ':' && depth === 0) {
1403
+ return false;
1404
+ }
1405
+ }
1406
+ return true;
1407
+ })();
1408
+
1409
+ if (hasBareExpression) {
1410
+ // Content is just an expression - return it directly without object wrapper
1411
+ const trimmedContent = mappedContents
1412
+ .trim()
1413
+ .replace(/,\s*$/, '');
1414
+ returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => (\n${indent(trimmedContent)}\n))`;
1415
+ } else {
1416
+ // When generating object-wrapped .map(), ensure original item data is preserved.
1417
+ // If no data spread was included (e.g., because this is a plain array property,
1418
+ // not a function return), add ...__item__ to spread the original item properties.
1419
+ // Without this, the .map() would create new objects with only nested function
1420
+ // properties, losing data like filePath, frontmatter, body, etc.
1421
+ const hasDataSpread =
1422
+ mappedContents.includes('...scenarios()') ||
1423
+ mappedContents.includes('...__item__');
1424
+ if (!hasDataSpread) {
1425
+ mappedContents = `...__item__,\n${mappedContents}`;
1426
+ }
1427
+ returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => ({\n${indent(mappedContents)}\n}))`;
1428
+ }
1429
+ } // Close the empty content check else block
515
1430
  } else {
1431
+ // Content already starts with '{'. Check if there are additional properties after the inner object.
1432
+ // If so, we need to merge them INTO the object, not leave them outside.
1433
+ // Pattern: "{ ...spread, props },\nfilter: ...,\nsort: ..."
1434
+ // Should become: "{ ...spread, props, filter: ..., sort: ... }"
1435
+ const trimmed = mappedContents.trim();
1436
+
1437
+ // Find first }, at depth 0 that is NOT inside a string literal
1438
+ // This prevents splitting keys like ?.["useQuery({ id }, { enabled })"]
1439
+ // and also prevents finding }, inside nested arrow functions
1440
+ const findBraceCommaOutsideStrings = (
1441
+ content: string,
1442
+ ): number => {
1443
+ let i = 0;
1444
+ let depth = 0; // Track brace depth to find the outer object's },
1445
+ while (i < content.length - 1) {
1446
+ // Skip over string literals
1447
+ const strEnd = skipStringLiteral(content, i);
1448
+ if (strEnd !== -1) {
1449
+ i = strEnd;
1450
+ continue;
1451
+ }
1452
+ // Track brace depth
1453
+ if (content[i] === '{') {
1454
+ depth++;
1455
+ i++;
1456
+ continue;
1457
+ }
1458
+ // Check for }, pattern at depth 1 (the outer object level)
1459
+ // We're looking for the outer object's closing brace, which is at depth 1
1460
+ // (we started at depth 0, opened { at depth 0 -> 1)
1461
+ if (content[i] === '}') {
1462
+ depth--;
1463
+ if (
1464
+ depth === 0 &&
1465
+ i + 1 < content.length &&
1466
+ content[i + 1] === ','
1467
+ ) {
1468
+ return i;
1469
+ }
1470
+ }
1471
+ i++;
1472
+ }
1473
+ return -1;
1474
+ };
1475
+
1476
+ const firstBraceEnd = findBraceCommaOutsideStrings(trimmed);
1477
+ if (firstBraceEnd !== -1) {
1478
+ // Found pattern "{ ... }," followed by more content
1479
+ // Extract the inner object and the trailing properties
1480
+ const innerObject = trimmed.slice(0, firstBraceEnd);
1481
+ const trailingContent = trimmed.slice(firstBraceEnd + 2).trim();
1482
+ if (trailingContent) {
1483
+ // Merge trailing properties into the inner object
1484
+ mappedContents = `${innerObject},\n${trailingContent}\n}`;
1485
+ }
1486
+ }
1487
+ // Even when content starts with {, we need to filter out invalid properties inside
1488
+ // (arrow functions and bare objects that were generated from the schema)
1489
+ // Pass skipFirstBrace=true because the content's outer { is the intentional wrapper
1490
+ mappedContents = filterOutArrowFunctions(mappedContents);
1491
+ mappedContents = filterOutBareObjects(mappedContents, true);
1492
+ mappedContents = cleanupContent(mappedContents);
1493
+ // Same as needsWrapper branch: ensure item data is preserved in .map()
1494
+ const hasDataSpreadInner =
1495
+ mappedContents.includes('...scenarios()') ||
1496
+ mappedContents.includes('...__item__');
1497
+ if (!hasDataSpreadInner && mappedContents.trim().length > 0) {
1498
+ // Insert ...__item__ after the opening brace
1499
+ mappedContents = mappedContents.replace(
1500
+ /^\s*\{/,
1501
+ '{\n...__item__,',
1502
+ );
1503
+ }
516
1504
  returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => (\n${indent(mappedContents)}\n))`;
517
1505
  }
518
1506
  } else {
519
1507
  returnValueContents = `[\n${indent(levelContents)}\n]`;
520
1508
  }
521
1509
  } else {
522
- returnValueContents = `{\n${indent(levelContents)}\n}`;
1510
+ // When we have a single data path and nested content that creates an object structure,
1511
+ // and we're NOT at the root level, we need to handle the case where the parent data
1512
+ // value is null or undefined. Without this check, `{ ...null, prop: null?.["prop"] }`
1513
+ // creates `{ prop: undefined }` instead of `null`, causing errors like
1514
+ // "Cannot read properties of undefined (reading 'some')" when code does
1515
+ // data?.prop.some(...) because data is an object with prop: undefined, not null.
1516
+ // We only apply this to non-root cases because root-level mocks are expected to exist.
1517
+ // We also skip structural elements (like [0] inside arrays) because the null check
1518
+ // syntax doesn't work inside .map() callbacks where structural elements are used.
1519
+ // We also skip array index elements ([0], [1], etc.) because they represent tuple/array
1520
+ // elements, not properties that could be null.
1521
+ // We also only apply this when we're inside a function return value context - i.e.,
1522
+ // when the data path contains a function call pattern like ?.["someFunction(...)"].
1523
+ // This prevents adding null checks to intermediate objects in chains like supabase.auth.
1524
+ const hasNestedContent = nestedContent.filter(Boolean).length > 0;
1525
+ const isArrayIndexElement = name.match(/^\[\d*\]$/);
1526
+ // Check if data path contains a function call pattern, indicating we're inside a function return value
1527
+ const isInsideFunctionReturnValue =
1528
+ dataPaths.length === 1 &&
1529
+ dataPaths[0].match(/\?\.\["\w+\([^"]*\)"\]/);
1530
+ if (
1531
+ !root &&
1532
+ !returnValue.isStructural &&
1533
+ !isArrayIndexElement &&
1534
+ isInsideFunctionReturnValue &&
1535
+ hasNestedContent
1536
+ ) {
1537
+ // Wrap with null check: if parent is null/undefined, return it directly; otherwise create object
1538
+ returnValueContents = `${dataPaths[0]} == null ? ${dataPaths[0]} : {\n${indent(levelContents)}\n}`;
1539
+ } else {
1540
+ returnValueContents = `{\n${indent(levelContents)}\n}`;
1541
+ }
523
1542
  }
524
1543
  }
525
1544
 
@@ -531,6 +1550,13 @@ export default function constructMockCode(
531
1550
  if (args && args.length > 0) {
532
1551
  if (!isValidKey(name)) return;
533
1552
 
1553
+ // Skip array index patterns like [], [0], [1] when they have args
1554
+ // These represent function calls on array elements, not property keys
1555
+ // e.g., customSizes[].(args) means each array element is callable, not a property named "[]"
1556
+ if (name.match(/^\[\d*\]$/)) {
1557
+ return;
1558
+ }
1559
+
534
1560
  const mostArgs = args.sort(
535
1561
  (a: string[], b: string[]) => b.length - a.length,
536
1562
  )[0];
@@ -590,8 +1616,18 @@ export default function constructMockCode(
590
1616
  // Use all paths for fallback (existing behavior)
591
1617
  fallbackContent = `return ${returnValueContents}`;
592
1618
  } else {
593
- // Use all paths as fallback for unknown arguments
594
- fallbackContent = `return ${returnValueContents}`;
1619
+ // No explicit fallback paths - return the first literal's value as default
1620
+ // Returning spread of all values is dangerous because if values are primitives (strings),
1621
+ // spreading them creates objects with numeric keys like {0:'a', 1:'b', ...}
1622
+ // which causes "Objects are not valid as React child" errors
1623
+ const firstLiteralValue = literalKeys[0];
1624
+ const firstGroupPaths = argGroups.get(firstLiteralValue);
1625
+ if (firstGroupPaths && firstGroupPaths.length === 1) {
1626
+ fallbackContent = `return ${firstGroupPaths[0]}`;
1627
+ } else {
1628
+ // Multiple paths for first literal - return undefined as safe fallback
1629
+ fallbackContent = `return undefined`;
1630
+ }
595
1631
  }
596
1632
 
597
1633
  const funcContents =
@@ -601,14 +1637,29 @@ export default function constructMockCode(
601
1637
  content = `${cleanOutTypes(name)}: ${isAsyncFunction ? 'async ' : ''}(${argsString}) => {\n${indent(funcContents)}\n}`;
602
1638
  } else {
603
1639
  // No argument variants - use existing behavior
604
- const funcContents = `return ${returnValueContents}`;
1640
+ // But if there's nested content, we need to include it in the return object
1641
+ // (similar to how argument variant branches handle this at line 1070-1072)
1642
+ const hasNestedContent = validNestedContent.length > 0;
1643
+ let funcReturnContents: string;
1644
+ if (hasNestedContent && levelContentItems.length > 1) {
1645
+ // Include both spread and nested content in the return
1646
+ funcReturnContents = `{\n${indent(levelContents)}\n}`;
1647
+ } else {
1648
+ funcReturnContents = returnValueContents;
1649
+ }
1650
+ const funcContents = `return ${funcReturnContents}`;
605
1651
  content = `${cleanOutTypes(name)}: ${isAsyncFunction ? 'async ' : ''}(${argsString}) => {\n${indent(funcContents)}\n}`;
606
1652
  }
607
1653
  } else {
608
1654
  if (!isValidKey(name)) {
609
1655
  return;
610
1656
  } else if (name.match(/\[\d*\]/)) {
1657
+ // Numeric array index like [0], [1] - can be used as computed property
611
1658
  content = returnValueContents;
1659
+ } else if (name.match(/^\[[a-zA-Z_]\w*\]$/)) {
1660
+ // Variable-based index like [currentItemIndex] - must be quoted string key
1661
+ // Otherwise JavaScript would try to evaluate the variable name
1662
+ content = `"${safeString(name)}": ${returnValueContents}`;
612
1663
  } else {
613
1664
  content = `${safeString(name)}: ${returnValueContents}`;
614
1665
  }
@@ -623,34 +1674,91 @@ export default function constructMockCode(
623
1674
  };
624
1675
 
625
1676
  // Create the return value structure
626
- const sortedKeys = Object.keys(relevantReturnValueSchema ?? {}).sort(
627
- (a: string, b: string) => {
628
- const aParts = splitOutsideParenthesesAndArrays(a);
629
- const bParts = splitOutsideParenthesesAndArrays(b);
630
-
631
- const maxLength = Math.max(aParts.length, bParts.length);
632
- for (let i = 0; i < maxLength; ++i) {
633
- const aPart = aParts[i];
634
- const bPart = bParts[i];
635
-
636
- if (!aPart) return -1;
637
- if (!bPart) return 1;
638
-
639
- if (aPart === bPart) continue;
640
-
641
- const aName = aPart.split('(')[0];
642
- const bName = bPart.split('(')[0];
1677
+ // OPTIMIZATION: Filter keys to only those starting with baseMockName before sorting.
1678
+ // This dramatically reduces processing time for large schemas (e.g., 9216 keys -> ~100 relevant keys).
1679
+ // Without this filter, the loop would call splitOutsideParenthesesAndArrays on every key
1680
+ // even though most are filtered out later by the baseMockName check.
1681
+ const allSchemaKeys = Object.keys(relevantReturnValueSchema ?? {});
1682
+ const relevantKeys = allSchemaKeys.filter((key) => {
1683
+ // Fast prefix check - key must start with baseMockName followed by ( or < or .
1684
+ // This matches: "useAtom()", "useAtom<T>()", "useAtom.something", but not "useAtomValue()"
1685
+ if (key === baseMockName) return true;
1686
+ if (key.startsWith(baseMockName + '(')) return true;
1687
+ if (key.startsWith(baseMockName + '<')) return true;
1688
+ if (key.startsWith(baseMockName + '.')) return true;
1689
+ // Also include 'returnValue' paths which are normalized later
1690
+ if (
1691
+ key === 'returnValue' ||
1692
+ key.startsWith('returnValue.') ||
1693
+ key.startsWith('returnValue[')
1694
+ )
1695
+ return true;
1696
+ return false;
1697
+ });
1698
+
1699
+ const schemaKeyCount = relevantKeys.length;
1700
+ const sortedKeys = relevantKeys.sort((a: string, b: string) => {
1701
+ const aParts = splitOutsideParenthesesAndArrays(a);
1702
+ const bParts = splitOutsideParenthesesAndArrays(b);
1703
+
1704
+ const maxLength = Math.max(aParts.length, bParts.length);
1705
+ for (let i = 0; i < maxLength; ++i) {
1706
+ const aPart = aParts[i];
1707
+ const bPart = bParts[i];
1708
+
1709
+ if (!aPart) return -1;
1710
+ if (!bPart) return 1;
1711
+
1712
+ if (aPart === bPart) continue;
1713
+
1714
+ const aName = aPart.split('(')[0];
1715
+ const bName = bPart.split('(')[0];
1716
+
1717
+ if (aName !== bName) {
1718
+ return aName.localeCompare(bName);
1719
+ } else {
1720
+ return aPart.localeCompare(bPart);
1721
+ }
1722
+ }
643
1723
 
644
- if (aName !== bName) {
645
- return aName.localeCompare(bName);
646
- } else {
647
- return aPart.localeCompare(bPart);
648
- }
1724
+ return 0;
1725
+ });
1726
+
1727
+ // OPTIMIZATION: Pre-compute prefix indexes for O(1) lookups instead of O(n) scans.
1728
+ // This reduces complexity from O(n²) to O(n) for large schemas (9k+ keys).
1729
+ //
1730
+ // 1. extendedReturnValuePrefixes: Set of all path prefixes that have a .functionCallReturnValue extension
1731
+ // Used by hasExtendedFunctionCallReturnValue check at line ~1754
1732
+ // 2. functionCallsWithReturnValue: Set of function call paths where .functionCallReturnValue IMMEDIATELY follows
1733
+ // Used by hasProperFunctionCallPath check at line ~1787
1734
+ // IMPORTANT: Only includes paths where the function call is directly followed by .functionCallReturnValue
1735
+ // e.g., "a.b().functionCallReturnValue" -> adds "a.b()" but NOT "a" even if "a" ends with ")"
1736
+ const extendedReturnValuePrefixes = new Set<string>();
1737
+ const functionCallsWithReturnValue = new Set<string>();
1738
+
1739
+ for (const k of relevantKeys) {
1740
+ const parts = splitOutsideParenthesesAndArrays(k);
1741
+ const returnValueIndex = parts.findIndex((part) =>
1742
+ part.startsWith(RETURN_VALUE),
1743
+ );
1744
+ if (returnValueIndex !== -1) {
1745
+ // Add all prefixes of k up to (but not including) functionCallReturnValue
1746
+ const prefix = joinParenthesesAndArrays(parts.slice(0, returnValueIndex));
1747
+ extendedReturnValuePrefixes.add(prefix);
1748
+
1749
+ // ONLY add to functionCallsWithReturnValue if functionCallReturnValue IMMEDIATELY follows
1750
+ if (prefix.endsWith(')')) {
1751
+ functionCallsWithReturnValue.add(prefix);
649
1752
  }
650
1753
 
651
- return 0;
652
- },
653
- );
1754
+ // Also add intermediate prefixes for nested paths to extendedReturnValuePrefixes
1755
+ // This helps hasExtendedFunctionCallReturnValue which checks key + '.'
1756
+ for (let i = 1; i < returnValueIndex; i++) {
1757
+ const partialPrefix = joinParenthesesAndArrays(parts.slice(0, i));
1758
+ extendedReturnValuePrefixes.add(partialPrefix);
1759
+ }
1760
+ }
1761
+ }
654
1762
 
655
1763
  for (const key of sortedKeys) {
656
1764
  const value = relevantReturnValueSchema[key];
@@ -685,7 +1793,9 @@ export default function constructMockCode(
685
1793
  }
686
1794
  }
687
1795
 
688
- if (parts[0].split('(')[0] !== mockName) continue;
1796
+ // Compare against baseMockName (without generics/args), not the full mockName
1797
+ // e.g., for "useFetcher<User>()", baseMockName is "useFetcher"
1798
+ if (parts[0].split('(')[0] !== baseMockName) continue;
689
1799
 
690
1800
  // Include paths with functionCallReturnValue OR function-typed paths that need mocking
691
1801
  const hasFunctionCallReturnValue = parts.some((p) =>
@@ -700,13 +1810,61 @@ export default function constructMockCode(
700
1810
  // Exclude paths with functionCallReturnValue - those are handled by existing logic
701
1811
  // Also check if there's a functionCallReturnValue path that extends this path
702
1812
  const hasSignaturePath = parts.some((p) => p.startsWith('signature['));
703
- const hasExtendedFunctionCallReturnValue = Object.keys(
704
- relevantReturnValueSchema,
705
- ).some((k) => k.startsWith(key + '.') && k.includes(`.${RETURN_VALUE}`));
1813
+
1814
+ // Skip signature paths entirely - they describe INPUT structure (function arguments),
1815
+ // not OUTPUT (return values). This applies even if they contain functionCallReturnValue
1816
+ // nested inside (e.g., methods on array elements passed as arguments).
1817
+ if (hasSignaturePath) continue;
1818
+
1819
+ // OPTIMIZATION: Use pre-computed index instead of O(n) scan
1820
+ // Old code: Object.keys(relevantReturnValueSchema).some((k) => k.startsWith(key + '.') && k.includes('.functionCallReturnValue'))
1821
+ const hasExtendedFunctionCallReturnValue =
1822
+ extendedReturnValuePrefixes.has(key);
1823
+
1824
+ // Skip JSX components - they look like function calls (e.g., Context.Provider())
1825
+ // but they're React components used in JSX, not functions that need mocking
1826
+ // Check both the value type and whether the functionCallReturnValue is jsx-component
1827
+ const isJsxComponent =
1828
+ value === 'jsx-component' ||
1829
+ relevantReturnValueSchema[key + '.functionCallReturnValue'] ===
1830
+ 'jsx-component';
1831
+ if (isJsxComponent) continue;
1832
+
1833
+ // Skip paths that bypass .functionCallReturnValue when there's a corresponding path with it.
1834
+ // Example: If we have both:
1835
+ // - trpc.customer.useQuery(...).data (incorrect - no .functionCallReturnValue)
1836
+ // - trpc.customer.useQuery(...).functionCallReturnValue.data (correct)
1837
+ // We should skip the first path because the second one properly captures the return value.
1838
+ // This can happen when the analyzer sees both the raw property access and the return value structure.
1839
+ if (!hasFunctionCallReturnValue) {
1840
+ // This path has no .functionCallReturnValue. Check if any function call in this path
1841
+ // has a corresponding .functionCallReturnValue path in the schema.
1842
+ let shouldSkipKey = false;
1843
+ for (let i = 0; i < parts.length - 1; i++) {
1844
+ const part = parts[i];
1845
+ if (part.endsWith(')') && !isFunctionCallReturnValue(parts[i + 1])) {
1846
+ // This part is a function call, and the next part is NOT .functionCallReturnValue
1847
+ // Check if there's any path with .functionCallReturnValue for this function call
1848
+ const functionCallPath = joinParenthesesAndArrays(
1849
+ parts.slice(0, i + 1),
1850
+ );
1851
+ // OPTIMIZATION: Use pre-computed index instead of O(n) scan
1852
+ // Old code: Object.keys(relevantReturnValueSchema).some((k) => k.startsWith(functionCallPath + '.functionCallReturnValue'))
1853
+ const hasProperFunctionCallPath =
1854
+ functionCallsWithReturnValue.has(functionCallPath);
1855
+ if (hasProperFunctionCallPath) {
1856
+ // Skip this path - the .functionCallReturnValue path will handle it correctly
1857
+ shouldSkipKey = true;
1858
+ break;
1859
+ }
1860
+ }
1861
+ }
1862
+ if (shouldSkipKey) continue;
1863
+ }
1864
+
706
1865
  const isFunctionPath =
707
1866
  ['function', 'async-function'].includes(value) &&
708
1867
  parts[parts.length - 1].endsWith(')') &&
709
- !hasSignaturePath &&
710
1868
  !hasAnyFunctionCallReturnValue &&
711
1869
  !hasExtendedFunctionCallReturnValue;
712
1870
  if (!hasFunctionCallReturnValue && !isFunctionPath) continue;
@@ -752,6 +1910,17 @@ export default function constructMockCode(
752
1910
  const nextIsArray = !!nextPart?.match(/^\[\d*\]/);
753
1911
  const isDifferentiatedArray = !!part?.match(/^\[\d+\]/);
754
1912
  const nextIsDifferentiatedArray = !!nextPart?.match(/^\[\d+\]/);
1913
+
1914
+ // Variable index patterns like [currentItemIndex] or [targetIndex] indicate array access
1915
+ // but don't represent actual data structure - they're markers from variable-based index tracking.
1916
+ // Skip them AND all remaining parts to avoid creating spurious nested structure that breaks array iteration.
1917
+ // The remaining parts (e.g., .missing_attributes) describe properties of array elements, which are
1918
+ // already handled by the generic [] accessor path.
1919
+ const isVariableIndex = !!part?.match(/^\[[a-zA-Z_]\w*\]$/);
1920
+ if (isVariableIndex) {
1921
+ // Break out of the loop entirely - don't process any remaining parts
1922
+ break;
1923
+ }
755
1924
  // Find the correct value for the current part being processed
756
1925
  let partValue = value; // default to the final value
757
1926
  if (isFunctionCallReturnValue(part) && nextIsArray) {
@@ -859,7 +2028,52 @@ export default function constructMockCode(
859
2028
  }
860
2029
  }
861
2030
  } else {
862
- returnValueSection.returnsFunctionArgs = [];
2031
+ // Before setting returnsFunctionArgs on the parent (for generic [] = function),
2032
+ // check if there are specific array indices (like [0], [1]) that are NOT functions.
2033
+ // If so, don't set returnsFunctionArgs because those specific indices take precedence.
2034
+ // This prevents adding ["()"] to paths like [0] when [0] is 'unknown' but [] is 'function'.
2035
+ //
2036
+ // Use parts.slice(0, i + 1) to get the current path INCLUDING functionCallReturnValue.
2037
+ // For example, if parts = ['useAtom()','functionCallReturnValue','[]']
2038
+ // and i = 1, we want to check 'useAtom().functionCallReturnValue[0]' etc.
2039
+ const arrayContainerPath = joinParenthesesAndArrays(
2040
+ parts.slice(0, i + 1),
2041
+ );
2042
+
2043
+ const hasNonFunctionSpecificIndices = Object.entries(
2044
+ relevantReturnValueSchema,
2045
+ ).some(([k, v]) => {
2046
+ // Look for paths like "arrayContainerPath[0]", "arrayContainerPath[1]" etc.
2047
+ const indexMatch = k.match(
2048
+ new RegExp(
2049
+ `^${arrayContainerPath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\[(\\d+)\\]$`,
2050
+ ),
2051
+ );
2052
+ // If found and it's NOT a function type, we have a conflict
2053
+ return (
2054
+ indexMatch &&
2055
+ !['function', 'async-function'].includes(v as string)
2056
+ );
2057
+ });
2058
+
2059
+ // Also check if [] has nested object properties (like [].filter, [].name)
2060
+ // If so, [] items are objects with properties, not pure functions to be called
2061
+ // This handles cases where the schema shows [].filter = object but doesn't
2062
+ // have explicit [0] entries
2063
+ const genericArrayPath = `${arrayContainerPath}[]`;
2064
+ const hasNestedProperties = Object.keys(
2065
+ relevantReturnValueSchema,
2066
+ ).some((k) => {
2067
+ // Check for paths like "arrayContainerPath[].propertyName" (not [].())
2068
+ return (
2069
+ k.startsWith(genericArrayPath + '.') &&
2070
+ !k.startsWith(genericArrayPath + '.(')
2071
+ );
2072
+ });
2073
+
2074
+ if (!hasNonFunctionSpecificIndices && !hasNestedProperties) {
2075
+ returnValueSection.returnsFunctionArgs = [];
2076
+ }
863
2077
  }
864
2078
  }
865
2079
  }
@@ -882,6 +2096,12 @@ export default function constructMockCode(
882
2096
  if (['function', 'async-function'].includes(nextValue)) {
883
2097
  continue; // Continue to process the function property
884
2098
  }
2099
+ // If the next part is an object with nested content, continue processing
2100
+ // This handles paths like functionCallReturnValue.selectedOptions.elementOptions[]
2101
+ // Also handles union types like 'array | undefined' or 'object | undefined'
2102
+ if (nextValue?.includes('object') || nextValue?.includes('array')) {
2103
+ continue;
2104
+ }
885
2105
  }
886
2106
  break;
887
2107
  }
@@ -889,11 +2109,35 @@ export default function constructMockCode(
889
2109
  continue;
890
2110
  }
891
2111
 
2112
+ // Handle parts that end with [] (e.g., "elementOptions[]")
2113
+ // These should be treated as the base part + array accessor
2114
+ const endsWithArrayAccessor = part.endsWith('[]') && part !== '[]';
2115
+ const basePart = endsWithArrayAccessor ? part.slice(0, -2) : part;
2116
+
892
2117
  const withoutArgs = (p: ReturnValuePart) => p.name.split('(')[0];
893
2118
  let relevantPart = returnValueSection.nested?.find(
894
2119
  (p: ReturnValuePart) =>
895
- withoutArgs(p) === withoutArgs({ name: part } as ReturnValuePart),
2120
+ withoutArgs(p) === withoutArgs({ name: basePart } as ReturnValuePart),
896
2121
  );
2122
+
2123
+ // If part ends with [], update the existing part to be an array
2124
+ if (endsWithArrayAccessor && relevantPart) {
2125
+ relevantPart.isArray = true;
2126
+ relevantPart.isGenericArray = true;
2127
+ // Create structural [0] element for nested content
2128
+ relevantPart.nested ||= [];
2129
+ if (!relevantPart.nested.find((p) => p.name === '[0]')) {
2130
+ relevantPart.nested.push({
2131
+ name: '[0]',
2132
+ nested: [],
2133
+ isStructural: true,
2134
+ });
2135
+ }
2136
+ // Move to the [0] element for processing subsequent parts
2137
+ returnValueSection = relevantPart.nested.find((p) => p.name === '[0]');
2138
+ continue;
2139
+ }
2140
+
897
2141
  if (!relevantPart) {
898
2142
  const hasArguments = part.includes('(') && part.endsWith(')');
899
2143
  if (part === '[]') {
@@ -917,6 +2161,33 @@ export default function constructMockCode(
917
2161
  continue;
918
2162
  }
919
2163
 
2164
+ // Handle parts that end with [] (e.g., "elementOptions[]") when base part doesn't exist
2165
+ if (endsWithArrayAccessor) {
2166
+ // Create the base part with array properties
2167
+ relevantPart = {
2168
+ name: basePart,
2169
+ isArray: true,
2170
+ isGenericArray: true,
2171
+ nested: [],
2172
+ };
2173
+ returnValueSection.nested ||= [];
2174
+ returnValueSection.nested.push(relevantPart);
2175
+
2176
+ // Create structural [0] element for nested content
2177
+ if (partValue === 'object' && !isLastPart) {
2178
+ relevantPart.nested.push({
2179
+ name: '[0]',
2180
+ nested: [],
2181
+ isStructural: true,
2182
+ });
2183
+ // Move to the [0] element for processing subsequent parts
2184
+ returnValueSection = relevantPart.nested.find(
2185
+ (p) => p.name === '[0]',
2186
+ );
2187
+ }
2188
+ continue;
2189
+ }
2190
+
920
2191
  if (
921
2192
  isLastPart &&
922
2193
  ['function', 'async-function'].includes(value) &&
@@ -957,20 +2228,39 @@ export default function constructMockCode(
957
2228
  ) {
958
2229
  returnValueSection.nested.push(relevantPart);
959
2230
  }
960
- } else if (
961
- funcArgs(part).join(',') !== funcArgs(relevantPart.name).join(',')
962
- ) {
963
- const existingArgs = relevantPart.args.find(
964
- (args) => args.join(',') === funcArgs(part).join(','),
965
- );
2231
+ } else {
2232
+ // Add args to existing entry if current part has function arguments
2233
+ // This handles the case where bare `t` is processed first (creating {name: 't', args: undefined})
2234
+ // and then `t("common.close")` is processed - we need to add its args to the existing entry
2235
+ const currentArgs = funcArgs(part);
2236
+ const hasNewArgs = currentArgs.length > 0 || part.includes('(');
2237
+
2238
+ if (hasNewArgs) {
2239
+ const existingArgs = relevantPart.args?.find(
2240
+ (args) => args.join(',') === currentArgs.join(','),
2241
+ );
966
2242
 
967
- if (!existingArgs) {
968
- relevantPart.args ||= [];
969
- relevantPart.args.push(funcArgs(part));
2243
+ if (!existingArgs) {
2244
+ relevantPart.args ||= [];
2245
+ relevantPart.args.push(currentArgs);
2246
+ }
970
2247
  }
971
2248
  }
972
2249
 
973
- if (!hasNestedFunction) {
2250
+ // If nextPart is [], update existing part to be a generic array
2251
+ if (relevantPart && nextPart === '[]') {
2252
+ relevantPart.isArray = true;
2253
+ relevantPart.isGenericArray = true;
2254
+ }
2255
+
2256
+ // Check if there are remaining parts after functionCallReturnValue that need processing
2257
+ // (e.g., data properties like useQuery().functionCallReturnValue.data)
2258
+ const hasRemainingPartsAfterReturnValue =
2259
+ nextPart &&
2260
+ (isFunctionCallReturnValue(nextPart) ||
2261
+ (isFunctionCallReturnValue(parts[i]) && i < parts.length - 1));
2262
+
2263
+ if (!hasNestedFunction && !hasRemainingPartsAfterReturnValue) {
974
2264
  // Before breaking, check if this function returns an array
975
2265
  // by looking for a functionCallReturnValue: 'array' entry in the schema
976
2266
  if (relevantPart && part.endsWith(')')) {
@@ -1002,6 +2292,7 @@ export default function constructMockCode(
1002
2292
 
1003
2293
  if (mockNameParts.length > 1) {
1004
2294
  const originalLib = `${mockNameParts[0]}__cyOriginal`;
2295
+ const skipOriginalSpread = options?.skipOriginalSpread;
1005
2296
 
1006
2297
  const subPart = (
1007
2298
  parts: string[],
@@ -1013,7 +2304,9 @@ export default function constructMockCode(
1013
2304
 
1014
2305
  const partContents = isLast
1015
2306
  ? contents
1016
- : `...${originalLib}.${part},\n${subPart(parts, originalLib)}`;
2307
+ : skipOriginalSpread
2308
+ ? subPart(parts, originalLib)
2309
+ : `...${originalLib}.${part},\n${subPart(parts, originalLib)}`;
1017
2310
 
1018
2311
  let code = `${part}: {\n${indent(partContents)}\n}`;
1019
2312
 
@@ -1027,27 +2320,31 @@ export default function constructMockCode(
1027
2320
  return code;
1028
2321
  };
1029
2322
 
1030
- const returnParts = [
1031
- `...${mockNameParts[0]}__cyOriginal`,
1032
- subPart(mockNameParts.slice(1), originalLib),
1033
- ].filter(Boolean);
2323
+ const returnParts = skipOriginalSpread
2324
+ ? [subPart(mockNameParts.slice(1), originalLib)]
2325
+ : [
2326
+ `...${mockNameParts[0]}__cyOriginal`,
2327
+ subPart(mockNameParts.slice(1), originalLib),
2328
+ ];
1034
2329
 
1035
- return `const ${mockNameParts[0]} = {\n${indent(returnParts.join(',\n'))}\n};`;
2330
+ return `const ${mockNameParts[0]} = {\n${indent(returnParts.filter(Boolean).join(',\n'))}\n};`;
1036
2331
  } else if (isFunction) {
1037
2332
  // For headers() and cookies() from next/headers, add common iterator methods
1038
2333
  // These are needed when the mock is passed to functions that use .entries(), .keys(), etc.
1039
2334
  // (e.g., Object.fromEntries(headers.entries()) in buildLegacyHeaders)
1040
2335
  const needsIteratorMethods =
1041
- mockName === 'headers' || mockName === 'cookies';
2336
+ baseMockName === 'headers' || baseMockName === 'cookies';
1042
2337
  let enhancedContents = contents;
1043
2338
  if (needsIteratorMethods && contents.trim().startsWith('{')) {
1044
2339
  // Add iterator methods that operate on the scenario data
2340
+ // Use the dataKey (original call signature or canonical key)
2341
+ const quotedDataKey = quotePropertyKey(dataKey);
1045
2342
  const iteratorMethods = `,
1046
- entries: () => Object.entries(scenarios().data()?.["${mockName}()"] || {}),
1047
- keys: () => Object.keys(scenarios().data()?.["${mockName}()"] || {}),
1048
- values: () => Object.values(scenarios().data()?.["${mockName}()"] || {}),
1049
- forEach: (fn) => Object.entries(scenarios().data()?.["${mockName}()"] || {}).forEach(([k, v]) => fn(v, k)),
1050
- has: (key) => Object.prototype.hasOwnProperty.call(scenarios().data()?.["${mockName}()"] || {}, key)`;
2343
+ entries: () => Object.entries(scenarios().data()?.${quotedDataKey} || {}),
2344
+ keys: () => Object.keys(scenarios().data()?.${quotedDataKey} || {}),
2345
+ values: () => Object.values(scenarios().data()?.${quotedDataKey} || {}),
2346
+ forEach: (fn) => Object.entries(scenarios().data()?.${quotedDataKey} || {}).forEach(([k, v]) => fn(v, k)),
2347
+ has: (key) => Object.prototype.hasOwnProperty.call(scenarios().data()?.${quotedDataKey} || {}, key)`;
1051
2348
  // Insert before the closing brace (handle trailing whitespace)
1052
2349
  enhancedContents = contents.replace(/\}\s*$/, iteratorMethods + '\n}');
1053
2350
  }
@@ -1058,24 +2355,157 @@ export default function constructMockCode(
1058
2355
  // `new ClassName("arg")` wouldn't create the expected instance.
1059
2356
  // For Error subclasses (detected by name ending in "Error"), extend Error for proper error handling.
1060
2357
  if (entityType === 'class') {
1061
- const isErrorSubclass = mockName.endsWith('Error');
1062
- const baseClass = isErrorSubclass ? 'Error' : 'Object';
2358
+ const isErrorSubclass = baseMockName.endsWith('Error');
1063
2359
  const superCall = isErrorSubclass ? 'super(message);' : '';
1064
2360
  const nameAssignment = isErrorSubclass
1065
- ? `this.name = '${mockName}';`
2361
+ ? `this.name = '${baseMockName}';`
1066
2362
  : '';
2363
+ // Use the safe function name for the class definition
2364
+ const className = mockNameIsCallSignature
2365
+ ? derivedFunctionName
2366
+ : baseMockName;
1067
2367
 
1068
- return `class ${mockName}${isErrorSubclass ? ' extends Error' : ''} {
2368
+ return `class ${className}${isErrorSubclass ? ' extends Error' : ''} {
1069
2369
  constructor(message) {
1070
2370
  ${superCall}
1071
2371
  ${nameAssignment}
1072
- Object.assign(this, scenarios().data()?.["${mockName}()"] || {});
2372
+ Object.assign(this, scenarios().data()?.${quotePropertyKey(dataKey)} || {});
1073
2373
  }
1074
2374
  }`;
1075
2375
  }
1076
2376
 
1077
- return `const ${mockName}ReturnValue = ${enhancedContents};\n\n${isRootAsyncFunction ? 'async ' : ''}function ${mockName}() {\n${indent(`return ${mockName}ReturnValue;`)}\n}`;
2377
+ // Generate safe function name:
2378
+ // 1. For call signatures: use derivedFunctionName
2379
+ // e.g., "useFetcher<User>()" becomes "useFetcher_User"
2380
+ // e.g., "db.select(usersQuery)" becomes "db_select_usersQuery"
2381
+ // 2. With uniqueFunctionSuffix option: append suffix for unique naming
2382
+ // e.g., baseMockName = "useFetcher", suffix = "entityDiffFetcher" -> "useFetcher_entityDiffFetcher"
2383
+ // 3. EXCEPTION: When keepOriginalFunctionName is true (for single-call cases), use the base name
2384
+ let safeFunctionName: string;
2385
+ if (options?.keepOriginalFunctionName) {
2386
+ safeFunctionName = baseMockName;
2387
+ } else if (options?.uniqueFunctionSuffix) {
2388
+ safeFunctionName = `${baseMockName}_${options.uniqueFunctionSuffix}`;
2389
+ } else if (mockNameIsCallSignature && derivedFunctionName) {
2390
+ safeFunctionName = derivedFunctionName;
2391
+ } else {
2392
+ safeFunctionName = baseMockName;
2393
+ }
2394
+
2395
+ // Check if this function returns a function (detected by double-call pattern: mockName(args)())
2396
+ // This happens when the schema has keys like "wrapThrows(() => JSON.parse(savedFilters))()"
2397
+ // where the function call is immediately followed by another call.
2398
+ // Example usage: const result = wrapThrows(() => JSON.parse(x))(); // double call
2399
+ const isHigherOrderFunction = Object.keys(
2400
+ relevantReturnValueSchema ?? {},
2401
+ ).some((key) => {
2402
+ if (!key.startsWith(baseMockName)) return false;
2403
+
2404
+ // Find the first ( after baseMockName (the start of the function call)
2405
+ const firstOpenParen = key.indexOf('(', baseMockName.length);
2406
+ if (firstOpenParen === -1) return false;
2407
+
2408
+ // Skip if the ( is not immediately after the mock name
2409
+ // (there might be type params like func<T>() - handle by checking for < or ()
2410
+ const between = key.slice(baseMockName.length, firstOpenParen);
2411
+ if (between.length > 0 && !between.startsWith('<')) return false;
2412
+
2413
+ // Find the matching ) for the first ( using depth counting
2414
+ let depth = 1;
2415
+ let i = firstOpenParen + 1;
2416
+ while (i < key.length && depth > 0) {
2417
+ if (key[i] === '(') depth++;
2418
+ if (key[i] === ')') depth--;
2419
+ i++;
2420
+ }
2421
+
2422
+ if (depth !== 0) return false; // Unbalanced parentheses
2423
+
2424
+ // Now i points just after the matching )
2425
+ // Check if there's another ( immediately (indicating double call)
2426
+ const remaining = key.slice(i);
2427
+ if (remaining.startsWith('(')) return true;
2428
+
2429
+ return false;
2430
+ });
2431
+
2432
+ // Use ...args to accept any number of arguments - prevents TypeScript errors
2433
+ // like "Expected 0 arguments, but got X" when caller passes arguments
2434
+ // For higher-order functions, wrap the return in an arrow function
2435
+ // so that mockFunc(arg)() works correctly (outer call returns a function, inner call gets the data)
2436
+ const returnValue = isHigherOrderFunction
2437
+ ? `() => (${enhancedContents})`
2438
+ : enhancedContents;
2439
+
2440
+ // Inline the return value directly in the function to avoid module-level const
2441
+ // that would be evaluated before scenario context is ready
2442
+ // Add fallback for simple data path returns to prevent undefined errors (e.g., createTheme)
2443
+ // Only add fallback if returnValue is a simple data accessor (starts with scenarios().data())
2444
+ // and doesn't already have nested structure (object literal, array, or method chains like .map())
2445
+ const isSimpleDataPath =
2446
+ returnValue.startsWith('scenarios().data()') &&
2447
+ !returnValue.trim().startsWith('{') &&
2448
+ !returnValue.trim().startsWith('[') &&
2449
+ !returnValue.includes('.map('); // Exclude method chains
2450
+ const safeReturnValue = isSimpleDataPath
2451
+ ? `${returnValue} ?? {}`
2452
+ : returnValue;
2453
+ const refName = `_${safeFunctionName}Ref`;
2454
+ const assignment = `${refName}.current = ${safeReturnValue};`;
2455
+ const ifBlock = `if (!${refName}.current) {\n${indent(assignment)}\n}`;
2456
+ const body = `${ifBlock}\nreturn ${refName}.current;`;
2457
+
2458
+ return [
2459
+ `// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)`,
2460
+ `const ${refName} = {`,
2461
+ ` current: null,`,
2462
+ `};`,
2463
+ `${isRootAsyncFunction ? 'async ' : ''}function ${safeFunctionName}(...args) {`,
2464
+ indent(body),
2465
+ `}`,
2466
+ ].join('\n');
1078
2467
  } else {
1079
- return `const ${mockName} = ${contents}`;
2468
+ // Generate safe const name:
2469
+ // 1. For call signatures: use derivedFunctionName
2470
+ // 2. With uniqueFunctionSuffix option: append suffix for unique naming
2471
+ // 3. EXCEPTION: When keepOriginalFunctionName is true (for single-call cases), use the base name
2472
+ let safeName: string;
2473
+ if (options?.keepOriginalFunctionName) {
2474
+ safeName = baseMockName;
2475
+ } else if (options?.uniqueFunctionSuffix) {
2476
+ safeName = `${baseMockName}_${options.uniqueFunctionSuffix}`;
2477
+ } else if (mockNameIsCallSignature && derivedFunctionName) {
2478
+ safeName = derivedFunctionName;
2479
+ } else {
2480
+ safeName = baseMockName;
2481
+ }
2482
+
2483
+ // Get any jsx-component properties that need to be preserved from the original
2484
+ const jsxProperties = getJsxComponentProperties(
2485
+ mockName,
2486
+ relevantReturnValueSchema,
2487
+ );
2488
+
2489
+ // If there are jsx-component properties, add them as references to the original
2490
+ if (jsxProperties.length > 0) {
2491
+ const jsxPreservations = jsxProperties
2492
+ .map((prop) => `${prop}: ${mockName}__cyOriginal.${prop}`)
2493
+ .join(',\n');
2494
+
2495
+ if (contents.trim().startsWith('{')) {
2496
+ // Contents is already an object - insert jsx preservations before the closing brace
2497
+ const enhancedContents = contents.replace(
2498
+ /\}\s*$/,
2499
+ `,\n${indent(jsxPreservations)}\n}`,
2500
+ );
2501
+ return `const ${safeName} = ${enhancedContents}`;
2502
+ } else {
2503
+ // Contents is a simple accessor (e.g., scenarios().data()?.["MockName"])
2504
+ // Wrap it in an object with the jsx preservations
2505
+ return `const ${safeName} = {\n${indent(`...${contents}`)},\n${indent(jsxPreservations)}\n}`;
2506
+ }
2507
+ }
2508
+
2509
+ return `const ${safeName} = ${contents}`;
1080
2510
  }
1081
2511
  }