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

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 (1184) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/common/execAsync.ts +1 -1
  3. package/analyzer-template/log.txt +3 -3
  4. package/analyzer-template/package.json +31 -28
  5. package/analyzer-template/packages/ai/index.ts +21 -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 +226 -24
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +217 -13
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +181 -23
  13. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  14. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +15 -0
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  17. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1229 -30
  18. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  19. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +265 -6
  20. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  21. package/analyzer-template/packages/ai/src/lib/completionCall.ts +247 -66
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2136 -349
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +7 -2
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +296 -35
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +120 -76
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +140 -20
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +140 -14
  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 +393 -90
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  38. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  39. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -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 +74 -7
  44. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +86 -142
  45. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +59 -3
  46. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1497 -88
  47. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +200 -196
  48. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +710 -0
  49. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  50. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  51. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  52. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +5 -5
  53. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  54. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  55. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  56. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -142
  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 +110 -6
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -89
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +11 -11
  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 +122 -3
  71. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  72. package/analyzer-template/packages/analyze/index.ts +2 -0
  73. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  74. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +132 -33
  75. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  76. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  77. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  78. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  79. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  81. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  83. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  84. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  85. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  86. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +466 -270
  87. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +42 -1
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +15 -0
  89. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  90. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  91. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  92. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  93. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  94. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  95. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  96. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  97. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1352 -0
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +201 -46
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +593 -84
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +460 -84
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +35 -129
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -3
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +990 -141
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  108. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  109. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  110. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  111. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  112. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  113. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  114. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  115. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  116. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  117. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  118. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  119. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  120. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  124. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  125. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  126. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  127. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  128. package/analyzer-template/packages/aws/package.json +10 -10
  129. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  130. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  131. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  132. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  133. package/analyzer-template/packages/database/index.ts +1 -0
  134. package/analyzer-template/packages/database/package.json +4 -4
  135. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  136. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  137. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  138. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  139. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  140. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  141. package/analyzer-template/packages/database/src/lib/kysely/db.ts +22 -1
  142. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  143. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +17 -1
  144. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +62 -0
  145. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  146. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  147. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  148. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  149. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  150. package/analyzer-template/packages/database/src/lib/loadCommits.ts +58 -19
  151. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  152. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  153. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +5 -6
  154. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  155. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  156. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  157. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +153 -144
  158. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  159. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  160. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  161. package/analyzer-template/packages/generate/index.ts +3 -0
  162. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  163. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +221 -0
  164. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  165. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  166. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  167. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  168. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  169. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  170. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  171. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  172. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  173. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  174. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  175. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  176. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  178. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  179. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -0
  184. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  185. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +16 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  187. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -18
  188. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  189. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  190. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  191. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  192. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +17 -1
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +20 -0
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +7 -6
  207. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  208. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  210. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  211. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  212. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  213. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  214. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  215. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  216. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  217. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  218. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  219. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  220. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  221. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  222. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +45 -14
  223. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  224. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  225. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  226. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  227. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  228. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  229. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  230. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  231. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  232. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  233. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  234. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  235. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  236. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  237. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  238. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  239. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  240. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  241. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  242. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +100 -88
  243. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  244. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  245. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  246. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  247. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  248. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  249. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  250. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  251. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  252. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  253. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  254. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  255. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  256. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  257. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  258. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  259. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  260. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  261. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  262. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  263. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  264. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  265. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  266. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  267. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  268. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  269. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  270. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  271. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  272. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  273. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  274. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  275. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  276. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  277. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  278. package/analyzer-template/packages/github/dist/types/index.d.ts +3 -4
  279. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  280. package/analyzer-template/packages/github/dist/types/index.js +0 -1
  281. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  282. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +71 -27
  283. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  284. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  285. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  286. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  287. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  288. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  289. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  290. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +19 -54
  291. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  292. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +1 -21
  293. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  294. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  295. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  296. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  297. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  298. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  299. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  300. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  301. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  302. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  303. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  304. package/analyzer-template/packages/github/package.json +2 -2
  305. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  306. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  307. package/analyzer-template/packages/process/index.ts +2 -0
  308. package/analyzer-template/packages/process/package.json +12 -0
  309. package/analyzer-template/packages/process/tsconfig.json +8 -0
  310. package/analyzer-template/packages/types/index.ts +3 -6
  311. package/analyzer-template/packages/types/src/types/Analysis.ts +87 -27
  312. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  313. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  314. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +8 -0
  315. package/analyzer-template/packages/types/src/types/Scenario.ts +19 -77
  316. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +181 -5
  317. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  318. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  319. package/analyzer-template/packages/utils/dist/types/index.d.ts +3 -4
  320. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  321. package/analyzer-template/packages/utils/dist/types/index.js +0 -1
  322. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  323. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +71 -27
  324. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  325. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  326. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  327. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  328. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  329. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  330. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  331. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +19 -54
  332. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  333. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +1 -21
  334. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  335. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  336. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  337. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  338. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  339. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  340. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  341. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  342. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
  343. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  344. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  345. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  346. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  347. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  348. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
  349. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  350. package/analyzer-template/playwright/capture.ts +57 -26
  351. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  352. package/analyzer-template/playwright/captureStatic.ts +1 -1
  353. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  354. package/analyzer-template/playwright/waitForServer.ts +21 -6
  355. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  356. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  357. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  358. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  359. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  360. package/analyzer-template/project/constructMockCode.ts +1341 -198
  361. package/analyzer-template/project/controller/startController.ts +16 -1
  362. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  363. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  364. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  365. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  366. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  367. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  368. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  369. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  370. package/analyzer-template/project/orchestrateCapture.ts +85 -10
  371. package/analyzer-template/project/reconcileMockDataKeys.ts +231 -84
  372. package/analyzer-template/project/runAnalysis.ts +11 -0
  373. package/analyzer-template/project/serverOnlyModules.ts +127 -2
  374. package/analyzer-template/project/start.ts +54 -15
  375. package/analyzer-template/project/startScenarioCapture.ts +15 -0
  376. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  377. package/analyzer-template/project/writeMockDataTsx.ts +362 -32
  378. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  379. package/analyzer-template/project/writeScenarioComponents.ts +466 -133
  380. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  381. package/analyzer-template/project/writeSimpleRoot.ts +28 -42
  382. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  383. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  384. package/analyzer-template/tsconfig.json +14 -1
  385. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  386. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  387. package/background/src/lib/local/execAsync.js +1 -1
  388. package/background/src/lib/local/execAsync.js.map +1 -1
  389. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  390. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  391. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  392. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  393. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  394. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  395. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  396. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  397. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  398. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  399. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  400. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  401. package/background/src/lib/virtualized/project/constructMockCode.js +1179 -147
  402. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  403. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  404. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  405. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  406. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  407. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  408. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  409. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  410. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  411. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  412. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  413. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  414. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  415. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  416. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  417. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  418. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  419. package/background/src/lib/virtualized/project/orchestrateCapture.js +69 -11
  420. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  421. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +198 -51
  422. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  423. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  424. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  425. package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
  426. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  427. package/background/src/lib/virtualized/project/start.js +49 -15
  428. package/background/src/lib/virtualized/project/start.js.map +1 -1
  429. package/background/src/lib/virtualized/project/startScenarioCapture.js +12 -0
  430. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  431. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  432. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  433. package/background/src/lib/virtualized/project/writeMockDataTsx.js +313 -27
  434. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  435. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  436. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  437. package/background/src/lib/virtualized/project/writeScenarioComponents.js +359 -110
  438. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  439. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  440. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  441. package/background/src/lib/virtualized/project/writeSimpleRoot.js +28 -41
  442. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  443. package/codeyam-cli/scripts/apply-setup.js +386 -9
  444. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  445. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  446. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  447. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  448. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  449. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  450. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  451. package/codeyam-cli/src/cli.js +38 -23
  452. package/codeyam-cli/src/cli.js.map +1 -1
  453. package/codeyam-cli/src/codeyam-cli.js +18 -2
  454. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  455. package/codeyam-cli/src/commands/analyze.js +22 -10
  456. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  457. package/codeyam-cli/src/commands/baseline.js +176 -0
  458. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  459. package/codeyam-cli/src/commands/debug.js +37 -23
  460. package/codeyam-cli/src/commands/debug.js.map +1 -1
  461. package/codeyam-cli/src/commands/default.js +43 -35
  462. package/codeyam-cli/src/commands/default.js.map +1 -1
  463. package/codeyam-cli/src/commands/editor.js +2027 -0
  464. package/codeyam-cli/src/commands/editor.js.map +1 -0
  465. package/codeyam-cli/src/commands/init.js +81 -260
  466. package/codeyam-cli/src/commands/init.js.map +1 -1
  467. package/codeyam-cli/src/commands/memory.js +278 -0
  468. package/codeyam-cli/src/commands/memory.js.map +1 -0
  469. package/codeyam-cli/src/commands/recapture.js +31 -18
  470. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  471. package/codeyam-cli/src/commands/report.js +46 -1
  472. package/codeyam-cli/src/commands/report.js.map +1 -1
  473. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  474. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  475. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  476. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  477. package/codeyam-cli/src/commands/start.js +8 -12
  478. package/codeyam-cli/src/commands/start.js.map +1 -1
  479. package/codeyam-cli/src/commands/status.js +23 -1
  480. package/codeyam-cli/src/commands/status.js.map +1 -1
  481. package/codeyam-cli/src/commands/test-startup.js +3 -1
  482. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  483. package/codeyam-cli/src/commands/verify.js +14 -2
  484. package/codeyam-cli/src/commands/verify.js.map +1 -1
  485. package/codeyam-cli/src/commands/wipe.js +108 -0
  486. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  487. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +480 -0
  488. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  489. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +126 -0
  490. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  491. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +306 -0
  492. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  493. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  494. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  495. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +100 -0
  496. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  497. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +147 -0
  498. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  499. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +105 -0
  500. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  501. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1217 -0
  502. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  503. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  504. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  505. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  506. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  507. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  508. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  509. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  510. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  511. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  512. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  513. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  514. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  515. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +154 -82
  516. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  517. package/codeyam-cli/src/utils/analysisRunner.js +29 -15
  518. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  519. package/codeyam-cli/src/utils/analyzer.js +7 -0
  520. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  521. package/codeyam-cli/src/utils/backgroundServer.js +120 -23
  522. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  523. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  524. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  525. package/codeyam-cli/src/utils/database.js +91 -5
  526. package/codeyam-cli/src/utils/database.js.map +1 -1
  527. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  528. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  529. package/codeyam-cli/src/utils/editorAudit.js +122 -0
  530. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  531. package/codeyam-cli/src/utils/editorDevServer.js +98 -0
  532. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  533. package/codeyam-cli/src/utils/editorJournal.js +144 -0
  534. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  535. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  536. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  537. package/codeyam-cli/src/utils/editorPreloadHelpers.js +64 -0
  538. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  539. package/codeyam-cli/src/utils/editorPreview.js +66 -0
  540. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  541. package/codeyam-cli/src/utils/editorScenarios.js +56 -0
  542. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  543. package/codeyam-cli/src/utils/entityChangeStatus.js +255 -0
  544. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  545. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  546. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  547. package/codeyam-cli/src/utils/fileWatcher.js +25 -9
  548. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  549. package/codeyam-cli/src/utils/generateReport.js +4 -3
  550. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  551. package/codeyam-cli/src/utils/git.js +182 -0
  552. package/codeyam-cli/src/utils/git.js.map +1 -0
  553. package/codeyam-cli/src/utils/install-skills.js +120 -39
  554. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  555. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  556. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  557. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  558. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  559. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  560. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  561. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  562. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  563. package/codeyam-cli/src/utils/progress.js +7 -0
  564. package/codeyam-cli/src/utils/progress.js.map +1 -1
  565. package/codeyam-cli/src/utils/project.js +15 -5
  566. package/codeyam-cli/src/utils/project.js.map +1 -1
  567. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  568. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  569. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  570. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  571. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  572. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  573. package/codeyam-cli/src/utils/queue/job.js +179 -1
  574. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  575. package/codeyam-cli/src/utils/queue/manager.js +7 -0
  576. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  577. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  578. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  579. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  580. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  581. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  582. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
  583. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  584. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  585. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  586. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  587. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  588. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  589. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  590. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  591. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  592. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  593. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  594. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  595. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  596. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
  597. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  598. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  599. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  600. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  601. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  602. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  603. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  604. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  605. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  606. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  607. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  608. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  609. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  610. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  611. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  612. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  613. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  614. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  615. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  616. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  617. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  618. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  619. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  620. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  621. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  622. package/codeyam-cli/src/utils/rules/index.js +7 -0
  623. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  624. package/codeyam-cli/src/utils/rules/parser.js +93 -0
  625. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  626. package/codeyam-cli/src/utils/rules/pathMatcher.js +49 -0
  627. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  628. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  629. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  630. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  631. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  632. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  633. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  634. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  635. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  636. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  637. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  638. package/codeyam-cli/src/utils/serverState.js +64 -12
  639. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  640. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +65 -41
  641. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  642. package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
  643. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  644. package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
  645. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  646. package/codeyam-cli/src/utils/testRunner.js +158 -0
  647. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  648. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  649. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  650. package/codeyam-cli/src/utils/versionInfo.js +67 -15
  651. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  652. package/codeyam-cli/src/utils/webappDetection.js +14 -2
  653. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  654. package/codeyam-cli/src/utils/wipe.js +128 -0
  655. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  656. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  657. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  658. package/codeyam-cli/src/webserver/app/lib/database.js +129 -50
  659. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  660. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  661. package/codeyam-cli/src/webserver/backgroundServer.js +166 -16
  662. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  663. package/codeyam-cli/src/webserver/bootstrap.js +51 -0
  664. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  665. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-DmJveP3T.js +1 -0
  666. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-C76mRRiF.js +11 -0
  667. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-CzGX-miz.js → EntityTypeBadge-g3saevPb.js} +1 -1
  668. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CobE682z.js +41 -0
  669. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +1 -0
  670. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DYFW3lDD.js +25 -0
  671. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CBQPrpT0.js → LibraryFunctionPreview-DLeucoVX.js} +1 -1
  672. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-D1CdlbrV.js → LoadingDots-BU_OAEMP.js} +1 -1
  673. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-wDPcZNKx.js → LogViewer-ceAyBX-H.js} +1 -1
  674. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-djPLI-WV.js +11 -0
  675. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-BfmDgXxG.js → SafeScreenshot-BED4B6sP.js} +1 -1
  676. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-B76aig_2.js +10 -0
  677. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +34 -0
  678. package/codeyam-cli/src/webserver/build/client/assets/Terminal-nZNBALox.js +41 -0
  679. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-6J7zDUD5.js → TruncatedFilePath-C8OKAR5x.js} +1 -1
  680. package/codeyam-cli/src/webserver/build/client/assets/_index-C96V0n15.js +11 -0
  681. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BpKzcsJz.js +27 -0
  682. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-CUXOrorO.js +1 -0
  683. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-Duc5hnl7.js +1 -0
  684. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-D9hemwl6.js +22 -0
  685. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  686. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  687. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  688. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  689. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  690. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  691. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  692. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  693. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  694. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  695. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  696. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  697. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  698. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  699. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  700. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  701. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  702. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  703. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  704. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  705. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  706. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  707. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  708. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  709. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  710. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  711. package/codeyam-cli/src/webserver/build/client/assets/book-open-D_nMCFmP.js +6 -0
  712. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BYimnrHg.js → chevron-down-BH2h1Ea2.js} +1 -1
  713. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-C4pqxYJB.js +51 -0
  714. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CaVsIRxt.js → circle-check-DyIKORY6.js} +1 -1
  715. package/codeyam-cli/src/webserver/build/client/assets/copy-NDbZjXao.js +11 -0
  716. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-CgUsG7ib.js → createLucideIcon-CMT1jU2q.js} +1 -1
  717. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  718. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  719. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BiM6z3Do.js +1 -0
  720. package/codeyam-cli/src/webserver/build/client/assets/editor-DTwKl1Xu.js +10 -0
  721. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-zUEpfPsu.js → entity._sha._-CrjR3zZW.js} +12 -12
  722. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-DjACbfdI.js +6 -0
  723. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C28BiQzt.js +6 -0
  724. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +6 -0
  725. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CfLCUi9S.js → entity._sha_.edit._scenarioId-BMvVHNXU.js} +2 -2
  726. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DKJyZfAY.js → entry.client-DTvKq3TY.js} +6 -6
  727. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  728. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DAtOlaWE.js → fileTableUtils-cPo8LiG3.js} +1 -1
  729. package/codeyam-cli/src/webserver/build/client/assets/files-DO4CZ16O.js +1 -0
  730. package/codeyam-cli/src/webserver/build/client/assets/git-CdN8sCqs.js +1 -0
  731. package/codeyam-cli/src/webserver/build/client/assets/globals-h1-1oFYI.css +1 -0
  732. package/codeyam-cli/src/webserver/build/client/assets/{index-CzNNiTkw.js → index-10oVnAAH.js} +1 -1
  733. package/codeyam-cli/src/webserver/build/client/assets/{index-BosqDOlH.js → index-BcvgDzbZ.js} +1 -1
  734. package/codeyam-cli/src/webserver/build/client/assets/index-yHOVb4rc.js +15 -0
  735. package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +1 -0
  736. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CNp9QFCX.js → loader-circle-BAXYRVEO.js} +1 -1
  737. package/codeyam-cli/src/webserver/build/client/assets/manifest-9422aeab.js +1 -0
  738. package/codeyam-cli/src/webserver/build/client/assets/memory-Dg0mvYrI.js +96 -0
  739. package/codeyam-cli/src/webserver/build/client/assets/pause-DTAcYxBt.js +11 -0
  740. package/codeyam-cli/src/webserver/build/client/assets/root-BzQgN2ff.js +67 -0
  741. package/codeyam-cli/src/webserver/build/client/assets/{search-DDGjYAMJ.js → search-fKo7v0Zo.js} +1 -1
  742. package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +1 -0
  743. package/codeyam-cli/src/webserver/build/client/assets/simulations-B3aOzpCZ.js +1 -0
  744. package/codeyam-cli/src/webserver/build/client/assets/terminal-BG4heKCG.js +11 -0
  745. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CBc5dE1s.js → triangle-alert-DtSmdtM4.js} +1 -1
  746. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-ByhSyh0W.js +1 -0
  747. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +2 -0
  748. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-O-jkvSPx.js +1 -0
  749. package/codeyam-cli/src/webserver/build/client/assets/{useToast-DWHcCcl1.js → useToast-9FIWuYfK.js} +1 -1
  750. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  751. package/codeyam-cli/src/webserver/build/server/assets/index-Bh_pNxNA.js +1 -0
  752. package/codeyam-cli/src/webserver/build/server/assets/server-build-Bqr22tlO.js +367 -0
  753. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  754. package/codeyam-cli/src/webserver/build-info.json +5 -5
  755. package/codeyam-cli/src/webserver/devServer.js +39 -5
  756. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  757. package/codeyam-cli/src/webserver/editorProxy.js +440 -0
  758. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  759. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +175 -0
  760. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +140 -0
  761. package/codeyam-cli/src/webserver/server.js +287 -26
  762. package/codeyam-cli/src/webserver/server.js.map +1 -1
  763. package/codeyam-cli/src/webserver/terminalServer.js +698 -0
  764. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  765. package/codeyam-cli/templates/codeyam-editor-claude.md +68 -0
  766. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  767. package/codeyam-cli/templates/commands/codeyam-diagnose.md +481 -0
  768. package/codeyam-cli/templates/editor-step-hook.py +194 -0
  769. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  770. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  771. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  772. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  773. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  774. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  775. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  776. package/codeyam-cli/templates/nextjs-prisma-sqlite/PRISMA_SETUP.md +84 -0
  777. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  778. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  779. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  780. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +19 -0
  781. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  782. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  783. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +43 -0
  784. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  785. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +35 -0
  786. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  787. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  788. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +37 -0
  789. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  790. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  791. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  792. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  793. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  794. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  795. package/codeyam-cli/templates/rule-notification-hook.py +83 -0
  796. package/codeyam-cli/templates/rule-reflection-hook.py +647 -0
  797. package/codeyam-cli/templates/rules-instructions.md +78 -0
  798. package/codeyam-cli/templates/{codeyam-debug-skill.md → skills/codeyam-debug/SKILL.md} +48 -4
  799. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  800. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +74 -0
  801. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +611 -0
  802. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  803. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  804. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  805. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  806. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  807. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  808. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  809. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  810. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  811. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  812. package/codeyam-cli/templates/skills/codeyam-new-rule/SKILL.md +11 -0
  813. package/codeyam-cli/templates/{codeyam-setup-skill.md → skills/codeyam-setup/SKILL.md} +151 -4
  814. package/codeyam-cli/templates/{codeyam-sim-skill.md → skills/codeyam-sim/SKILL.md} +1 -1
  815. package/codeyam-cli/templates/{codeyam-test-skill.md → skills/codeyam-test/SKILL.md} +1 -1
  816. package/codeyam-cli/templates/{codeyam-verify-skill.md → skills/codeyam-verify/SKILL.md} +1 -1
  817. package/package.json +29 -24
  818. package/packages/ai/index.js +8 -6
  819. package/packages/ai/index.js.map +1 -1
  820. package/packages/ai/src/lib/analyzeScope.js +179 -13
  821. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  822. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  823. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  824. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +160 -13
  825. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  826. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  827. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  828. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  829. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  830. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  831. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  832. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  833. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  834. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +7 -0
  835. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  836. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  837. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  838. package/packages/ai/src/lib/astScopes/processExpression.js +944 -30
  839. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  840. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  841. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  842. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  843. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  844. package/packages/ai/src/lib/completionCall.js +188 -38
  845. package/packages/ai/src/lib/completionCall.js.map +1 -1
  846. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1693 -206
  847. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  848. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +7 -2
  849. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  850. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +230 -23
  851. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  852. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +77 -55
  853. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  854. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  855. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  856. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  857. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  858. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
  859. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  860. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +122 -14
  861. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  862. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  863. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  864. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  865. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  866. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +122 -12
  867. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  868. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
  869. package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
  870. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  871. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  872. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  873. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  874. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -81
  875. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  876. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  877. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  878. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  879. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  880. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  881. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  882. package/packages/ai/src/lib/deepEqual.js +32 -0
  883. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  884. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  885. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  886. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  887. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  888. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
  889. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  890. package/packages/ai/src/lib/generateChangesEntityScenarios.js +78 -120
  891. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  892. package/packages/ai/src/lib/generateEntityDataStructure.js +47 -2
  893. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  894. package/packages/ai/src/lib/generateEntityScenarioData.js +1185 -83
  895. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  896. package/packages/ai/src/lib/generateEntityScenarios.js +177 -163
  897. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  898. package/packages/ai/src/lib/generateExecutionFlows.js +495 -0
  899. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  900. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  901. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  902. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  903. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  904. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  905. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  906. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -2
  907. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  908. package/packages/ai/src/lib/isolateScopes.js +270 -7
  909. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  910. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  911. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  912. package/packages/ai/src/lib/mergeStatements.js +88 -46
  913. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  914. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  915. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  916. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  917. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  918. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  919. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  920. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -100
  921. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  922. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  923. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  924. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  925. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  926. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -70
  927. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  928. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  929. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  930. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +9 -9
  931. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  932. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  933. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  934. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  935. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  936. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  937. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  938. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  939. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  940. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  941. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  942. package/packages/analyze/index.js +1 -0
  943. package/packages/analyze/index.js.map +1 -1
  944. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  945. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  946. package/packages/analyze/src/lib/ProjectAnalyzer.js +109 -30
  947. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  948. package/packages/analyze/src/lib/analysisContext.js +30 -5
  949. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  950. package/packages/analyze/src/lib/asts/index.js +4 -2
  951. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  952. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  953. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  954. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  955. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  956. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  957. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  958. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  959. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  960. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  961. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  962. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  963. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  964. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  965. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  966. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  967. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  968. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  969. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  970. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +211 -54
  971. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  972. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +31 -1
  973. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  974. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +11 -0
  975. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  976. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  977. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  978. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  979. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  980. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  981. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  982. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  983. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  984. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  985. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  986. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  987. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  988. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  989. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  990. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  991. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  992. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +907 -0
  993. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  994. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +170 -40
  995. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  996. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  997. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  998. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +480 -71
  999. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1000. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  1001. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1002. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +333 -66
  1003. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1004. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  1005. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1006. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +27 -98
  1007. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1008. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -3
  1009. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1010. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +817 -120
  1011. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1012. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  1013. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1014. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  1015. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1016. package/packages/analyze/src/lib/index.js +1 -0
  1017. package/packages/analyze/src/lib/index.js.map +1 -1
  1018. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1019. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1020. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  1021. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  1022. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  1023. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  1024. package/packages/database/index.js +1 -0
  1025. package/packages/database/index.js.map +1 -1
  1026. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  1027. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  1028. package/packages/database/src/lib/analysisToDb.js +1 -1
  1029. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  1030. package/packages/database/src/lib/branchToDb.js +1 -1
  1031. package/packages/database/src/lib/branchToDb.js.map +1 -1
  1032. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  1033. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  1034. package/packages/database/src/lib/commitToDb.js +1 -1
  1035. package/packages/database/src/lib/commitToDb.js.map +1 -1
  1036. package/packages/database/src/lib/fileToDb.js +1 -1
  1037. package/packages/database/src/lib/fileToDb.js.map +1 -1
  1038. package/packages/database/src/lib/kysely/db.js +16 -1
  1039. package/packages/database/src/lib/kysely/db.js.map +1 -1
  1040. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  1041. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  1042. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  1043. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
  1044. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  1045. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1046. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1047. package/packages/database/src/lib/loadAnalyses.js +45 -2
  1048. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  1049. package/packages/database/src/lib/loadAnalysis.js +8 -0
  1050. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  1051. package/packages/database/src/lib/loadBranch.js +11 -1
  1052. package/packages/database/src/lib/loadBranch.js.map +1 -1
  1053. package/packages/database/src/lib/loadCommit.js +7 -0
  1054. package/packages/database/src/lib/loadCommit.js.map +1 -1
  1055. package/packages/database/src/lib/loadCommits.js +45 -14
  1056. package/packages/database/src/lib/loadCommits.js.map +1 -1
  1057. package/packages/database/src/lib/loadEntities.js +23 -4
  1058. package/packages/database/src/lib/loadEntities.js.map +1 -1
  1059. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  1060. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  1061. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  1062. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  1063. package/packages/database/src/lib/projectToDb.js +1 -1
  1064. package/packages/database/src/lib/projectToDb.js.map +1 -1
  1065. package/packages/database/src/lib/saveFiles.js +1 -1
  1066. package/packages/database/src/lib/saveFiles.js.map +1 -1
  1067. package/packages/database/src/lib/scenarioToDb.js +1 -1
  1068. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  1069. package/packages/database/src/lib/updateCommitMetadata.js +100 -88
  1070. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  1071. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  1072. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  1073. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  1074. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  1075. package/packages/generate/index.js +3 -0
  1076. package/packages/generate/index.js.map +1 -1
  1077. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  1078. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  1079. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  1080. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  1081. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  1082. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  1083. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  1084. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1085. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  1086. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  1087. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  1088. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  1089. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  1090. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  1091. package/packages/process/index.js +3 -0
  1092. package/packages/process/index.js.map +1 -0
  1093. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  1094. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  1095. package/packages/process/src/ProcessManager.js.map +1 -0
  1096. package/packages/process/src/index.js.map +1 -0
  1097. package/packages/process/src/managedExecAsync.js.map +1 -0
  1098. package/packages/types/index.js +0 -1
  1099. package/packages/types/index.js.map +1 -1
  1100. package/packages/types/src/types/Scenario.js +1 -21
  1101. package/packages/types/src/types/Scenario.js.map +1 -1
  1102. package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
  1103. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  1104. package/packages/utils/src/lib/safeFileName.js +29 -3
  1105. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1106. package/scripts/npm-post-install.cjs +34 -0
  1107. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  1108. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -409
  1109. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -288
  1110. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -495
  1111. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1112. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -120
  1113. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  1114. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  1115. package/analyzer-template/process/README.md +0 -507
  1116. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  1117. package/background/src/lib/process/ProcessManager.js.map +0 -1
  1118. package/background/src/lib/process/index.js.map +0 -1
  1119. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  1120. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
  1121. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
  1122. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js +0 -7
  1123. package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js.map +0 -1
  1124. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
  1125. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  1126. package/codeyam-cli/src/commands/list.js +0 -31
  1127. package/codeyam-cli/src/commands/list.js.map +0 -1
  1128. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  1129. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  1130. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  1131. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  1132. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +0 -1
  1133. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +0 -41
  1134. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +0 -25
  1135. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +0 -11
  1136. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +0 -15
  1137. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +0 -11
  1138. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-2mG6mjVb.js +0 -32
  1139. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +0 -51
  1140. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +0 -1
  1141. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +0 -1
  1142. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +0 -1
  1143. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +0 -1
  1144. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +0 -1
  1145. package/codeyam-cli/src/webserver/build/client/assets/git-D62Lxxmv.js +0 -15
  1146. package/codeyam-cli/src/webserver/build/client/assets/globals-C6vQASxy.css +0 -1
  1147. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +0 -1
  1148. package/codeyam-cli/src/webserver/build/client/assets/manifest-09d684be.js +0 -1
  1149. package/codeyam-cli/src/webserver/build/client/assets/root-BxJUvKau.js +0 -56
  1150. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +0 -1
  1151. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +0 -1
  1152. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +0 -1
  1153. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +0 -1
  1154. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BqPPNjAl.js +0 -2
  1155. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +0 -1
  1156. package/codeyam-cli/src/webserver/build/server/assets/index-CV6i1S1A.js +0 -1
  1157. package/codeyam-cli/src/webserver/build/server/assets/server-build-BDlyhfrv.js +0 -175
  1158. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  1159. package/codeyam-cli/templates/debug-codeyam.md +0 -620
  1160. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1161. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1162. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -298
  1163. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1164. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -226
  1165. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1166. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -408
  1167. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1168. package/packages/ai/src/lib/isFrontend.js +0 -5
  1169. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1170. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1171. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1172. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -77
  1173. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1174. package/scripts/finalize-analyzer.cjs +0 -81
  1175. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  1176. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  1177. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  1178. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  1179. /package/codeyam-cli/src/webserver/build/client/assets/{api.link-scenario-value-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
  1180. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-key-attributes-l0sNRNKZ.js → api.dev-mode-events-l0sNRNKZ.js} +0 -0
  1181. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-valid-values-l0sNRNKZ.js → api.editor-audit-l0sNRNKZ.js} +0 -0
  1182. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  1183. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  1184. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -1,5 +1,4 @@
