@codeyam/codeyam-cli 0.1.0-staging.76566f9 → 0.1.0-staging.79ef713

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 (850) 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 +15 -12
  5. package/analyzer-template/packages/ai/index.ts +20 -5
  6. package/analyzer-template/packages/ai/package.json +3 -3
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +212 -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 +183 -10
  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 +1128 -30
  18. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +259 -6
  19. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  20. package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1577 -313
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +296 -35
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +54 -3
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +129 -20
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +80 -5
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -90
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  35. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
  36. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  37. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  38. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  39. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +33 -7
  40. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +86 -142
  41. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +59 -3
  42. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1358 -67
  43. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +200 -196
  44. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +578 -0
  45. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  46. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2267 -0
  47. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  48. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +5 -5
  49. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  50. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  51. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  52. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  53. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -142
  54. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  55. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  56. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +90 -6
  57. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -89
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +11 -11
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  61. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  62. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  63. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  64. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +122 -3
  65. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  66. package/analyzer-template/packages/analyze/index.ts +2 -0
  67. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  68. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
  69. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  70. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  71. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  72. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  73. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  74. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  75. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  76. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  77. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  78. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +449 -283
  79. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +34 -1
  80. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
  81. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
  82. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
  83. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
  84. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
  85. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  86. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
  87. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  88. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  89. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  90. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
  91. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +201 -46
  92. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  93. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +254 -41
  94. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  95. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +306 -20
  96. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
  97. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +1 -0
  98. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -3
  99. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +723 -46
  100. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  102. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  103. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  104. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  105. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  106. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  107. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  108. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  109. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  110. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  111. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  112. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  113. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  114. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  115. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  116. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  117. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  118. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  119. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  120. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  121. package/analyzer-template/packages/aws/package.json +3 -3
  122. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  123. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  124. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  125. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  126. package/analyzer-template/packages/database/package.json +1 -1
  127. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -1
  128. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  129. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +17 -1
  130. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  131. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
  132. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  133. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  134. package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
  135. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
  136. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  137. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +7 -3
  138. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
  139. package/analyzer-template/packages/generate/index.ts +3 -0
  140. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  141. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
  142. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  143. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  144. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  145. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -1
  146. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  147. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -18
  148. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  149. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  150. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  151. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  152. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  153. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +17 -1
  154. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  155. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  156. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  157. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  158. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
  159. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  160. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  161. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  162. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  163. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  164. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  165. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
  166. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  167. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  168. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  169. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  170. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  171. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  172. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  173. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  174. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
  175. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  176. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  178. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
  179. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  182. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  185. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  187. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
  189. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  190. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  191. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  192. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  193. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  194. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  195. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  196. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  197. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  198. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  199. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  200. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  201. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  202. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  203. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  204. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  206. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  207. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  208. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  209. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  210. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  211. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  212. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  213. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  214. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  215. package/analyzer-template/packages/github/dist/types/index.d.ts +3 -4
  216. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  217. package/analyzer-template/packages/github/dist/types/index.js +0 -1
  218. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  219. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +71 -27
  220. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  221. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  222. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  223. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  224. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  225. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +3 -0
  226. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  227. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +9 -54
  228. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  229. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +1 -21
  230. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  231. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  232. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  233. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  234. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  235. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  236. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  237. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  238. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  239. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  240. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  241. package/analyzer-template/packages/github/package.json +1 -1
  242. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  243. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  244. package/analyzer-template/packages/process/index.ts +2 -0
  245. package/analyzer-template/packages/process/package.json +12 -0
  246. package/analyzer-template/packages/process/tsconfig.json +8 -0
  247. package/analyzer-template/packages/types/index.ts +3 -6
  248. package/analyzer-template/packages/types/src/types/Analysis.ts +87 -27
  249. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  250. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  251. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  252. package/analyzer-template/packages/types/src/types/Scenario.ts +9 -77
  253. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +181 -5
  254. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  255. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  256. package/analyzer-template/packages/utils/dist/types/index.d.ts +3 -4
  257. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  258. package/analyzer-template/packages/utils/dist/types/index.js +0 -1
  259. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  260. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +71 -27
  261. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  262. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  263. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  264. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  265. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  266. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +3 -0
  267. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  268. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +9 -54
  269. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  270. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +1 -21
  271. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  272. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  273. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  274. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  275. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  276. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  277. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  278. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  279. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  280. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  281. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  282. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  283. package/analyzer-template/playwright/capture.ts +57 -26
  284. package/analyzer-template/playwright/captureStatic.ts +1 -1
  285. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  286. package/analyzer-template/playwright/waitForServer.ts +21 -6
  287. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  288. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  289. package/analyzer-template/project/analyzeFileEntities.ts +4 -0
  290. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  291. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  292. package/analyzer-template/project/constructMockCode.ts +1004 -105
  293. package/analyzer-template/project/controller/startController.ts +16 -1
  294. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  295. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  296. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  297. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  298. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  299. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  300. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  301. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  302. package/analyzer-template/project/orchestrateCapture.ts +81 -9
  303. package/analyzer-template/project/reconcileMockDataKeys.ts +240 -0
  304. package/analyzer-template/project/runAnalysis.ts +11 -0
  305. package/analyzer-template/project/serverOnlyModules.ts +127 -2
  306. package/analyzer-template/project/start.ts +51 -15
  307. package/analyzer-template/project/startScenarioCapture.ts +6 -0
  308. package/analyzer-template/project/writeMockDataTsx.ts +298 -11
  309. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  310. package/analyzer-template/project/writeScenarioComponents.ts +312 -42
  311. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  312. package/analyzer-template/project/writeSimpleRoot.ts +23 -13
  313. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  314. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  315. package/analyzer-template/tsconfig.json +2 -1
  316. package/background/src/lib/local/createLocalAnalyzer.js +1 -29
  317. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  318. package/background/src/lib/local/execAsync.js +1 -1
  319. package/background/src/lib/local/execAsync.js.map +1 -1
  320. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  321. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  322. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  323. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  324. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  325. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  326. package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
  327. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  328. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  329. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  330. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  331. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  332. package/background/src/lib/virtualized/project/constructMockCode.js +879 -69
  333. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  334. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  335. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  336. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  337. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  338. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  339. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  340. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  341. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  342. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  343. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  344. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  345. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  346. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  347. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  348. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  349. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  350. package/background/src/lib/virtualized/project/orchestrateCapture.js +65 -10
  351. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  352. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +199 -0
  353. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  354. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  355. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  356. package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
  357. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  358. package/background/src/lib/virtualized/project/start.js +47 -15
  359. package/background/src/lib/virtualized/project/start.js.map +1 -1
  360. package/background/src/lib/virtualized/project/startScenarioCapture.js +7 -0
  361. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  362. package/background/src/lib/virtualized/project/writeMockDataTsx.js +255 -8
  363. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  364. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  365. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  366. package/background/src/lib/virtualized/project/writeScenarioComponents.js +245 -41
  367. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  368. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  369. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  370. package/background/src/lib/virtualized/project/writeSimpleRoot.js +23 -13
  371. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  372. package/codeyam-cli/scripts/apply-setup.js +180 -0
  373. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  374. package/codeyam-cli/src/cli.js +7 -1
  375. package/codeyam-cli/src/cli.js.map +1 -1
  376. package/codeyam-cli/src/commands/analyze.js +1 -1
  377. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  378. package/codeyam-cli/src/commands/baseline.js +174 -0
  379. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  380. package/codeyam-cli/src/commands/debug.js +35 -23
  381. package/codeyam-cli/src/commands/debug.js.map +1 -1
  382. package/codeyam-cli/src/commands/default.js +0 -15
  383. package/codeyam-cli/src/commands/default.js.map +1 -1
  384. package/codeyam-cli/src/commands/memory.js +264 -0
  385. package/codeyam-cli/src/commands/memory.js.map +1 -0
  386. package/codeyam-cli/src/commands/recapture.js +29 -18
  387. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  388. package/codeyam-cli/src/commands/report.js +46 -1
  389. package/codeyam-cli/src/commands/report.js.map +1 -1
  390. package/codeyam-cli/src/commands/start.js +8 -12
  391. package/codeyam-cli/src/commands/start.js.map +1 -1
  392. package/codeyam-cli/src/commands/status.js +23 -1
  393. package/codeyam-cli/src/commands/status.js.map +1 -1
  394. package/codeyam-cli/src/commands/test-startup.js +1 -1
  395. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  396. package/codeyam-cli/src/commands/wipe.js +108 -0
  397. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  398. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  399. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  400. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +31 -27
  401. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  402. package/codeyam-cli/src/utils/analysisRunner.js +29 -15
  403. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  404. package/codeyam-cli/src/utils/backgroundServer.js +16 -2
  405. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  406. package/codeyam-cli/src/utils/database.js +91 -5
  407. package/codeyam-cli/src/utils/database.js.map +1 -1
  408. package/codeyam-cli/src/utils/generateReport.js +4 -3
  409. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  410. package/codeyam-cli/src/utils/git.js +79 -0
  411. package/codeyam-cli/src/utils/git.js.map +1 -0
  412. package/codeyam-cli/src/utils/install-skills.js +76 -17
  413. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  414. package/codeyam-cli/src/utils/queue/job.js +109 -0
  415. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  416. package/codeyam-cli/src/utils/queue/manager.js +6 -0
  417. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  418. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  419. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  420. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  421. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +230 -0
  422. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  423. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  424. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  425. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  426. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  427. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  428. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  429. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  430. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  431. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +75 -0
  432. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  433. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +285 -0
  434. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  435. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +115 -0
  436. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  437. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  438. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  439. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  440. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  441. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  442. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  443. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  444. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  445. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  446. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  447. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  448. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  449. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  450. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  451. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  452. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  453. package/codeyam-cli/src/utils/rules/index.js +6 -0
  454. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  455. package/codeyam-cli/src/utils/rules/parser.js +78 -0
  456. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  457. package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
  458. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  459. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  460. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  461. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  462. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  463. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  464. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +7 -5
  465. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  466. package/codeyam-cli/src/utils/versionInfo.js +25 -19
  467. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  468. package/codeyam-cli/src/utils/wipe.js +128 -0
  469. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  470. package/codeyam-cli/src/webserver/app/lib/database.js +74 -20
  471. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  472. package/codeyam-cli/src/webserver/bootstrap.js +40 -0
  473. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  474. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CA3JxPb7.js +1 -0
  475. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-B86KKU7e.js +11 -0
  476. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-CzGX-miz.js → EntityTypeBadge-B5ctlSYt.js} +1 -1
  477. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BqY8gDAW.js +41 -0
  478. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-ClaLpuOo.js +34 -0
  479. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-BDhPilK7.js +25 -0
  480. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CBQPrpT0.js → LibraryFunctionPreview-VeqEBv9v.js} +1 -1
  481. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-D1CdlbrV.js → LoadingDots-Bs7Nn1Jr.js} +1 -1
  482. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-wDPcZNKx.js → LogViewer-Bm3PmcCz.js} +1 -1
  483. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-C6PKeMYR.js +11 -0
  484. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-BfmDgXxG.js → SafeScreenshot-Gq3Ocjo6.js} +1 -1
  485. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BNLaXBHR.js +10 -0
  486. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-6J7zDUD5.js → TruncatedFilePath-CiwXDxLh.js} +1 -1
  487. package/codeyam-cli/src/webserver/build/client/assets/_index-B3TDXxnk.js +11 -0
  488. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BtBFH820.js +27 -0
  489. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DfKzxuoe.js +11 -0
  490. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  491. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  492. package/codeyam-cli/src/webserver/build/client/assets/book-open-PttOB2SF.js +6 -0
  493. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BYimnrHg.js → chevron-down-TJp6ofnp.js} +1 -1
  494. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-JE9ZIoBl.js +51 -0
  495. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CaVsIRxt.js → circle-check-CXhHQYrI.js} +1 -1
  496. package/codeyam-cli/src/webserver/build/client/assets/copy-6y9ALfGT.js +11 -0
  497. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-CgUsG7ib.js → createLucideIcon-Ca9fAY46.js} +1 -1
  498. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
  499. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
  500. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-C5lqplTC.js +1 -0
  501. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-Dt-SjPsw.js → entity._sha._-n38keI1k.js} +12 -12
  502. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CBoafmVs.js +6 -0
  503. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DGgZjdFg.js +6 -0
  504. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CfLCUi9S.js → entity._sha_.edit._scenarioId-38yPijoD.js} +1 -1
  505. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DKJyZfAY.js → entry.client-BSHEfydn.js} +6 -6
  506. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  507. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DAtOlaWE.js → fileTableUtils-DCPhhSMo.js} +1 -1
  508. package/codeyam-cli/src/webserver/build/client/assets/files-0N0YJQv7.js +1 -0
  509. package/codeyam-cli/src/webserver/build/client/assets/{git-D62Lxxmv.js → git-DXnyr8uP.js} +8 -8
  510. package/codeyam-cli/src/webserver/build/client/assets/globals-Bh6jH0cL.css +1 -0
  511. package/codeyam-cli/src/webserver/build/client/assets/{index-BosqDOlH.js → index-CcsFv748.js} +1 -1
  512. package/codeyam-cli/src/webserver/build/client/assets/{index-CzNNiTkw.js → index-ChN9-fAY.js} +1 -1
  513. package/codeyam-cli/src/webserver/build/client/assets/labs-CdVUfvji.js +1 -0
  514. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CNp9QFCX.js → loader-circle-CTqLEAGU.js} +1 -1
  515. package/codeyam-cli/src/webserver/build/client/assets/manifest-87319d0f.js +1 -0
  516. package/codeyam-cli/src/webserver/build/client/assets/memory-CPIDnDEj.js +76 -0
  517. package/codeyam-cli/src/webserver/build/client/assets/pause-D6vreykR.js +11 -0
  518. package/codeyam-cli/src/webserver/build/client/assets/root-D6oziHts.js +62 -0
  519. package/codeyam-cli/src/webserver/build/client/assets/{search-DDGjYAMJ.js → search-B8VUL8nl.js} +1 -1
  520. package/codeyam-cli/src/webserver/build/client/assets/settings-eBI36Yv5.js +1 -0
  521. package/codeyam-cli/src/webserver/build/client/assets/simulations-CPoAg7Zo.js +1 -0
  522. package/codeyam-cli/src/webserver/build/client/assets/terminal-BrCP7uQo.js +11 -0
  523. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CBc5dE1s.js → triangle-alert-BZz2NjYa.js} +1 -1
  524. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DNwUduNu.js +1 -0
  525. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BqPPNjAl.js → useLastLogLine-COky1GVF.js} +1 -1
  526. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CpZgwliL.js +1 -0
  527. package/codeyam-cli/src/webserver/build/client/assets/{useToast-DWHcCcl1.js → useToast-Bv9JFvUO.js} +1 -1
  528. package/codeyam-cli/src/webserver/build/server/assets/index-9ox9LcrG.js +1 -0
  529. package/codeyam-cli/src/webserver/build/server/assets/server-build-Cq5Vqcob.js +260 -0
  530. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  531. package/codeyam-cli/src/webserver/build-info.json +5 -5
  532. package/codeyam-cli/src/webserver/server.js +35 -25
  533. package/codeyam-cli/src/webserver/server.js.map +1 -1
  534. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  535. package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam:debug.md} +48 -4
  536. package/codeyam-cli/templates/{debug-codeyam.md → codeyam:diagnose.md} +204 -26
  537. package/codeyam-cli/templates/codeyam:memory.md +404 -0
  538. package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
  539. package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam:setup.md} +1 -1
  540. package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam:sim.md} +1 -1
  541. package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam:test.md} +1 -1
  542. package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam:verify.md} +1 -1
  543. package/codeyam-cli/templates/rule-notification-hook.py +56 -0
  544. package/codeyam-cli/templates/rule-reflection-hook.py +590 -0
  545. package/codeyam-cli/templates/rules-instructions.md +123 -0
  546. package/package.json +12 -9
  547. package/packages/ai/index.js +8 -6
  548. package/packages/ai/index.js.map +1 -1
  549. package/packages/ai/src/lib/analyzeScope.js +165 -13
  550. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  551. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  552. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  553. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +138 -9
  554. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  555. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  556. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  557. package/packages/ai/src/lib/astScopes/methodSemantics.js +138 -23
  558. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  559. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  560. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  561. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  562. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  563. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +7 -0
  564. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  565. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  566. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  567. package/packages/ai/src/lib/astScopes/processExpression.js +866 -29
  568. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  569. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  570. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  571. package/packages/ai/src/lib/completionCall.js +178 -31
  572. package/packages/ai/src/lib/completionCall.js.map +1 -1
  573. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1240 -181
  574. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  575. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  576. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  577. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +230 -23
  578. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  579. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  580. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  581. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  582. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  583. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  584. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  585. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +52 -3
  586. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  587. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +111 -14
  588. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  589. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  590. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  591. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +73 -5
  592. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  593. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  594. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  595. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  596. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  597. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -81
  598. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  599. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  600. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  601. package/packages/ai/src/lib/dataStructureChunking.js +111 -0
  602. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  603. package/packages/ai/src/lib/deepEqual.js +32 -0
  604. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  605. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  606. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  607. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  608. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  609. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +21 -5
  610. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  611. package/packages/ai/src/lib/generateChangesEntityScenarios.js +78 -120
  612. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  613. package/packages/ai/src/lib/generateEntityDataStructure.js +47 -2
  614. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  615. package/packages/ai/src/lib/generateEntityScenarioData.js +1082 -62
  616. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  617. package/packages/ai/src/lib/generateEntityScenarios.js +177 -163
  618. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  619. package/packages/ai/src/lib/generateExecutionFlows.js +400 -0
  620. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  621. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  622. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  623. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1646 -0
  624. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  625. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  626. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  627. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -2
  628. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  629. package/packages/ai/src/lib/isolateScopes.js +270 -7
  630. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  631. package/packages/ai/src/lib/mergeStatements.js +88 -46
  632. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  633. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  634. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  635. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  636. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  637. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -100
  638. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  639. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  640. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  641. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +68 -6
  642. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  643. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -70
  644. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  645. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  646. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  647. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +9 -9
  648. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  649. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  650. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  651. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  652. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  653. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  654. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  655. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  656. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  657. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  658. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  659. package/packages/analyze/index.js +1 -0
  660. package/packages/analyze/index.js.map +1 -1
  661. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  662. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  663. package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
  664. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  665. package/packages/analyze/src/lib/analysisContext.js +30 -5
  666. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  667. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  668. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  669. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  670. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  671. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  672. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  673. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  674. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  675. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  676. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  677. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  678. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  679. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  680. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  681. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  682. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  683. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +196 -57
  684. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  685. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +24 -1
  686. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  687. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
  688. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  689. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
  690. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  691. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
  692. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  693. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
  694. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  695. package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
  696. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  697. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  698. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  699. package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
  700. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  701. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  702. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  703. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  704. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  705. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  706. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  707. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
  708. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  709. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +170 -40
  710. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  711. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  712. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  713. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +211 -29
  714. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  715. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  716. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  717. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +218 -20
  718. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  719. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
  720. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  721. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +1 -0
  722. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  723. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -3
  724. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  725. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +599 -38
  726. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  727. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  728. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  729. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  730. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  731. package/packages/analyze/src/lib/index.js +1 -0
  732. package/packages/analyze/src/lib/index.js.map +1 -1
  733. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  734. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  735. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  736. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  737. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  738. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  739. package/packages/database/src/lib/kysely/db.js +8 -1
  740. package/packages/database/src/lib/kysely/db.js.map +1 -1
  741. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  742. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  743. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  744. package/packages/database/src/lib/loadAnalyses.js +45 -2
  745. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  746. package/packages/database/src/lib/loadAnalysis.js +8 -0
  747. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  748. package/packages/database/src/lib/loadBranch.js +11 -1
  749. package/packages/database/src/lib/loadBranch.js.map +1 -1
  750. package/packages/database/src/lib/loadCommit.js +7 -0
  751. package/packages/database/src/lib/loadCommit.js.map +1 -1
  752. package/packages/database/src/lib/loadCommits.js +22 -1
  753. package/packages/database/src/lib/loadCommits.js.map +1 -1
  754. package/packages/database/src/lib/loadEntities.js +23 -4
  755. package/packages/database/src/lib/loadEntities.js.map +1 -1
  756. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  757. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  758. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
  759. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  760. package/packages/database/src/lib/updateCommitMetadata.js +5 -4
  761. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  762. package/packages/generate/index.js +3 -0
  763. package/packages/generate/index.js.map +1 -1
  764. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  765. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  766. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
  767. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  768. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  769. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  770. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  771. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  772. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  773. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  774. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  775. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  776. package/packages/process/index.js +3 -0
  777. package/packages/process/index.js.map +1 -0
  778. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  779. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  780. package/packages/process/src/ProcessManager.js.map +1 -0
  781. package/packages/process/src/index.js.map +1 -0
  782. package/packages/process/src/managedExecAsync.js.map +1 -0
  783. package/packages/types/index.js +0 -1
  784. package/packages/types/index.js.map +1 -1
  785. package/packages/types/src/types/Scenario.js +1 -21
  786. package/packages/types/src/types/Scenario.js.map +1 -1
  787. package/packages/utils/src/lib/safeFileName.js +29 -3
  788. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  789. package/scripts/finalize-analyzer.cjs +3 -3
  790. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  791. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -409
  792. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -288
  793. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -495
  794. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  795. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -120
  796. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  797. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  798. package/analyzer-template/process/README.md +0 -507
  799. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  800. package/background/src/lib/process/ProcessManager.js.map +0 -1
  801. package/background/src/lib/process/index.js.map +0 -1
  802. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  803. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +0 -1
  804. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +0 -41
  805. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +0 -25
  806. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +0 -11
  807. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +0 -15
  808. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +0 -11
  809. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CVP_WGQ3.js +0 -32
  810. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +0 -51
  811. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +0 -1
  812. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +0 -1
  813. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +0 -1
  814. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +0 -1
  815. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +0 -1
  816. package/codeyam-cli/src/webserver/build/client/assets/globals-C9s7Lhdl.css +0 -1
  817. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +0 -1
  818. package/codeyam-cli/src/webserver/build/client/assets/manifest-0d27da29.js +0 -1
  819. package/codeyam-cli/src/webserver/build/client/assets/root-B_wIKCIf.js +0 -56
  820. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +0 -1
  821. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +0 -1
  822. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +0 -1
  823. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +0 -1
  824. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +0 -1
  825. package/codeyam-cli/src/webserver/build/server/assets/index-CU58-Ttc.js +0 -1
  826. package/codeyam-cli/src/webserver/build/server/assets/server-build-D35o2uae.js +0 -175
  827. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  828. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  829. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -298
  830. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  831. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -226
  832. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  833. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -408
  834. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  835. package/packages/ai/src/lib/isFrontend.js +0 -5
  836. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  837. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  838. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  839. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -77
  840. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  841. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  842. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  843. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  844. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  845. /package/codeyam-cli/src/webserver/build/client/assets/{api.link-scenario-value-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
  846. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-key-attributes-l0sNRNKZ.js → api.health-l0sNRNKZ.js} +0 -0
  847. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-valid-values-l0sNRNKZ.js → api.memory-profile-l0sNRNKZ.js} +0 -0
  848. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  849. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  850. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -1,10 +1,10 @@
1
1
  {
2
- "buildTimestamp": "2026-01-11T12:07:05.873Z",
3
- "buildTime": 1768133225873,
4
- "gitCommit": "76566f997b2885d92ca2a8e23a81736e3d47ebee",
5
- "nodeVersion": "v20.19.6",
6
- "contentHash": "b3395b0f0ae99979caee09140c195c56f02a6d7e7129f29c3845030c0d979c3b",
7
- "buildNumber": 377,
8
- "semanticVersion": "0.1.377",
9
- "version": "0.1.377 (2026-01-11T12:07+b3395b0)"
2
+ "buildTimestamp": "2026-02-09T23:40:32.703Z",
3
+ "buildTime": 1770680432703,
4
+ "gitCommit": "79ef713db8aedbd08bf0e42c7aa8b6f99117bbdb",
5
+ "nodeVersion": "v20.20.0",
6
+ "contentHash": "aaa0ef29735f956b90bfc57d268b877db2ba758456e586a28cc3af7e44ea35f1",
7
+ "buildNumber": 598,
8
+ "semanticVersion": "0.1.598",
9
+ "version": "0.1.598 (2026-02-09T23:40+aaa0ef2)"
10
10
  }
@@ -6,7 +6,7 @@ import * as fs from 'fs';
6
6
  import { ChildProcessWithoutNullStreams, spawn } from 'child_process';