1
- // import { writeFile } from 'fs/promises';
2
- import { convertDotNotation, fillInDirectSchemaGapsAndUnknowns, joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, } from "../../../../../../packages/ai/index.js";
1
+ import { convertDotNotation, fillInDirectSchemaGapsAndUnknowns, buildSchemaIndexes, joinParenthesesAndArrays, mergeJsonTypeDefinitions, splitOutsideParenthesesAndArrays, } from "../../../../../../packages/ai/index.js";
3
2
  /**
4
3
  * Strips generic type parameters from a function name.
5
4
  * e.g., "useFetcher<BranchEntityDiffResult>" -> "useFetcher"
@@ -7,6 +6,61 @@ import { convertDotNotation, fillInDirectSchemaGapsAndUnknowns, joinParenthesesA
7
6
  function cleanFunctionName(name) {
8
7
  return name?.split('<')[0];
9
8
  }
9
+ /**
10
+ * Escapes special regex characters in a string.
11
+ */
12
+ function escapeRegExp(str) {
13
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
14
+ }
15
+ /**
16
+ * Counts only DIRECT function calls, excluding method chains on return values.
17
+ *
18
+ * When a hook returns an object with methods that are later called, the analysis
19
+ * tracks those as call signatures like 'useAuth().functionCallReturnValue.signOut()'.
20
+ * These are NOT separate calls to useAuth - they're method invocations on the return value.
21
+ *
22
+ * This function filters out such method chains to get the true count of direct calls.
23
+ *
24
+ * @example
25
+ * // One direct call, one method on return value
26
+ * countDirectCalls(['useAuth()', 'useAuth().functionCallReturnValue.signOut()']) // => 1
27
+ *
28
+ * // Two direct calls
29
+ * countDirectCalls(['useFetcher()', 'useFetcher()']) // => 2
30
+ */
31
+ function countDirectCalls(calls) {
32
+ return calls.filter((sig) => !sig.includes('.functionCallReturnValue.'))
33
+ .length;
34
+ }
35
+ /**
36
+ * Checks if all direct calls (non-method-chain calls) are identical.
37
+ * This happens when destructuring a hook call:
38
+ * const { authLoading, signOut } = useAuth();
39
+ * produces calls: ['useAuth()', 'useAuth()'] (same signature repeated)
40
+ *
41
+ * In this case, we should use the full unqualified schema since there's
42
+ * really only ONE function call, not multiple different calls.
43
+ *
44
+ * @example
45
+ * // Same call repeated (from destructuring)
46
+ * allDirectCallsIdentical(['useAuth()', 'useAuth()']) // => true
47
+ *
48
+ * // Different calls
49
+ * allDirectCallsIdentical(['useFetcher<User>()', 'useFetcher<Report>()']) // => false
50
+ *
51
+ * // Single call
52
+ * allDirectCallsIdentical(['useAuth()']) // => true
53
+ *
54
+ * // With method chain (method chain is ignored)
55
+ * allDirectCallsIdentical(['useAuth()', 'useAuth().functionCallReturnValue.signOut()']) // => true
56
+ */
57
+ function allDirectCallsIdentical(calls) {
58
+ const directCalls = calls.filter((sig) => !sig.includes('.functionCallReturnValue.'));
59
+ if (directCalls.length === 0)
60
+ return true;
61
+ const firstCall = directCalls[0];
62
+ return directCalls.every((call) => call === firstCall);
63
+ }
10
64
  /**
11
65
  * Preprocesses the schema to:
12
66
  * 1. Filter out all signature paths
@@ -62,19 +116,23 @@ function preprocessSchemaForMocks(schema) {
62
116
  * @param options - Additional options including entityName for canonical key generation
63
117
  * @param hookCallIndex - The global index of this hook call for canonical key generation
64
118
  */
65
- function processCall(importedExport, dependencySchemas, callIndex, variableNameOccurrence, options, hookCallIndex) {
119
+ function processCall(importedExport, dependencySchemas, callIndex, variableNameOccurrence, options, hookCallIndex, prebuiltIndexes) {
66
120
  const callName = importedExport.calls?.[callIndex] ?? importedExport.name;
67
121
  // Determine if we should use variable-qualified schema or base schema.
68
122
  // Use variable-qualified schema when:
69
- // 1. variableNameOccurrence is defined (we're processing multiple calls with matching variable names), OR
70
- // 2. calls.length equals callVariableNames.length (single call with single variable name)
123
+ // 1. variableNameOccurrence is defined (we're processing multiple DISTINCT calls), OR
124
+ // 2. Single call with single variable name (directCallCount === 1 && varNamesLength === 1)
71
125
  // Use base schema when:
72
- // - calls.length !== callVariableNames.length (rest spread or method chain case)
126
+ // - Multiple calls that are all identical (destructuring case: const { a, b } = useHook())
127
+ // - directCallCount !== varNamesLength (rest spread or method chain case)
73
128
  // This is important for rest spread destructuring like: const { x, y, ...data } = useLoaderData()
74
129
  // where data.queueState.jobs should come from the base schema, not from a variable-qualified schema.
75
- const callsLength = importedExport.calls?.length ?? 0;
130
+ // Also important: method chains like useAuth().functionCallReturnValue.signOut() should NOT count
131
+ // as separate calls - only direct hook calls count.
132
+ const directCallCount = countDirectCalls(importedExport.calls ?? []);
76
133
  const varNamesLength = importedExport.callVariableNames?.length ?? 0;
77
- const shouldUseVariableQualifiedSchema = variableNameOccurrence !== undefined || callsLength === varNamesLength;
134
+ const shouldUseVariableQualifiedSchema = variableNameOccurrence !== undefined ||
135
+ (directCallCount === 1 && varNamesLength === 1);
78
136
  const variableName = shouldUseVariableQualifiedSchema
79
137
  ? importedExport.callVariableNames?.[callIndex]
80
138
  : undefined;
@@ -86,12 +144,26 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
86
144
  variableNameOccurrence > 0
87
145
  ? `${variableName}[${variableNameOccurrence}]`
88
146
  : variableName;
89
- const schemaLookupKey = indexedVariableName
90
- ? `${importedExport.name}::${indexedVariableName}`
91
- : importedExport.name;
92
- let rawSchema = dependencySchemas?.[importedExport.filePath]?.[schemaLookupKey]
93
- ?.returnValueSchema ?? {};
94
- // If no schema found with indexed key, try without the index as fallback
147
+ // Schema lookup order (most specific to least specific):
148
+ // 1. Call signature (e.g., 'useLoaderData<typeof loader>()')
149
+ // 2. Variable-qualified key with index (e.g., 'useFetcher::fetcher[1]')
150
+ // 3. Variable-qualified key without index (e.g., 'useFetcher::fetcher')
151
+ // 4. Base name (e.g., 'useLoaderData')
152
+ let rawSchema = {};
153
+ // 1. Try call signature first (most specific - new format)
154
+ if (callName !== importedExport.name) {
155
+ rawSchema =
156
+ dependencySchemas?.[importedExport.filePath]?.[callName]
157
+ ?.returnValueSchema ?? {};
158
+ }
159
+ // 2. Try variable-qualified key with index
160
+ if (Object.keys(rawSchema).length === 0 && indexedVariableName) {
161
+ const indexedKey = `${importedExport.name}::${indexedVariableName}`;
162
+ rawSchema =
163
+ dependencySchemas?.[importedExport.filePath]?.[indexedKey]
164
+ ?.returnValueSchema ?? {};
165
+ }
166
+ // 3. Try variable-qualified key without index (fallback for indexed lookup)
95
167
  if (Object.keys(rawSchema).length === 0 &&
96
168
  variableNameOccurrence !== undefined &&
97
169
  variableNameOccurrence > 0 &&
@@ -101,14 +173,114 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
101
173
  dependencySchemas?.[importedExport.filePath]?.[nonIndexedKey]
102
174
  ?.returnValueSchema ?? {};
103
175
  }
104
- // If no schema found with variable-qualified key, fall back to base name
105
- const fallbackSchema = Object.keys(rawSchema).length === 0
106
- ? (dependencySchemas?.[importedExport.filePath]?.[importedExport.name]
107
- ?.returnValueSchema ?? {})
108
- : rawSchema;
176
+ // 4. Get base name schema and merge with call-specific schema
177
+ // The base schema often has more complete array element details that the
178
+ // call-specific schema might be missing. Instead of using as fallback only
179
+ // when empty, MERGE both schemas so we get the most complete picture.
180
+ //
181
+ // HOWEVER: For type-parameterized calls where the base schema contains paths
182
+ // from MULTIPLE DIFFERENT type parameters, DON'T merge to avoid contamination.
183
+ // The call-specific schema (rawSchema) is already isolated and complete.
184
+ const baseSchema = dependencySchemas?.[importedExport.filePath]?.[importedExport.name]
185
+ ?.returnValueSchema ?? {};
186
+ // Check if this is a type-parameterized call with a call-specific schema
187
+ const hasTypeParams = callName.includes('<') && callName.includes('>');
188
+ const hasCallSpecificSchema = Object.keys(rawSchema).length > 0;
189
+ // Check if the base schema has multiple DIFFERENT type parameter variants
190
+ // If so, merging would bring in wrong fields from other variants
191
+ let baseHasMultipleTypeParamVariants = false;
192
+ if (hasTypeParams && hasCallSpecificSchema) {
193
+ const baseFunctionName = cleanFunctionName(callName.split('(')[0]);
194
+ const typeParamVariantsInBase = new Set();
195
+ for (const path of Object.keys(baseSchema)) {
196
+ // Look for paths like "useFetcher<TypeA>(...)" or "useFetcher<TypeB>(...)"
197
+ const match = path.match(new RegExp(`^${escapeRegExp(baseFunctionName)}<([^>]+)>\\(`));
198
+ if (match) {
199
+ typeParamVariantsInBase.add(match[1]);
200
+ }
201
+ }
202
+ baseHasMultipleTypeParamVariants = typeParamVariantsInBase.size > 1;
203
+ }
204
+ // For type-parameterized calls where we have a call-specific schema, we need to
205
+ // be careful about merging with the base schema. The base schema may contain
206
+ // merged data from ALL type parameter variants, which would pollute the result.
207
+ let mergedSchema;
208
+ if (hasCallSpecificSchema && hasTypeParams) {
209
+ if (baseHasMultipleTypeParamVariants) {
210
+ // Base schema has paths with different type parameters - filter to only
211
+ // include paths matching the current type parameter.
212
+ const typeParamMatch = callName.match(/<([^>]+)>/);
213
+ const currentTypeParam = typeParamMatch ? typeParamMatch[1] : null;
214
+ const baseFunctionName = cleanFunctionName(callName.split('(')[0]);
215
+ if (currentTypeParam) {
216
+ // Filter base schema to only include paths that:
217
+ // 1. Match current type param (e.g., useLoaderData<LoaderData>())
218
+ // 2. OR don't have any type param (generic paths like useLoaderData())
219
+ const filteredBaseSchema = {};
220
+ for (const [path, type] of Object.entries(baseSchema)) {
221
+ // Check if path has a type parameter for this function
222
+ const pathTypeParamMatch = path.match(new RegExp(`^${escapeRegExp(baseFunctionName)}<([^>]+)>\\(`));
223
+ if (pathTypeParamMatch) {
224
+ // Path has a type param - only include if it matches current
225
+ if (pathTypeParamMatch[1] === currentTypeParam) {
226
+ filteredBaseSchema[path] = type;
227
+ }
228
+ // Otherwise skip (it's for a different type param variant)
229
+ }
230
+ else {
231
+ // Path doesn't have a type param for this function - include it
232
+ // (could be generic paths or paths for other functions)
233
+ filteredBaseSchema[path] = type;
234
+ }
235
+ }
236
+ mergedSchema = { ...filteredBaseSchema, ...rawSchema };
237
+ }
238
+ else {
239
+ // Couldn't extract type param - fall back to rawSchema only
240
+ mergedSchema = rawSchema;
241
+ }
242
+ }
243
+ else {
244
+ // Base schema has zero or one type-parameterized variant.
245
+ // When there's only one variant, the base schema paths are safe to merge
246
+ // (no contamination from other variants). This is important for cases like:
247
+ // - Array element details (gitStatus[].path) that are in base but not call-specific
248
+ // - Enriched paths that should be preserved
249
+ // Filter to only include paths matching current type param or generic paths.
250
+ const typeParamMatch = callName.match(/<([^>]+)>/);
251
+ const currentTypeParam = typeParamMatch ? typeParamMatch[1] : null;
252
+ const baseFunctionName = cleanFunctionName(callName.split('(')[0]);
253
+ if (currentTypeParam) {
254
+ const filteredBaseSchema = {};
255
+ for (const [path, type] of Object.entries(baseSchema)) {
256
+ const pathTypeParamMatch = path.match(new RegExp(`^${escapeRegExp(baseFunctionName)}<([^>]+)>\\(`));
257
+ if (pathTypeParamMatch) {
258
+ // Path has a type param - only include if it matches current
259
+ if (pathTypeParamMatch[1] === currentTypeParam) {
260
+ filteredBaseSchema[path] = type;
261
+ }
262
+ }
263
+ else {
264
+ // Path doesn't have a type param - include generic paths
265
+ filteredBaseSchema[path] = type;
266
+ }
267
+ }
268
+ mergedSchema = { ...filteredBaseSchema, ...rawSchema };
269
+ }
270
+ else {
271
+ // No type param to extract - merge normally
272
+ mergedSchema = { ...baseSchema, ...rawSchema };
273
+ }
274
+ }
275
+ }
276
+ else if (Object.keys(rawSchema).length === 0) {
277
+ mergedSchema = baseSchema;
278
+ }
279
+ else {
280
+ mergedSchema = { ...baseSchema, ...rawSchema };
281
+ }
109
282
  // Preprocess to filter signatures and extract functionCallReturnValue
110
- let preprocessedSchema = preprocessSchemaForMocks(fallbackSchema);
111
- const functionNames = [];
283
+ let preprocessedSchema = preprocessSchemaForMocks(mergedSchema);
112
284
  const isFunctionNameWithoutFunction = (path, functionName) => {
113
285
  // Check if path starts with functionName but isn't a function call
114
286
  // Must also handle generics: useLoaderData<typeof loader>() should NOT
@@ -178,30 +350,62 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
178
350
  preprocessedSchema = mergedSchema;
179
351
  }
180
352
  }
181
- const relevantMergedDependencySchema = Object.keys(preprocessedSchema).reduce((acc, path) => {
353
+ // Two-pass function name filtering to avoid O() retroactive deletion.
354
+ // Pass 1: Discover all unique function names from paths ending with ')'
355
+ const functionNameSet = new Set();
356
+ const schemaKeys = Object.keys(preprocessedSchema);
357
+ for (const path of schemaKeys) {
182
358
  if (path.endsWith(')')) {
183
359
  const pathParts = splitOutsideParenthesesAndArrays(path);
184
360
  const functionName = joinParenthesesAndArrays([
185
361
  ...pathParts.slice(0, -1),
186
362
  pathParts[pathParts.length - 1].split('(')[0],
187
363
  ]);
188
- functionNames.push(functionName);
189
- for (const existingPath in acc) {
190
- if (isFunctionNameWithoutFunction(existingPath, functionName)) {
191
- delete acc[existingPath];
192
- }
193
- }
364
+ functionNameSet.add(functionName);
194
365
  }
195
- if (functionNames.some((fn) => isFunctionNameWithoutFunction(path, fn))) {
196
- return acc;
366
+ }
367
+ // Index function names by first segment for O(1) bucket lookup instead of
368
+ // checking all function names for every path. Most paths only need to check
369
+ // 1-2 function names instead of all F.
370
+ const fnByFirstSegment = new Map();
371
+ for (const fn of functionNameSet) {
372
+ const dotIdx = fn.indexOf('.');
373
+ const firstSeg = dotIdx >= 0 ? fn.slice(0, dotIdx) : fn;
374
+ let bucket = fnByFirstSegment.get(firstSeg);
375
+ if (!bucket) {
376
+ bucket = [];
377
+ fnByFirstSegment.set(firstSeg, bucket);
197
378
  }
198
- acc[path] = preprocessedSchema[path];
199
- return acc;
200
- }, {});
201
- const schema = convertDotNotation(fillInDirectSchemaGapsAndUnknowns({
379
+ bucket.push(fn);
380
+ }
381
+ // Pass 2: Filter paths that match any discovered function name prefix.
382
+ // Use indexed lookup: extract path's first segment, check only matching function names.
383
+ const relevantMergedDependencySchema = {};
384
+ for (const path of schemaKeys) {
385
+ // Extract first segment of path (before first '.', '(', or '<')
386
+ const dotIdx = path.indexOf('.');
387
+ const parenIdx = path.indexOf('(');
388
+ const angleIdx = path.indexOf('<');
389
+ let minIdx = path.length;
390
+ if (dotIdx >= 0 && dotIdx < minIdx)
391
+ minIdx = dotIdx;
392
+ if (parenIdx >= 0 && parenIdx < minIdx)
393
+ minIdx = parenIdx;
394
+ if (angleIdx >= 0 && angleIdx < minIdx)
395
+ minIdx = angleIdx;
396
+ const firstSeg = path.slice(0, minIdx);
397
+ const candidates = fnByFirstSegment.get(firstSeg);
398
+ if (!candidates ||
399
+ !candidates.some((fn) => isFunctionNameWithoutFunction(path, fn))) {
400
+ relevantMergedDependencySchema[path] = preprocessedSchema[path];
401
+ }
402
+ }
403
+ const filledSchema = fillInDirectSchemaGapsAndUnknowns({
202
404
  scopeName: importedExport.name,
203
405
  schema: relevantMergedDependencySchema,
204
- }));
406
+ prebuiltIndexes,
407
+ });
408
+ const schema = convertDotNotation(filledSchema);
205
409
  // Determine if this is an object-style or hook-style dependency:
206
410
  // - Hook-style: calls = ['useAuth()'] - call starts with name + '('
207
411
  // - Object-style: calls = ['supabase.from(...)'] - call starts with name + '.'
@@ -212,31 +416,11 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
212
416
  const schemaKey = variableName
213
417
  ? `${baseSchemaKey}::${variableName}`
214
418
  : baseSchemaKey;
215
- // Build output key
216
- // When entityName is provided, use canonical key format for consistency across scenarios
217
- // Otherwise, use the variable-based format for backward compatibility
218
- let outputKey;
219
- if (options?.entityName) {
220
- // Canonical key format: EntityName::hookName::index
221
- // This ensures consistent keys regardless of variable names chosen during analysis
222
- const hookName = cleanFunctionName(importedExport.name);
223
- outputKey = `${options.entityName}::${hookName}::${hookCallIndex}`;
224
- }
225
- else if (variableName) {
226
- // Legacy format: "variableName <- functionName"
227
- // This reads naturally as "variableName receives from functionName"
228
- // When a variable name is reused (variableNameOccurrence > 0), disambiguate with index
229
- const disambiguator = variableNameOccurrence !== undefined && variableNameOccurrence > 0
230
- ? `[${variableNameOccurrence}]`
231
- : '';
232
- outputKey = `${variableName}${disambiguator} <- ${importedExport.name}`;
233
- }
234
- else if (isObjectStyle) {
235
- outputKey = importedExport.name;
236
- }
237
- else {
238
- outputKey = callName;
239
- }
419
+ // Build output key - use the ORIGINAL CALL SIGNATURE from the code
420
+ // This makes it clear to the LLM exactly which call needs which data.
421
+ // Example: useFetcher<{ data: UserData }>() vs useFetcher<{ data: ReportData }>()
422
+ // Example: db.select(usersQuery) vs db.select(postsQuery)
423
+ const outputKey = callName;
240
424
  // Try to find return value - check with variable qualifier first, then without
241
425
  let returnValue = schema[schemaKey];
242
426
  if (!returnValue && variableName) {
@@ -249,12 +433,76 @@ function processCall(importedExport, dependencySchemas, callIndex, variableNameO
249
433
  if (!returnValue) {
250
434
  returnValue = schema['functionCallReturnValue'];
251
435
  }
436
+ // Handle method-chain style calls (e.g., createClient().from("workouts").select("*") or db.select(query))
437
+ // After convertDotNotation, the schema is nested: { "createClient()": { "from(...)": { ... } } }
438
+ // We need to navigate the nested structure using the call signature parts.
439
+ // For object-style dependencies (isObjectStyle=true), the baseSchemaKey is just the object name (e.g., "db"),
440
+ // so returnValue might be the parent object, not the actual return value of the method chain.
441
+ // We should always try method-chain navigation for calls with dots and parens.
442
+ if (callName.includes('.') && callName.includes('(')) {
443
+ const callParts = splitOutsideParenthesesAndArrays(callName);
444
+ let current = schema;
445
+ for (const part of callParts) {
446
+ if (current &&
447
+ typeof current === 'object' &&
448
+ !Array.isArray(current) &&
449
+ part in current) {
450
+ current = current[part];
451
+ }
452
+ else {
453
+ current = undefined;
454
+ break;
455
+ }
456
+ }
457
+ // Use method-chain result if found, otherwise keep previous returnValue
458
+ if (current !== undefined) {
459
+ returnValue = current;
460
+ }
461
+ }
252
462
  if (!returnValue) {
253
463
  return null;
254
464
  }
255
465
  return { key: outputKey, value: returnValue };
256
466
  }
467
+ /**
468
+ * Adds a result to the accumulator, merging schemas if the key already exists.
469
+ * This handles the case where the same call signature appears multiple times
470
+ * (e.g., two calls to useFetcher() with the same generic type).
471
+ */
472
+ function addResultToAccumulator(acc, key, value) {
473
+ if (acc[key]) {
474
+ // Key already exists - merge the schemas
475
+ acc[key] = mergeJsonTypeDefinitions(acc[key], value);
476
+ }
477
+ else {
478
+ acc[key] = value;
479
+ }
480
+ }
257
481
  export default function gatherDataForMocks(importedExports, dependencySchemas, options) {
482
+ // Build schema indexes ONCE from all dependency schemas combined.
483
+ // This avoids rebuilding indexes (~1-2 seconds for 18k keys) for each processCall.
484
+ //
485
+ // IMPORTANT: We must preprocess schemas BEFORE building indexes!
486
+ // The schemas contain .functionCallReturnValue paths that get stripped during processing.
487
+ // If we build indexes from original paths, lookups with preprocessed paths will fail.
488
+ // Example: 'hook().functionCallReturnValue.x.length' → index maps 'hook().functionCallReturnValue.x' → ['length']
489
+ // But preprocessed path 'hook().x.length' looks for 'hook().x' which doesn't exist in the index.
490
+ const allSchemaKeys = {};
491
+ if (dependencySchemas) {
492
+ for (const filePath in dependencySchemas) {
493
+ for (const entityName in dependencySchemas[filePath]) {
494
+ const schema = dependencySchemas[filePath][entityName]?.returnValueSchema;
495
+ if (schema) {
496
+ // Preprocess each schema to remove .functionCallReturnValue before collecting
497
+ const preprocessed = preprocessSchemaForMocks(schema);
498
+ Object.assign(allSchemaKeys, preprocessed);
499
+ }
500
+ }
501
+ }
502
+ }
503
+ const prebuiltIndexes = Object.keys(allSchemaKeys).length > 0
504
+ ? buildSchemaIndexes(allSchemaKeys)
505
+ : undefined;
258
506
  // Track the global index for each hook name across all imports
259
507
  // This enables canonical keys like EntityName::useLoaderData::0, EntityName::useFetcher::0, etc.
260
508
  const hookCallIndices = {};
@@ -263,12 +511,94 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
263
511
  return acc;
264
512
  // Get the clean hook name for indexing
265
513
  const hookName = cleanFunctionName(importedExport.name);
266
- // Check if we have multiple calls with variable names
267
- const hasMultipleCalls = importedExport.calls &&
268
- importedExport.calls.length > 1 &&
514
+ // Check if we have multiple DISTINCT direct calls with variable names.
515
+ // Important: Only count direct calls to the function, not method chains on its return value.
516
+ // For example, ['useAuth()', 'useAuth().functionCallReturnValue.signOut()'] has only 1 direct call.
517
+ //
518
+ // ALSO: If all direct calls are IDENTICAL (same signature repeated), this is from
519
+ // destructuring like `const { a, b } = useHook()` and we should use the FULL unqualified
520
+ // schema, not iterate through partial variable-qualified schemas.
521
+ const directCallCount = countDirectCalls(importedExport.calls ?? []);
522
+ const hasMultipleDistinctCalls = directCallCount > 1 &&
269
523
  importedExport.callVariableNames &&
270
- importedExport.callVariableNames.length === importedExport.calls.length;
271
- if (hasMultipleCalls) {
524
+ importedExport.callVariableNames.length === directCallCount &&
525
+ !allDirectCallsIdentical(importedExport.calls ?? []);
526
+ // Check for multiple distinct method-chain calls WITHOUT callVariableNames.
527
+ // This pattern is common with tRPC, Supabase, etc. where a single import
528
+ // (e.g., `trpc`) is used with multiple different method chains (e.g.,
529
+ // `trpc.useUtils()`, `trpc.quote.getQuotesByOrg.useQuery()`).
530
+ // These should each get their own entry in dataForMocks.
531
+ //
532
+ // IMPORTANT: This is DIFFERENT from the rest spread pattern where a function
533
+ // like useLoaderData is called directly, and other calls are method chains
534
+ // on its return value (e.g., `useLoaderData<typeof loader>()` with
535
+ // `useLoaderData<typeof loader>().uncommittedEntitiesList.filter(...)`).
536
+ // In that case, all the additional calls start with the base function call.
537
+ const directCalls = (importedExport.calls ?? []).filter((sig) => !sig.includes('.functionCallReturnValue.'));
538
+ const uniqueDirectCalls = [...new Set(directCalls)];
539
+ // Check if any call is a direct invocation of the import (e.g., `useLoaderData<typeof loader>()`)
540
+ // as opposed to all being property accesses (e.g., `trpc.useUtils()`, `trpc.quote.xxx()`).
541
+ // If there's a direct function call, the other calls are likely method chains on its result.
542
+ const baseName = importedExport.name;
543
+ const hasDirectFunctionCall = directCalls.some((sig) => {
544
+ // Pattern: baseName() or baseName<...>()
545
+ // This matches "useLoaderData()", "useLoaderData<typeof loader>()", etc.
546
+ // but NOT "trpc.useUtils()" which has a dot before the parens
547
+ const baseCallPattern = new RegExp(`^${baseName}(<[^>]*>)?\\(`);
548
+ return baseCallPattern.test(sig);
549
+ });
550
+ const hasMultipleDistinctMethodChains = !hasMultipleDistinctCalls &&
551
+ uniqueDirectCalls.length > 1 &&
552
+ !allDirectCallsIdentical(directCalls) &&
553
+ !hasDirectFunctionCall; // Exclude rest spread patterns
554
+ if (hasMultipleDistinctMethodChains) {
555
+ // For multiple method-chain calls on the same import, create a NESTED structure
556
+ // under the base import name. This allows constructMockCode to generate a
557
+ // combined mock object with all method chains.
558
+ //
559
+ // Example: For calls ['trpc.useUtils()', 'trpc.quote.getQuotesByOrg.useQuery()'],
560
+ // create: { "trpc": { "useUtils()": {...}, "quote": { "getQuotesByOrg": { "useQuery()": {...} } } } }
561
+ const nestedResult = {};
562
+ for (let i = 0; i < uniqueDirectCalls.length; i++) {
563
+ // Find the index of this call in the original calls array
564
+ const callIndex = (importedExport.calls ?? []).indexOf(uniqueDirectCalls[i]);
565
+ if (callIndex === -1)
566
+ continue;
567
+ const hookCallIndex = hookCallIndices[hookName] ?? 0;
568
+ hookCallIndices[hookName] = hookCallIndex + 1;
569
+ const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex, prebuiltIndexes);
570
+ if (processResult) {
571
+ // The key is like "trpc.useUtils()" or "trpc.quote.getQuotesByOrg.useQuery()"
572
+ // We need to nest the value at the path AFTER the base name
573
+ const callSignature = processResult.key;
574
+ // Split the call signature into path parts, handling parens
575
+ // e.g., "trpc.useUtils()" -> ["trpc", "useUtils()"]
576
+ // e.g., "trpc.quote.getQuotesByOrg.useQuery()" -> ["trpc", "quote", "getQuotesByOrg", "useQuery()"]
577
+ const pathParts = splitOutsideParenthesesAndArrays(callSignature);
578
+ // Skip the base name (first part) and nest the value at the remaining path
579
+ if (pathParts.length > 1 && pathParts[0] === baseName) {
580
+ const nestedPath = pathParts.slice(1);
581
+ // Set the value at the nested path, merging with existing structure
582
+ let current = nestedResult;
583
+ for (let j = 0; j < nestedPath.length - 1; j++) {
584
+ const part = nestedPath[j];
585
+ if (!(part in current)) {
586
+ current[part] = {};
587
+ }
588
+ current = current[part];
589
+ }
590
+ // Set the leaf value
591
+ const leafKey = nestedPath[nestedPath.length - 1];
592
+ current[leafKey] = processResult.value;
593
+ }
594
+ }
595
+ }
596
+ // Add the nested result under the base import name
597
+ if (Object.keys(nestedResult).length > 0) {
598
+ addResultToAccumulator(acc, baseName, nestedResult);
599
+ }
600
+ }
601
+ else if (hasMultipleDistinctCalls) {
272
602
  // Track how many times each variable name has been seen
273
603
  // to disambiguate keys when the same variable is reused
274
604
  const variableNameCounts = {};
@@ -281,20 +611,99 @@ export default function gatherDataForMocks(importedExports, dependencySchemas, o
281
611
  // Get the current hook call index and increment for next call
282
612
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
283
613
  hookCallIndices[hookName] = hookCallIndex + 1;
284
- const processResult = processCall(importedExport, dependencySchemas, i, occurrence, options, hookCallIndex);
614
+ const processResult = processCall(importedExport, dependencySchemas, i, occurrence, options, hookCallIndex, prebuiltIndexes);
285
615
  if (processResult) {
286
- acc[processResult.key] = processResult.value;
616
+ addResultToAccumulator(acc, processResult.key, processResult.value);
617
+ }
618
+ }
619
+ }
620
+ else if (
621
+ // Handle multiple UNIQUE type-parameterized direct calls when variable count doesn't match.
622
+ // This happens when a hook is called with different type parameters (useFetcher<TypeA>(), useFetcher<TypeB>()),
623
+ // but the callVariableNames count doesn't match directCallCount (common with rest spread patterns).
624
+ // Each unique call signature should get its own entry in dataForMocks.
625
+ uniqueDirectCalls.length > 1 &&
626
+ !allDirectCallsIdentical(directCalls) &&
627
+ hasDirectFunctionCall) {
628
+ // Process each UNIQUE direct call signature
629
+ for (let i = 0; i < uniqueDirectCalls.length; i++) {
630
+ const callSignature = uniqueDirectCalls[i];
631
+ // Find the index of this call in the original calls array
632
+ const callIndex = (importedExport.calls ?? []).indexOf(callSignature);
633
+ if (callIndex === -1)
634
+ continue;
635
+ const hookCallIndex = hookCallIndices[hookName] ?? 0;
636
+ hookCallIndices[hookName] = hookCallIndex + 1;
637
+ const processResult = processCall(importedExport, dependencySchemas, callIndex, undefined, options, hookCallIndex, prebuiltIndexes);
638
+ if (processResult) {
639
+ addResultToAccumulator(acc, processResult.key, processResult.value);
287
640
  }
288
641
  }
289
642
  }
290
643
  else {
291
- // Original behavior for single calls or calls without variable names
644
+ // Single calls, or multiple identical calls (from destructuring)
292
645
  // Get the current hook call index and increment for next call
293
646
  const hookCallIndex = hookCallIndices[hookName] ?? 0;
294
647
  hookCallIndices[hookName] = hookCallIndex + 1;
295
- const processResult = processCall(importedExport, dependencySchemas, 0, undefined, options, hookCallIndex);
296
- if (processResult) {
297
- acc[processResult.key] = processResult.value;
648
+ // First, try to get result from unqualified schema
649
+ const processResult = processCall(importedExport, dependencySchemas, 0, undefined, options, hookCallIndex, prebuiltIndexes);
650
+ // Check if we got a meaningful result (not empty object or null)
651
+ // Arrays are always meaningful (even empty ones represent valid data structure)
652
+ const hasUnqualifiedResult = processResult &&
653
+ processResult.value !== null &&
654
+ (typeof processResult.value !== 'object' ||
655
+ Array.isArray(processResult.value) ||
656
+ Object.keys(processResult.value).length > 0);
657
+ // Check if we have multiple callVariableNames that are DIFFERENT
658
+ // (e.g., from parent + child components using the same hook differently)
659
+ // In this case, we should also merge in variable-qualified schemas
660
+ // to capture all destructured properties from both parent and child.
661
+ const uniqueCallVarNames = new Set(importedExport.callVariableNames ?? []);
662
+ const hasDifferentVarNames = importedExport.callVariableNames &&
663
+ importedExport.callVariableNames.length > 1 &&
664
+ uniqueCallVarNames.size > 1 &&
665
+ // Only merge variable-qualified schemas when calls are all identical
666
+ // (e.g., useFlags() repeated). Don't do this for method chains
667
+ // or rest spread cases where calls.length !== callVariableNames.length
668
+ allDirectCallsIdentical(importedExport.calls ?? []);
669
+ if (hasUnqualifiedResult) {
670
+ let finalValue = processResult.value;
671
+ // If we have different variable names (e.g., from parent and child components),
672
+ // also merge in variable-qualified schemas to ensure we capture all properties.
673
+ // This handles the case where parent uses useFlags().enableNewAdminDashboard
674
+ // and child uses useFlags().flagShowReferenceIdOnQuoteTable.
675
+ if (hasDifferentVarNames) {
676
+ let mergedValue = processResult.value;
677
+ for (let i = 0; i < importedExport.callVariableNames.length; i++) {
678
+ const varQualifiedResult = processCall(importedExport, dependencySchemas, i, 0, // Use 0 to trigger variable-qualified lookup
679
+ options, hookCallIndex, prebuiltIndexes);
680
+ if (varQualifiedResult && varQualifiedResult.value) {
681
+ mergedValue = mergeJsonTypeDefinitions(mergedValue, varQualifiedResult.value);
682
+ }
683
+ }
684
+ finalValue = mergedValue;
685
+ }
686
+ addResultToAccumulator(acc, processResult.key, finalValue);
687
+ }
688
+ else if (directCallCount > 1 &&
689
+ allDirectCallsIdentical(importedExport.calls ?? []) &&
690
+ importedExport.callVariableNames &&
691
+ importedExport.callVariableNames.length > 0) {
692
+ // No unqualified schema exists, but we have multiple identical calls with variable names
693
+ // Merge all the variable-qualified schemas together
694
+ const callSignature = importedExport.calls?.[0] ?? `${importedExport.name}()`;
695
+ let mergedValue = {};
696
+ for (let i = 0; i < importedExport.callVariableNames.length; i++) {
697
+ const varQualifiedResult = processCall(importedExport, dependencySchemas, i, 0, // Use 0 to trigger variable-qualified lookup
698
+ options, hookCallIndex, prebuiltIndexes);
699
+ if (varQualifiedResult && varQualifiedResult.value) {
700
+ // Deep merge the value into the accumulated result
701
+ mergedValue = mergeJsonTypeDefinitions(mergedValue, varQualifiedResult.value);
702
+ }
703
+ }
704
+ if (Object.keys(mergedValue).length > 0) {
705
+ addResultToAccumulator(acc, callSignature, mergedValue);
706
+ }
298
707
  }
299
708
  }
300
709
  return acc;