7
7
 
8
8
  import { loadEnv } from '~codeyam/utils/server';
9
- import { getGlobalProcessManager, ProcessType } from '../process';
9
+ import { getGlobalProcessManager, ProcessType } from '~codeyam/process';
10
10
 
11
11
  loadEnv();
12
12
 
@@ -1,7 +1,7 @@
1
1
 
2
- [1/11/2026, 12:07:05 PM] > codeyam-combo@1.0.0 mergeDependencies
3
- [1/11/2026, 12:07:05 PM] > node ./scripts/mergePackageJsonFiles.cjs
2
+ [2/9/2026, 11:40:32 PM] > codeyam-combo@1.0.0 mergeDependencies
3
+ [2/9/2026, 11:40:32 PM] > node ./scripts/mergePackageJsonFiles.cjs
4
4
 
5
5
 
6
- [1/11/2026, 12:07:05 PM] Merged dependencies into root package.json
6
+ [2/9/2026, 11:40:32 PM] Merged dependencies into root package.json
7
7
 
@@ -7,8 +7,8 @@
7
7
  "build": "tsc && node ./scripts/postbuild.cjs"
8
8
  },
9
9
  "dependencies": {
10
- "@aws-sdk/client-cloudwatch-logs": "^3.962.0",
11
- "@aws-sdk/client-cloudfront": "^3.899.0",
10
+ "@aws-sdk/client-cloudwatch-logs": "^3.980.0",
11
+ "@aws-sdk/client-cloudfront": "^3.966.0",
12
12
  "@aws-sdk/client-codebuild": "^3.948.0",
13
13
  "@aws-sdk/client-dynamodb": "^3.956.0",
14
14
  "@aws-sdk/client-ec2": "^3.899.0",
@@ -16,8 +16,8 @@
16
16
  "@aws-sdk/client-ecs": "^3.956.0",
17
17
  "@aws-sdk/client-s3": "^3.940.0",
18
18
  "@aws-sdk/client-sqs": "^3.956.0",
19
- "@aws-sdk/lib-storage": "^3.940.0",
20
- "@aws-sdk/util-dynamodb": "^3.902.0",
19
+ "@aws-sdk/lib-storage": "^3.975.0",
20
+ "@aws-sdk/util-dynamodb": "^3.971.0",
21
21
  "@octokit/auth-app": "^8.1.0",
22
22
  "@octokit/rest": "^22.0.0",
23
23
  "@sendgrid/mail": "^8.1.4",
@@ -30,23 +30,25 @@
30
30
  "jest": "^30.2.0",
31
31
  "jsdom": "^27.4.0",
32
32
  "jsonc-parser": "^3.2.1",
33
- "lru-cache": "^11.2.4",
34
- "openai": "^6.9.0",
33
+ "lru-cache": "^11.2.5",
34
+ "openai": "^6.16.0",
35
35
  "p-queue": "^8.1.0",
36
- "p-retry": "^6.2.1",
36
+ "p-retry": "^7.1.1",
37
37
  "piscina": "^5.1.4",
38
38
  "pixelmatch": "^5.3.0",
39
- "playwright": "^1.56.1",
39
+ "playwright": "1.58.0",
40
40
  "sharp": "^0.34.5",
41
41
  "simple-git": "^3.28.0",
42
- "undici": "^7.16.0",
42
+ "undici": "^7.18.2",
43
43
  "uuid": "^11.1.0",
44
44
  "pluralize": "^8.0.0",
45
- "@anthropic-ai/sdk": "^0.71.0",
45
+ "yargs": "^18.0.0",
46
+ "json5": "^2.2.3",
47
+ "@anthropic-ai/sdk": "^0.74.0",
46
48
  "@aws-sdk/s3-request-presigner": "^3.940.0",
47
49
  "better-sqlite3": "^12.4.1",
48
50
  "fetch-retry": "^6.0.0",
49
- "kysely": "^0.28.5",
51
+ "kysely": "^0.28.11",
50
52
  "pg": "^8.16.3",
51
53
  "@octokit/request": "^10.0.3",
52
54
  "lucide-react": "^0.556.0",
@@ -56,12 +58,13 @@
56
58
  "typescript": "^5.9.3",
57
59
  "@jest/types": "^30.2.0",
58
60
  "@types/node": "^25.0.2",
61
+ "@types/yargs": "^17.0.34",
59
62
  "@types/jsdom": "^27.0.0",
60
63
  "@types/better-sqlite3": "^7.6.13",
61
64
  "@types/jest": "^30.0.0",
62
65
  "@types/pg": "^8.15.5",
63
66
  "@types/ws": "^8.18.1",
64
- "@octokit/types": "^15.0.0",
67
+ "@octokit/types": "^16.0.0",
65
68
  "@types/react": "^19.2.7",
66
69
  "@types/react-dom": "^19.2.3",
67
70
  "@types/react-resizable": "^3.0.7",
@@ -21,8 +21,7 @@ export {
21
21
  } from './src/lib/generateEntityScenarioData';
22
22
  export { default as generateChangesEntityScenarios } from './src/lib/generateChangesEntityScenarios';
23
23
  export { default as generateChangesEntityScenarioData } from './src/lib/generateChangesEntityScenarioData';
24
- export { default as generateEntityKeyAttributes } from './src/lib/generateEntityKeyAttributes';
25
- export { default as generateChangesEntityKeyAttributes } from './src/lib/generateChangesEntityKeyAttributes';
24
+ export { default as generateExecutionFlows } from './src/lib/generateExecutionFlows';
26
25
  export {
27
26
  default as guessScenarioDataFromName,
28
27
  type GuessScenarioDataFromNameArgs,
@@ -30,6 +29,7 @@ export {
30
29
  export {
31
30
  default as guessScenarioDataFromDescription,
32
31
  type GuessScenarioDataFromDescriptionArgs,
32
+ type ExecutionFlowSelection,
33
33
  } from './src/lib/guessScenarioDataFromDescription';
34
34
  export { default as generateBranchSummary } from './src/lib/generateBranchSummary';
35
35
  export { default as extractOverlappingMocks } from './src/lib/extractOverlappingMocks';
@@ -40,7 +40,10 @@ export { default as describeCodeChange } from './src/lib/describeCodeChange';
40
40
  export { default as validateTypeStructure } from './src/lib/validateTypeStructure';
41
41
  export { default as validateDataStructure } from './src/lib/validateDataStructure';
42
42
  export { default as isolateScopes } from './src/lib/isolateScopes';
43
- export { default as analyzeScope } from './src/lib/analyzeScope';
43
+ export {
44
+ default as analyzeScope,
45
+ destroyWorkerPool,
46
+ } from './src/lib/analyzeScope';
44
47
  export { default as logOrderedMap } from './src/lib/logOrderedMap';
45
48
  export {
46
49
  default as splitOutsideParentheses,
@@ -54,10 +57,14 @@ export {
54
57
  removeDuplicateFunctionCalls,
55
58
  } from './src/lib/dataStructure/helpers/cleanNonObjectFunctions';
56
59
  export { default as convertDotNotation } from './src/lib/dataStructure/helpers/convertDotNotation';
60
+ export { default as convertTypeAnnotationsToValues } from './src/lib/dataStructure/helpers/convertTypeAnnotationsToValues';
57
61
  export { default as cleanOutBoundary } from './src/lib/cleanOutBoundary';
58
- export { fillInDirectSchemaGapsAndUnknowns } from './src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns';
62
+ export {
63
+ fillInDirectSchemaGapsAndUnknowns,
64
+ buildSchemaIndexes,
65
+ type SchemaIndexes,
66
+ } from './src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns';
59
67
  export { default as deduplicateFunctionSchemas } from './src/lib/dataStructure/helpers/deduplicateFunctionSchemas';
60
- export { default as gatherRelevantDependentKeyAttributes } from './src/lib/gatherRelevantDependentKeyAttributes';
61
68
  export { default as getConditionalUsagesFromCode } from './src/lib/getConditionalUsagesFromCode';
62
69
  export type {
63
70
  ScopeInfo,
@@ -79,10 +86,18 @@ export {
79
86
  getSourceEquivalencies,
80
87
  getEquivalentSignatureVariables,
81
88
  getConditionalUsages,
89
+ getConditionalEffects,
90
+ getCompoundConditionals,
91
+ getChildBoundaryGatingConditions,
92
+ getJsxRenderingUsages,
82
93
  } from './src/lib/worker/SerializableDataStructure';
83
94
  export { parseJsonSafe } from './src/lib/parsers/parseJsonSafe';
84
95
  export { default as completionCall } from './src/lib/completionCall';
85
96
 
97
+ // NOTE: E2E data tracking utilities (e2eDataTracking.ts) are NOT exported here
98
+ // because they use Node.js 'crypto' module which breaks browser builds.
99
+ // Import directly from '~codeyam/ai/src/lib/e2eDataTracking' when needed in Node.js tests.
100
+
86
101
  // Wrapper detection
87
102
  export { default as detectWrapperRequirements } from './src/lib/wrapperDetection/detectWrapperRequirements';
88
103
  export { KNOWN_LIBRARY_HOOKS } from './src/lib/wrapperDetection/knownLibraryHooks';
@@ -9,12 +9,12 @@
9
9
  "author": "",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@anthropic-ai/sdk": "^0.71.0",
12
+ "@anthropic-ai/sdk": "^0.74.0",
13
13
  "jsdom": "^27.4.0",
14
14
  "p-queue": "^8.1.0",
15
- "p-retry": "^6.2.1",
15
+ "p-retry": "^7.1.1",
16
16
  "piscina": "^5.1.4",
17
- "lru-cache": "^11.2.4"
17
+ "lru-cache": "^11.2.5"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/jsdom": "^27.0.0"
@@ -1,3 +1,5 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
1
3
  import OpenAI from 'openai';
2
4
  import * as lib from '../../lib';
3
5
  import { AI } from '../../lib/types';
@@ -23,6 +25,121 @@ interface CompletionCallProps {
23
25
  attempts?: number;
24
26
  }
25
27
 
28
+ // Track which fixture index to use for each type (for LLM replay)
29
+ const callIndexByType: Record<string, number> = {};
30
+
31
+ /**
32
+ * Replays a captured LLM call from test fixtures instead of making a real API call.
33
+ */
34
+ function replayLlmCall(
35
+ type: string,
36
+ fixturesDir: string,
37
+ ): {
38
+ finishReason: string;
39
+ completion: string;
40
+ stats: lib.types.LlmCallStats;
41
+ } {
42
+ console.log(
43
+ `CodeYam Test: Replaying LLM call for type '${type}' from ${fixturesDir}`,
44
+ );
45
+
46
+ // Ensure the fixtures directory exists
47
+ if (!fs.existsSync(fixturesDir)) {
48
+ throw new Error(
49
+ `No LLM fixture files found - directory does not exist: ${fixturesDir}`,
50
+ );
51
+ }
52
+
53
+ // Load all JSON files from fixtures directory
54
+ const files = fs
55
+ .readdirSync(fixturesDir)
56
+ .filter((f) => f.endsWith('.json'));
57
+
58
+ if (files.length === 0) {
59
+ throw new Error(`No LLM fixture files found in ${fixturesDir}`);
60
+ }
61
+
62
+ // Track calls of each type to handle multiple calls with same type
63
+ const callsByType: Record<string, any[]> = {};
64
+
65
+ for (const file of files) {
66
+ try {
67
+ const content = fs.readFileSync(path.join(fixturesDir, file), 'utf-8');
68
+ const call = JSON.parse(content);
69
+
70
+ if (!callsByType[call.prompt_type]) {
71
+ callsByType[call.prompt_type] = [];
72
+ }
73
+ callsByType[call.prompt_type].push(call);
74
+ } catch (error) {
75
+ console.warn(`Failed to parse LLM fixture file ${file}:`, error);
76
+ }
77
+ }
78
+
79
+ const matchingCalls = callsByType[type];
80
+
81
+ if (!matchingCalls || matchingCalls.length === 0) {
82
+ const availableTypes = Object.keys(callsByType).join(', ');
83
+ console.warn(
84
+ `CodeYam Test: No captured LLM call found for type '${type}'. Available types: ${availableTypes}`,
85
+ );
86
+ // Return empty response - callers should handle gracefully
87
+ // This allows new LLM call types to be added without breaking existing fixtures
88
+ return {
89
+ finishReason: 'stop',
90
+ completion: '{}',
91
+ stats: {
92
+ model: 'fixture-fallback',
93
+ prompt_type: type,
94
+ system_message: '',
95
+ prompt_text: '',
96
+ response: '{}',
97
+ input_tokens: 0,
98
+ output_tokens: 0,
99
+ cost: 0,
100
+ },
101
+ };
102
+ }
103
+
104
+ // Track call count per type and cycle through multiple responses
105
+ const callKey = `${fixturesDir}::${type}`;
106
+ if (!callIndexByType[callKey]) {
107
+ callIndexByType[callKey] = 0;
108
+ }
109
+ const callIndex = callIndexByType[callKey];
110
+ callIndexByType[callKey] = (callIndex + 1) % matchingCalls.length;
111
+
112
+ const call = matchingCalls[callIndex];
113
+
114
+ console.log(
115
+ `CodeYam Test: Replaying LLM response for '${type}' [${callIndex + 1}/${matchingCalls.length}]`,
116
+ );
117
+
118
+ // Extract the actual completion content from the OpenAI response
119
+ let completion: string;
120
+ try {
121
+ const responseObj = JSON.parse(call.response);
122
+ completion = responseObj.choices?.[0]?.message?.content || call.response;
123
+ } catch {
124
+ completion = call.response;
125
+ }
126
+
127
+ return {
128
+ finishReason: 'stop',
129
+ completion,
130
+ stats: {
131
+ model: call.model ?? 'fixture',
132
+ prompt_type: type,
133
+ system_message: call.system_message ?? '',
134
+ prompt_text: call.prompt_text ?? '',
135
+ response: call.response ?? '',
136
+ input_tokens: call.input_tokens ?? 0,
137
+ output_tokens: call.output_tokens ?? 0,
138
+ cost: call.cost ?? 0,
139
+ },
140
+ };
141
+ }
142
+
26
143
  export default async function completionCall({
27
144
  type,
28
145
  systemMessage,
@@ -34,6 +151,11 @@ export default async function completionCall({
34
151
  // model = AI.Model.DEEPSEEK_CHAT,
35
152
  attempts = 0,
36
153
  }: CompletionCallProps) {
154
+ // Support for E2E testing with replayed LLM calls
155
+ if (process.env.CODEYAM_LLM_FIXTURES_DIR) {
156
+ return replayLlmCall(type, process.env.CODEYAM_LLM_FIXTURES_DIR);
157
+ }
158
+
37
159
  const modelInfo = getModelInfo(model);
38
160
  const apiKey = process.env[modelInfo.provider.apiKeyEnvVar];
39
161
 
@@ -49,6 +49,7 @@ let workerPool: Piscina<
49
49
  AnalyzeScopeWorkerInput,
50
50
  AnalyzeScopeWorkerOutput
51
51
  > | null = null;
52
+ let workerPoolDestroyed = false;
52
53
 
53
54
  /**
54
55
  * Check if we're in Node.js main thread
@@ -65,11 +66,48 @@ function getIsMainThread(): boolean {
65
66
  return isMainThread;
66
67
  }
67
68
 
69
+ /**
70
+ * Destroy the worker pool, freeing its ~2GB heap.
71
+ * Called after data structure preparation completes (the producing phase transition).
72
+ * The worker is not needed after this point — subsequent calls to ensureWorkerPool() will throw.
73
+ */
74
+ export async function destroyWorkerPool() {
75
+ if (workerPool) {
76
+ const memBefore = process.memoryUsage();
77
+ console.log('CodeYam: Destroying worker pool...', {
78
+ rssBefore: `${Math.round(memBefore.rss / 1024 / 1024)}MB`,
79
+ heapBefore: `${Math.round(memBefore.heapUsed / 1024 / 1024)}MB`,
80
+ });
81
+
82
+ await workerPool.destroy();
83
+ workerPool = null;
84
+
85
+ // Force GC if available to reclaim worker memory faster
86
+ if (global.gc) {
87
+ global.gc();
88
+ }
89
+
90
+ const memAfter = process.memoryUsage();
91
+ console.log('CodeYam: Worker pool destroyed', {
92
+ rssAfter: `${Math.round(memAfter.rss / 1024 / 1024)}MB`,
93
+ heapAfter: `${Math.round(memAfter.heapUsed / 1024 / 1024)}MB`,
94
+ rssDelta: `${Math.round((memAfter.rss - memBefore.rss) / 1024 / 1024)}MB`,
95
+ });
96
+ }
97
+ workerPoolDestroyed = true;
98
+ }
99
+
68
100
  /**
69
101
  * Lazy initialization of worker pool.
70
102
  * Called on first use to ensure environment variables are set.
71
103
  */
72
104
  function ensureWorkerPool() {
105
+ if (workerPoolDestroyed) {
106
+ throw new Error(
107
+ 'CodeYam: Worker pool was destroyed (post-producing phase). ' +
108
+ 'analyzeScope should not be called after data structure preparation completes.',
109
+ );
110
+ }
73
111
  if (workerPool !== null) return;
74
112
 
75
113
  // Only initialize worker pool in Node.js environment
@@ -85,10 +123,17 @@ function ensureWorkerPool() {
85
123
  // Note: WORKER_PATH is null when __mocks__/analyzeScope.ts is active
86
124
  const { WORKER_PATH } = analyzeScopeWorkerPaths();
87
125
 
126
+ // Disable workers when tracing is enabled - we need access to ScopeDataStructure
127
+ // instance in the main thread to capture pre-serialization state
128
+ const tracingEnabled =
129
+ process.env.CODEYAM_TRACE_TRANSFORMS === '1' ||
130
+ process.env.CODEYAM_TRACE_TRANSFORMS === 'true';
131
+
88
132
  if (
89
133
  process.env.USE_WORKER_THREADS &&
90
134
  WORKER_PATH &&
91
- fs.existsSync(WORKER_PATH)
135
+ fs.existsSync(WORKER_PATH) &&
136
+ !tracingEnabled
92
137
  ) {
93
138
  console.log('CodeYam: Using worker threads for analyzeScope', {
94
139
  WORKER_PATH,
@@ -121,6 +166,7 @@ function ensureWorkerPool() {
121
166
  WORKER_PATH,
122
167
  workerExists: WORKER_PATH ? fs.existsSync(WORKER_PATH) : false,
123
168
  USE_WORKER_THREADS: process.env.USE_WORKER_THREADS,
169
+ tracingEnabled,
124
170
  });
125
171
  workerPool = null; // Explicitly set to indicate "no workers"
126
172
  }
@@ -164,13 +210,27 @@ export async function analyzeScopeLocal({
164
210
  // Collect conditional usages from all statement analyses
165
211
  const allConditionalUsages: Record<
166
212
  string,
167
- Array<{
168
- path: string;
169
- conditionType: 'truthiness' | 'comparison' | 'switch';
170
- comparedValues?: string[];
171
- location: 'if' | 'ternary' | 'logical-and' | 'switch';
172
- }>
213
+ import('./astScopes/types').ConditionalUsage[]
214
+ > = {};
215
+ // Collect conditional effects (setter calls inside conditionals)
216
+ const allConditionalEffects: import('./astScopes/types').ConditionalEffect[] =
217
+ [];
218
+ // Collect compound conditionals (grouped conditions that must all be true)
219
+ const allCompoundConditionals: import('./astScopes/types').CompoundConditional[] =
220
+ [];
221
+ // Collect derived variables (variables computed from boolean expressions)
222
+ const allDerivedVariables: Record<
223
+ string,
224
+ import('./astScopes/types').DerivedVariableInfo
173
225
  > = {};
226
+ // Collect child boundary gating conditions across all statements
227
+ const allChildBoundaryGatingConditions: Record<
228
+ string,
229
+ import('./astScopes/types').ConditionalUsage[]
230
+ > = {};
231
+ // Collect JSX rendering usages (arrays via .map(), strings via interpolation)
232
+ const allJsxRenderingUsages: import('./astScopes/types').JsxRenderingUsage[] =
233
+ [];
174
234
 
175
235
  const astAnalysisResultWithStatements = statementScopes.map(
176
236
  (statementScope) => {
@@ -191,6 +251,39 @@ export async function analyzeScopeLocal({
191
251
  }
192
252
  allConditionalUsages[path].push(...usages);
193
253
  }
254
+ // Collect conditional effects from AST analysis
255
+ if (astAnalysisResult.conditionalEffects?.length > 0) {
256
+ allConditionalEffects.push(...astAnalysisResult.conditionalEffects);
257
+ }
258
+ // Collect compound conditionals from AST analysis
259
+ if (astAnalysisResult.compoundConditionals?.length > 0) {
260
+ allCompoundConditionals.push(
261
+ ...astAnalysisResult.compoundConditionals,
262
+ );
263
+ }
264
+ // Collect derived variables from AST analysis
265
+ if (astAnalysisResult.derivedVariables) {
266
+ for (const [varName, derivationInfo] of Object.entries(
267
+ astAnalysisResult.derivedVariables,
268
+ )) {
269
+ allDerivedVariables[varName] = derivationInfo;
270
+ }
271
+ }
272
+ // Collect child boundary gating conditions from AST analysis
273
+ if (astAnalysisResult.childBoundaryGatingConditions) {
274
+ for (const [childName, usages] of Object.entries(
275
+ astAnalysisResult.childBoundaryGatingConditions,
276
+ )) {
277
+ if (!allChildBoundaryGatingConditions[childName]) {
278
+ allChildBoundaryGatingConditions[childName] = [];
279
+ }
280
+ allChildBoundaryGatingConditions[childName].push(...usages);
281
+ }
282
+ }
283
+ // Collect JSX rendering usages from AST analysis
284
+ if (astAnalysisResult.jsxRenderingUsages?.length) {
285
+ allJsxRenderingUsages.push(...astAnalysisResult.jsxRenderingUsages);
286
+ }
194
287
  return {
195
288
  statementScope,
196
289
  astAnalysisResult,
@@ -287,7 +380,7 @@ export async function analyzeScopeLocal({
287
380
  }
288
381
 
289
382
  for (const mapping of [structure, equivalentVariables]) {
290
- for (let [key, value] of Object.entries(mapping)) {
383
+ for (let [key, rawValue] of Object.entries(mapping)) {
291
384
  for (const [childScopeId, childScope] of sortedEntries) {
292
385
  const scopeText = fileAnalyzer.sourceFile.text.slice(
293
386
  childScope.start,
@@ -307,27 +400,49 @@ export async function analyzeScopeLocal({
307
400
  return text;
308
401
  };
309
402
 
310
- if (value.includes(scopeText)) {
311
- // DEBUG: Log when replacement happens
312
- if (key.includes('Fetcher') || key.includes('fetcher')) {
313
- console.log(
314
- 'CodeYam DEBUG value replacement:',
315
- JSON.stringify({
316
- key,
317
- oldValue: value,
318
- childScopeId,
319
- scopeTextPreview: scopeText.slice(0, 50),
320
- }),
321
- );
403
+ // Handle both string and string[] values (for OR expressions)
404
+ const processValue = (value: string): string => {
405
+ if (value.includes(scopeText)) {
406
+ // DEBUG: Log when replacement happens
407
+ if (key.includes('Fetcher') || key.includes('fetcher')) {
408
+ console.log(
409
+ 'CodeYam DEBUG value replacement:',
410
+ JSON.stringify({
411
+ key,
412
+ oldValue: value,
413
+ childScopeId,
414
+ scopeTextPreview: scopeText.slice(0, 50),
415
+ }),
416
+ );
417
+ }
418
+ return replaceChildScopeId(value);
419
+ }
420
+ return value;
421
+ };
422
+
423
+ if (Array.isArray(rawValue)) {
424
+ const newValues = rawValue.map(processValue);
425
+ (mapping as Record<string, string | string[]>)[key] =
426
+ newValues;
427
+ rawValue = newValues;
428
+ } else if (typeof rawValue === 'string') {
429
+ const newValue = processValue(rawValue);
430
+ if (newValue !== rawValue) {
431
+ (mapping as Record<string, string | string[]>)[key] =
432
+ newValue;
433
+ rawValue = newValue;
322
434
  }
323
- value = replaceChildScopeId(value);
324
- mapping[key] = value;
325
435
  }
436
+
326
437
  if (key.includes(scopeText)) {
327
438
  const oldKey = key;
328
439
  key = replaceChildScopeId(key);
329
- mapping[key] = mapping[oldKey];
330
- delete mapping[oldKey];
440
+ (mapping as Record<string, string | string[]>)[key] = (
441
+ mapping as Record<string, string | string[]>
442
+ )[oldKey];
443
+ delete (mapping as Record<string, string | string[]>)[
444
+ oldKey
445
+ ];
331
446
  }
332
447
  }
333
448
  }
@@ -491,11 +606,83 @@ export async function analyzeScopeLocal({
491
606
  );
492
607
  }
493
608
 
609
+ // Enrich conditional usages with derived variable info
610
+ // This must happen after all statements are processed so derived variables from
611
+ // earlier statements can be used to enrich usages from later statements
612
+ if (Object.keys(allDerivedVariables).length > 0) {
613
+ for (const [path, usages] of Object.entries(allConditionalUsages)) {
614
+ for (const usage of usages) {
615
+ if (!usage.derivedFrom && allDerivedVariables[path]) {
616
+ usage.derivedFrom = allDerivedVariables[path];
617
+ }
618
+ }
619
+ }
620
+ }
621
+
494
622
  // Add conditional usages from this scope's analysis
495
623
  if (Object.keys(allConditionalUsages).length > 0) {
496
624
  scopeDataStructure.addConditionalUsages(allConditionalUsages);
497
625
  }
498
626
 
627
+ // Add conditional effects from this scope's analysis
628
+ if (allConditionalEffects.length > 0) {
629
+ scopeDataStructure.addConditionalEffects(allConditionalEffects);
630
+ }
631
+
632
+ // Add compound conditionals from this scope's analysis
633
+ if (allCompoundConditionals.length > 0) {
634
+ scopeDataStructure.addCompoundConditionals(allCompoundConditionals);
635
+ }
636
+
637
+ // Merge extracted gating conditions from JSX extraction (processJSXForScope)
638
+ // These were detected BEFORE JSX was simplified, so they have the full context
639
+ if (scope.extractedGatingConditions) {
640
+ for (const [childName, conditions] of Object.entries(
641
+ scope.extractedGatingConditions,
642
+ )) {
643
+ if (!allChildBoundaryGatingConditions[childName]) {
644
+ allChildBoundaryGatingConditions[childName] = [];
645
+ }
646
+ for (const condition of conditions) {
647
+ // Convert to full ConditionalUsage format
648
+ allChildBoundaryGatingConditions[childName].push({
649
+ path: condition.path,
650
+ conditionType: condition.conditionType,
651
+ location: condition.location,
652
+ isNegated: condition.isNegated,
653
+ controlsJsxRendering: true,
654
+ });
655
+ }
656
+ }
657
+ }
658
+
659
+ // Enrich child boundary gating conditions with derived variable info
660
+ // This must happen after all statements are processed so derived variables from
661
+ // earlier statements can be used to enrich gating conditions from later statements
662
+ if (Object.keys(allDerivedVariables).length > 0) {
663
+ for (const [_childName, conditions] of Object.entries(
664
+ allChildBoundaryGatingConditions,
665
+ )) {
666
+ for (const condition of conditions) {
667
+ if (!condition.derivedFrom && allDerivedVariables[condition.path]) {
668
+ condition.derivedFrom = allDerivedVariables[condition.path];
669
+ }
670
+ }
671
+ }
672
+ }
673
+
674
+ // Add child boundary gating conditions from this scope's analysis
675
+ if (Object.keys(allChildBoundaryGatingConditions).length > 0) {
676
+ scopeDataStructure.addChildBoundaryGatingConditions(
677
+ allChildBoundaryGatingConditions,
678
+ );
679
+ }
680
+
681
+ // Add JSX rendering usages from this scope's analysis
682
+ if (allJsxRenderingUsages.length > 0) {
683
+ scopeDataStructure.addJsxRenderingUsages(allJsxRenderingUsages);
684
+ }
685
+
499
686
  await Promise.all(
500
687
  Object.values(scope.childScopes).map(async (childScope) => {
501
688
  // This is awkward but need to identify class scopes
@@ -574,6 +761,7 @@ export default async function analyzeScope(
574
761
  end: scope.end,
575
762
  variables: scope.variables,
576
763
  childScopes: scope.childScopes,
764
+ extractedGatingConditions: scope.extractedGatingConditions,
577
765
  },
578
766
  model: args.model,
579
767
  };