@codeyam/codeyam-cli 0.1.0-staging.76566f9 → 0.1.0-staging.78c1cad

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 (1488) 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 +32 -29
  5. package/analyzer-template/packages/ai/index.ts +21 -5
  6. package/analyzer-template/packages/ai/package.json +4 -4
  7. package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
  8. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +226 -24
  9. package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +217 -13
  11. package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
  12. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +316 -23
  13. package/analyzer-template/packages/ai/src/lib/astScopes/nodeToSource.ts +19 -0
  14. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +11 -4
  15. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  16. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
  17. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +15 -0
  18. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
  19. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1229 -30
  20. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  21. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +265 -6
  22. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
  23. package/analyzer-template/packages/ai/src/lib/completionCall.ts +247 -66
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +2041 -328
  25. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.ts +10 -3
  26. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  27. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +296 -35
  28. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
  29. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
  30. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
  31. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +70 -9
  32. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +129 -20
  33. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  34. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  35. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +140 -14
  36. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
  37. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
  38. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +393 -90
  39. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
  40. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  41. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -0
  42. package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
  43. package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
  44. package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
  45. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +33 -7
  46. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +86 -142
  47. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +59 -3
  48. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1461 -67
  49. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +200 -196
  50. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +677 -0
  51. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
  52. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
  53. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
  54. package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +5 -5
  55. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
  56. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  57. package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +111 -87
  58. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  59. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
  60. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
  61. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -142
  62. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
  63. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
  64. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +110 -6
  65. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -89
  66. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
  67. package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +11 -11
  68. package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
  69. package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +824 -0
  70. package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
  71. package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
  72. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +122 -3
  73. package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
  74. package/analyzer-template/packages/analyze/index.ts +6 -1
  75. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +79 -59
  76. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +132 -33
  77. package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
  78. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  79. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  80. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
  81. package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
  82. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
  83. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
  84. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
  85. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
  86. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
  87. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
  88. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +492 -282
  89. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +47 -37
  90. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +25 -6
  91. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +13 -14
  92. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  93. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +115 -20
  94. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +35 -15
  95. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
  96. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +15 -12
  97. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  98. package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
  99. package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
  100. package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
  101. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1352 -0
  102. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +201 -46
  103. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
  104. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +304 -66
  105. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
  106. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +579 -29
  107. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +166 -0
  108. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +1 -0
  109. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +2 -3
  110. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1839 -844
  111. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
  112. package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
  113. package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
  114. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  115. package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
  116. package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
  117. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
  118. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
  119. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
  120. package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
  121. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
  122. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
  123. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
  124. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  125. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
  126. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
  127. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
  128. package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  129. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
  130. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
  131. package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
  132. package/analyzer-template/packages/aws/package.json +10 -10
  133. package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
  134. package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
  135. package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
  136. package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
  137. package/analyzer-template/packages/database/index.ts +1 -0
  138. package/analyzer-template/packages/database/package.json +4 -4
  139. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  140. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  141. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  142. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  143. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  144. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  145. package/analyzer-template/packages/database/src/lib/kysely/db.ts +22 -1
  146. package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
  147. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +17 -1
  148. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  149. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  150. package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
  151. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +38 -15
  152. package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
  153. package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
  154. package/analyzer-template/packages/database/src/lib/loadCommits.ts +58 -19
  155. package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -9
  156. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  157. package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
  158. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +5 -6
  159. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  160. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  161. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  162. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +96 -152
  163. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  164. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  165. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  166. package/analyzer-template/packages/generate/index.ts +3 -0
  167. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
  168. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +221 -0
  169. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
  170. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  171. package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
  172. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  173. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  174. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  175. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  176. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  177. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  178. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  179. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  180. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  181. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  182. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  183. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  184. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  185. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  186. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  187. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  188. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -0
  189. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  190. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +16 -1
  191. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  192. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -18
  193. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
  194. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
  195. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
  196. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
  197. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  198. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +17 -1
  199. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
  200. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  201. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  202. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  203. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  204. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  205. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
  206. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
  207. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  208. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  209. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  210. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  211. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +7 -6
  212. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  213. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
  214. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
  215. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
  216. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
  217. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  218. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +15 -1
  219. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  220. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
  221. package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
  222. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
  223. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
  224. package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
  225. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
  226. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  227. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +45 -14
  228. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  229. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
  230. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  231. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -10
  232. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  233. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  234. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  235. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  236. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  237. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
  238. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
  239. package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
  240. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  241. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  242. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  243. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  244. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  245. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  246. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  247. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  248. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  249. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
  250. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  251. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -89
  252. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  253. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  254. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  255. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  256. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  257. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  258. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  259. package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
  260. package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
  261. package/analyzer-template/packages/github/dist/generate/index.js +3 -0
  262. package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
  263. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  264. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  265. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  266. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
  267. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
  268. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  269. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  270. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
  271. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
  272. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  273. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  274. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  275. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  276. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  277. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
  278. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
  279. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
  280. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  281. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
  282. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
  283. package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
  284. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
  285. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
  286. package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
  287. package/analyzer-template/packages/github/dist/types/index.d.ts +3 -4
  288. package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
  289. package/analyzer-template/packages/github/dist/types/index.js +0 -1
  290. package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
  291. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  292. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  293. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  294. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  295. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +71 -27
  296. package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
  297. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
  298. package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
  299. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
  300. package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
  301. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  302. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  303. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +19 -54
  304. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  305. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js +1 -21
  306. package/analyzer-template/packages/github/dist/types/src/types/Scenario.js.map +1 -1
  307. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  308. package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  309. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  310. package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  311. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
  312. package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  313. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
  314. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  315. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
  316. package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
  317. package/analyzer-template/packages/github/package.json +2 -2
  318. package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
  319. package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
  320. package/analyzer-template/packages/process/index.ts +2 -0
  321. package/analyzer-template/packages/process/package.json +12 -0
  322. package/analyzer-template/packages/process/tsconfig.json +8 -0
  323. package/analyzer-template/packages/types/index.ts +3 -6
  324. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  325. package/analyzer-template/packages/types/src/types/Analysis.ts +87 -27
  326. package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
  327. package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
  328. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +8 -0
  329. package/analyzer-template/packages/types/src/types/Scenario.ts +19 -77
  330. package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +181 -5
  331. package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
  332. package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
  333. package/analyzer-template/packages/ui-components/package.json +1 -1
  334. package/analyzer-template/packages/utils/dist/types/index.d.ts +3 -4
  335. package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
  336. package/analyzer-template/packages/utils/dist/types/index.js +0 -1
  337. package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
  338. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  339. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  340. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  341. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  342. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +71 -27
  343. package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
  344. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
  345. package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
  346. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
  347. package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
  348. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  349. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  350. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +19 -54
  351. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  352. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js +1 -21
  353. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.js.map +1 -1
  354. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +153 -5
  355. package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
  356. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
  357. package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
  358. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
  359. package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
  360. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  361. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  362. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +120 -4
  363. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  364. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
  365. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
  366. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
  367. package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
  368. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +148 -3
  369. package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
  370. package/analyzer-template/playwright/capture.ts +57 -26
  371. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  372. package/analyzer-template/playwright/captureStatic.ts +1 -1
  373. package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
  374. package/analyzer-template/playwright/waitForServer.ts +21 -6
  375. package/analyzer-template/project/analyzeBaselineCommit.ts +9 -0
  376. package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
  377. package/analyzer-template/project/analyzeFileEntities.ts +30 -0
  378. package/analyzer-template/project/analyzeRegularCommit.ts +9 -0
  379. package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
  380. package/analyzer-template/project/constructMockCode.ts +1149 -130
  381. package/analyzer-template/project/controller/startController.ts +16 -1
  382. package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
  383. package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
  384. package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
  385. package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
  386. package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
  387. package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
  388. package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
  389. package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
  390. package/analyzer-template/project/orchestrateCapture.ts +85 -10
  391. package/analyzer-template/project/reconcileMockDataKeys.ts +246 -1
  392. package/analyzer-template/project/runAnalysis.ts +11 -0
  393. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  394. package/analyzer-template/project/serverOnlyModules.ts +127 -2
  395. package/analyzer-template/project/start.ts +54 -15
  396. package/analyzer-template/project/startScenarioCapture.ts +15 -0
  397. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  398. package/analyzer-template/project/writeMockDataTsx.ts +315 -11
  399. package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
  400. package/analyzer-template/project/writeScenarioComponents.ts +420 -57
  401. package/analyzer-template/project/writeScenarioFiles.ts +26 -0
  402. package/analyzer-template/project/writeSimpleRoot.ts +23 -13
  403. package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
  404. package/analyzer-template/scripts/defaultCmd.sh +9 -0
  405. package/analyzer-template/tsconfig.json +14 -1
  406. package/background/src/lib/local/createLocalAnalyzer.js +2 -30
  407. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  408. package/background/src/lib/local/execAsync.js +1 -1
  409. package/background/src/lib/local/execAsync.js.map +1 -1
  410. package/background/src/lib/virtualized/common/execAsync.js +1 -1
  411. package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
  412. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +7 -1
  413. package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
  414. package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
  415. package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
  416. package/background/src/lib/virtualized/project/analyzeFileEntities.js +24 -1
  417. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  418. package/background/src/lib/virtualized/project/analyzeRegularCommit.js +7 -1
  419. package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
  420. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
  421. package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
  422. package/background/src/lib/virtualized/project/constructMockCode.js +1002 -88
  423. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  424. package/background/src/lib/virtualized/project/controller/startController.js +11 -1
  425. package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
  426. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
  427. package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
  428. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
  429. package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
  430. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
  431. package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
  432. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
  433. package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
  434. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
  435. package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
  436. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
  437. package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
  438. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
  439. package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
  440. package/background/src/lib/virtualized/project/orchestrateCapture.js +69 -11
  441. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  442. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +206 -1
  443. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  444. package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
  445. package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
  446. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  447. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  448. package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
  449. package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
  450. package/background/src/lib/virtualized/project/start.js +49 -15
  451. package/background/src/lib/virtualized/project/start.js.map +1 -1
  452. package/background/src/lib/virtualized/project/startScenarioCapture.js +12 -0
  453. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  454. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  455. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  456. package/background/src/lib/virtualized/project/writeMockDataTsx.js +267 -8
  457. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  458. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
  459. package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
  460. package/background/src/lib/virtualized/project/writeScenarioComponents.js +326 -51
  461. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  462. package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
  463. package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
  464. package/background/src/lib/virtualized/project/writeSimpleRoot.js +23 -13
  465. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  466. package/codeyam-cli/scripts/apply-setup.js +386 -9
  467. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  468. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  469. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  470. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  471. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  472. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  473. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  474. package/codeyam-cli/src/cli.js +62 -23
  475. package/codeyam-cli/src/cli.js.map +1 -1
  476. package/codeyam-cli/src/codeyam-cli.js +18 -2
  477. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  478. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  479. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  480. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  481. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  482. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  483. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  484. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  485. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  486. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  487. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  488. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  489. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  490. package/codeyam-cli/src/commands/analyze.js +22 -10
  491. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  492. package/codeyam-cli/src/commands/baseline.js +176 -0
  493. package/codeyam-cli/src/commands/baseline.js.map +1 -0
  494. package/codeyam-cli/src/commands/debug.js +37 -23
  495. package/codeyam-cli/src/commands/debug.js.map +1 -1
  496. package/codeyam-cli/src/commands/default.js +43 -35
  497. package/codeyam-cli/src/commands/default.js.map +1 -1
  498. package/codeyam-cli/src/commands/editor.js +5923 -0
  499. package/codeyam-cli/src/commands/editor.js.map +1 -0
  500. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  501. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  502. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  503. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  504. package/codeyam-cli/src/commands/init.js +148 -292
  505. package/codeyam-cli/src/commands/init.js.map +1 -1
  506. package/codeyam-cli/src/commands/memory.js +278 -0
  507. package/codeyam-cli/src/commands/memory.js.map +1 -0
  508. package/codeyam-cli/src/commands/recapture.js +31 -18
  509. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  510. package/codeyam-cli/src/commands/report.js +46 -1
  511. package/codeyam-cli/src/commands/report.js.map +1 -1
  512. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  513. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  514. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  515. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  516. package/codeyam-cli/src/commands/start.js +8 -12
  517. package/codeyam-cli/src/commands/start.js.map +1 -1
  518. package/codeyam-cli/src/commands/status.js +23 -1
  519. package/codeyam-cli/src/commands/status.js.map +1 -1
  520. package/codeyam-cli/src/commands/telemetry.js +37 -0
  521. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  522. package/codeyam-cli/src/commands/test-startup.js +3 -1
  523. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  524. package/codeyam-cli/src/commands/verify.js +14 -2
  525. package/codeyam-cli/src/commands/verify.js.map +1 -1
  526. package/codeyam-cli/src/commands/wipe.js +108 -0
  527. package/codeyam-cli/src/commands/wipe.js.map +1 -0
  528. package/codeyam-cli/src/data/designSystems.js +27 -0
  529. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  530. package/codeyam-cli/src/data/techStacks.js +77 -0
  531. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  532. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  533. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  534. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  535. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  536. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  537. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  538. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +181 -0
  539. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  540. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +4024 -0
  541. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  542. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  543. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  544. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  545. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  546. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  547. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  548. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  549. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  550. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  551. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  552. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  553. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  554. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +381 -0
  555. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  556. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  557. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  558. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  559. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  560. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  561. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  562. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  563. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  564. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  565. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  566. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  567. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  568. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  569. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  570. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +361 -0
  571. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  572. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  573. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  574. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  575. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  576. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +291 -0
  577. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  578. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1768 -0
  579. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  580. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +329 -0
  581. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  582. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  583. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  584. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  585. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  586. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  587. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  588. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +2121 -0
  589. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  590. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  591. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  592. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  593. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  594. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +122 -0
  595. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  596. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  597. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  598. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  599. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  600. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  601. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  602. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  603. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  604. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  605. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  606. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  607. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  608. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  609. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  610. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  611. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  612. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  613. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  614. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  615. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  616. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  617. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  618. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
  619. package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
  620. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +175 -82
  621. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  622. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  623. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  624. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  625. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  626. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  627. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  628. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +148 -0
  629. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  630. package/codeyam-cli/src/utils/analysisRunner.js +67 -22
  631. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  632. package/codeyam-cli/src/utils/analyzer.js +26 -0
  633. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  634. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  635. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  636. package/codeyam-cli/src/utils/backgroundServer.js +203 -30
  637. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  638. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  639. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  640. package/codeyam-cli/src/utils/database.js +128 -7
  641. package/codeyam-cli/src/utils/database.js.map +1 -1
  642. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  643. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  644. package/codeyam-cli/src/utils/devServerState.js +71 -0
  645. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  646. package/codeyam-cli/src/utils/editorApi.js +95 -0
  647. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  648. package/codeyam-cli/src/utils/editorAudit.js +844 -0
  649. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  650. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  651. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  652. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  653. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  654. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  655. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  656. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  657. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  658. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  659. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  660. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  661. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  662. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  663. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  664. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  665. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  666. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  667. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  668. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  669. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  670. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  671. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  672. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  673. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  674. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  675. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  676. package/codeyam-cli/src/utils/editorPreview.js +139 -0
  677. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  678. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  679. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  680. package/codeyam-cli/src/utils/editorScenarioSwitch.js +134 -0
  681. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  682. package/codeyam-cli/src/utils/editorScenarios.js +677 -0
  683. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  684. package/codeyam-cli/src/utils/editorSeedAdapter.js +462 -0
  685. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  686. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  687. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  688. package/codeyam-cli/src/utils/entityChangeStatus.js +394 -0
  689. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  690. package/codeyam-cli/src/utils/entityChangeStatus.server.js +227 -0
  691. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  692. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  693. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  694. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  695. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  696. package/codeyam-cli/src/utils/generateReport.js +4 -3
  697. package/codeyam-cli/src/utils/generateReport.js.map +1 -1
  698. package/codeyam-cli/src/utils/git.js +182 -0
  699. package/codeyam-cli/src/utils/git.js.map +1 -0
  700. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  701. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  702. package/codeyam-cli/src/utils/install-skills.js +134 -39
  703. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  704. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  705. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  706. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  707. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  708. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  709. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  710. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  711. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  712. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  713. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  714. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  715. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  716. package/codeyam-cli/src/utils/progress.js +8 -1
  717. package/codeyam-cli/src/utils/progress.js.map +1 -1
  718. package/codeyam-cli/src/utils/project.js +15 -5
  719. package/codeyam-cli/src/utils/project.js.map +1 -1
  720. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  721. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  722. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  723. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  724. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  725. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  726. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  727. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  728. package/codeyam-cli/src/utils/queue/job.js +214 -7
  729. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  730. package/codeyam-cli/src/utils/queue/manager.js +7 -0
  731. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  732. package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
  733. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  734. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  735. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  736. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  737. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  738. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  739. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  740. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  741. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
  742. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  743. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  744. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  745. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  746. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  747. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  748. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  749. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  750. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  751. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  752. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  753. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  754. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  755. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
  756. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  757. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  758. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  759. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  760. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  761. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  762. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  763. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  764. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  765. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  766. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  767. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  768. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  769. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  770. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  771. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  772. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  773. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  774. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  775. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  776. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  777. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  778. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  779. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  780. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  781. package/codeyam-cli/src/utils/rules/index.js +7 -0
  782. package/codeyam-cli/src/utils/rules/index.js.map +1 -0
  783. package/codeyam-cli/src/utils/rules/parser.js +93 -0
  784. package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
  785. package/codeyam-cli/src/utils/rules/pathMatcher.js +49 -0
  786. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
  787. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  788. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  789. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  790. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  791. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  792. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  793. package/codeyam-cli/src/utils/rules/staleness.js +137 -0
  794. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
  795. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  796. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  797. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  798. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  799. package/codeyam-cli/src/utils/scenariosManifest.js +313 -0
  800. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  801. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  802. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  803. package/codeyam-cli/src/utils/serverState.js +94 -12
  804. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  805. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +96 -45
  806. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  807. package/codeyam-cli/src/utils/simulationGateMiddleware.js +175 -0
  808. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  809. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  810. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  811. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  812. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  813. package/codeyam-cli/src/utils/telemetry.js +106 -0
  814. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  815. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  816. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  817. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  818. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  819. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  820. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  821. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  822. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  823. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  824. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  825. package/codeyam-cli/src/utils/testRunner.js +350 -0
  826. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  827. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  828. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  829. package/codeyam-cli/src/utils/versionInfo.js +67 -15
  830. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  831. package/codeyam-cli/src/utils/webappDetection.js +38 -3
  832. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  833. package/codeyam-cli/src/utils/wipe.js +128 -0
  834. package/codeyam-cli/src/utils/wipe.js.map +1 -0
  835. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +98 -0
  836. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  837. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  838. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  839. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +107 -0
  840. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  841. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  842. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  843. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +647 -0
  844. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  845. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +315 -0
  846. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  847. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  848. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  849. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +86 -0
  850. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  851. package/codeyam-cli/src/webserver/app/lib/database.js +129 -50
  852. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  853. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  854. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  855. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  856. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  857. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  858. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  859. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  860. package/codeyam-cli/src/webserver/backgroundServer.js +186 -37
  861. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  862. package/codeyam-cli/src/webserver/bootstrap.js +51 -0
  863. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  864. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CLe80MMu.js +1 -0
  865. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-Crt_KN_U.js +11 -0
  866. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  867. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CD7lGABo.js +41 -0
  868. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CgTNOhnu.js +1 -0
  869. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DtYTSPL2.js +25 -0
  870. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-D3s1MFkb.js +3 -0
  871. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-D1CdlbrV.js → LoadingDots-By5zI316.js} +1 -1
  872. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-wDPcZNKx.js → LogViewer-CM5zg40N.js} +3 -3
  873. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-CQENLSrF.js +36 -0
  874. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-C2PLkej3.js +11 -0
  875. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DanvyBPb.js +1 -0
  876. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CefgqbCr.js +10 -0
  877. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bc8BG-Lw.js +34 -0
  878. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  879. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BA_Ry-rs.js +1 -0
  880. package/codeyam-cli/src/webserver/build/client/assets/_index-C1YkzTAV.js +11 -0
  881. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-yH46LLUz.js +27 -0
  882. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  883. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  884. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-CHx25PAe.js +1 -0
  885. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  886. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-Bg3e7q4S.js +22 -0
  887. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  888. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  889. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  890. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  891. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  892. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  893. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  894. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  895. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  896. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  897. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  898. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  899. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  900. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  901. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  902. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  903. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  904. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  905. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  906. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  907. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  908. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  909. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  910. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  911. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  912. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  913. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  914. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  915. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  916. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  917. package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
  918. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  919. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  920. package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
  921. package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
  922. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  923. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  924. package/codeyam-cli/src/webserver/build/client/assets/book-open-CL-lMgHh.js +6 -0
  925. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BYimnrHg.js → chevron-down-GmAjGS9-.js} +2 -2
  926. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +43 -0
  927. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CaVsIRxt.js → circle-check-DFcQkN5j.js} +2 -2
  928. package/codeyam-cli/src/webserver/build/client/assets/copy-C6iF61Xs.js +11 -0
  929. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-4ImjHTVC.js +41 -0
  930. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  931. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  932. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CRepiabR.js +1 -0
  933. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +1 -0
  934. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CRxPi2BB.js +96 -0
  935. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-CluPkvXJ.js +41 -0
  936. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-Dt-SjPsw.js → entity._sha._-DYJRGiDI.js} +14 -13
  937. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-wdiwx5-Z.js +6 -0
  938. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-BrkN-40Y.js +6 -0
  939. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DxfhekTZ.js +6 -0
  940. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CfLCUi9S.js → entity._sha_.edit._scenarioId-CRXJWmpB.js} +2 -2
  941. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DKJyZfAY.js → entry.client-SuW9syRS.js} +6 -6
  942. package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
  943. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  944. package/codeyam-cli/src/webserver/build/client/assets/files-D-xGrg29.js +1 -0
  945. package/codeyam-cli/src/webserver/build/client/assets/git-Bq_fbXP5.js +1 -0
  946. package/codeyam-cli/src/webserver/build/client/assets/globals-BsGHu8WX.css +1 -0
  947. package/codeyam-cli/src/webserver/build/client/assets/{index-BosqDOlH.js → index-Bp1l4hSv.js} +1 -1
  948. package/codeyam-cli/src/webserver/build/client/assets/{index-CzNNiTkw.js → index-CWV9XZiG.js} +1 -1
  949. package/codeyam-cli/src/webserver/build/client/assets/index-DE3jI_dv.js +15 -0
  950. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  951. package/codeyam-cli/src/webserver/build/client/assets/labs-B_IX45ih.js +1 -0
  952. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CNp9QFCX.js → loader-circle-De-7qQ2u.js} +2 -2
  953. package/codeyam-cli/src/webserver/build/client/assets/manifest-9032538f.js +1 -0
  954. package/codeyam-cli/src/webserver/build/client/assets/memory-Cx2xEx7s.js +101 -0
  955. package/codeyam-cli/src/webserver/build/client/assets/pause-CFxEKL1u.js +11 -0
  956. package/codeyam-cli/src/webserver/build/client/assets/root-dKFRTYcy.js +80 -0
  957. package/codeyam-cli/src/webserver/build/client/assets/{search-DDGjYAMJ.js → search-BdBb5aqc.js} +2 -2
  958. package/codeyam-cli/src/webserver/build/client/assets/settings-DdE-Untf.js +1 -0
  959. package/codeyam-cli/src/webserver/build/client/assets/simulations-DSCdE99u.js +1 -0
  960. package/codeyam-cli/src/webserver/build/client/assets/terminal-CrplD4b1.js +11 -0
  961. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CBc5dE1s.js → triangle-alert-DqJ0j69l.js} +2 -2
  962. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DhXHbEjP.js +1 -0
  963. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-D9QZKaLJ.js +2 -0
  964. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-Cy5Qg_UR.js +1 -0
  965. package/codeyam-cli/src/webserver/build/client/assets/useToast-5HR2j9ZE.js +1 -0
  966. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  967. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  968. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-B6HnVI5u.js +16 -0
  969. package/codeyam-cli/src/webserver/build/server/assets/index-rV_xLS1u.js +1 -0
  970. package/codeyam-cli/src/webserver/build/server/assets/init-BdWDvetv.js +10 -0
  971. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  972. package/codeyam-cli/src/webserver/build/server/assets/server-build-B_jdq5dT.js +689 -0
  973. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  974. package/codeyam-cli/src/webserver/build-info.json +5 -5
  975. package/codeyam-cli/src/webserver/devServer.js +39 -5
  976. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  977. package/codeyam-cli/src/webserver/editorProxy.js +1028 -0
  978. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  979. package/codeyam-cli/src/webserver/idleDetector.js +130 -0
  980. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  981. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  982. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  983. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  984. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  985. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +283 -0
  986. package/codeyam-cli/src/webserver/server.js +414 -26
  987. package/codeyam-cli/src/webserver/server.js.map +1 -1
  988. package/codeyam-cli/src/webserver/terminalServer.js +952 -0
  989. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  990. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  991. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  992. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  993. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  994. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  995. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  996. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  997. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  998. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  999. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  1000. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  1001. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  1002. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  1003. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  1004. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  1005. package/codeyam-cli/templates/codeyam-editor-claude.md +149 -0
  1006. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  1007. package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
  1008. package/codeyam-cli/templates/commands/codeyam-diagnose.md +481 -0
  1009. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  1010. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  1011. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  1012. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  1013. package/codeyam-cli/templates/editor-step-hook.py +368 -0
  1014. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +203 -0
  1015. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  1016. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  1017. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +13 -0
  1018. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  1019. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  1020. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  1021. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  1022. package/codeyam-cli/templates/expo-react-native/global.css +10 -0
  1023. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  1024. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  1025. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  1026. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  1027. package/codeyam-cli/templates/expo-react-native/package.json +48 -0
  1028. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  1029. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  1030. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  1031. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  1032. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  1033. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  1034. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  1035. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  1036. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  1037. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  1038. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  1039. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  1040. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  1041. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  1042. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  1043. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  1044. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  1045. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  1046. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  1047. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  1048. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  1049. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  1050. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  1051. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  1052. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  1053. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  1054. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  1055. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  1056. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  1057. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  1058. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +140 -0
  1059. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  1060. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  1061. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  1062. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  1063. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  1064. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  1065. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  1066. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  1067. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  1068. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  1069. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  1070. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  1071. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  1072. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  1073. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  1074. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  1075. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  1076. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  1077. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  1078. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  1079. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  1080. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  1081. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  1082. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  1083. package/codeyam-cli/templates/rule-notification-hook.py +83 -0
  1084. package/codeyam-cli/templates/rule-reflection-hook.py +647 -0
  1085. package/codeyam-cli/templates/rules-instructions.md +78 -0
  1086. package/codeyam-cli/templates/seed-adapters/supabase.ts +291 -0
  1087. package/codeyam-cli/templates/{codeyam-debug-skill.md → skills/codeyam-debug/SKILL.md} +48 -4
  1088. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  1089. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +244 -0
  1090. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +611 -0
  1091. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  1092. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  1093. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  1094. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  1095. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  1096. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  1097. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  1098. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  1099. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  1100. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  1101. package/codeyam-cli/templates/skills/codeyam-new-rule/SKILL.md +11 -0
  1102. package/codeyam-cli/templates/{codeyam-setup-skill.md → skills/codeyam-setup/SKILL.md} +13 -1
  1103. package/codeyam-cli/templates/{codeyam-sim-skill.md → skills/codeyam-sim/SKILL.md} +1 -1
  1104. package/codeyam-cli/templates/{codeyam-test-skill.md → skills/codeyam-test/SKILL.md} +1 -1
  1105. package/codeyam-cli/templates/{codeyam-verify-skill.md → skills/codeyam-verify/SKILL.md} +1 -1
  1106. package/package.json +35 -24
  1107. package/packages/ai/index.js +8 -6
  1108. package/packages/ai/index.js.map +1 -1
  1109. package/packages/ai/src/lib/analyzeScope.js +179 -13
  1110. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  1111. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
  1112. package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
  1113. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +160 -13
  1114. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  1115. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
  1116. package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
  1117. package/packages/ai/src/lib/astScopes/methodSemantics.js +237 -23
  1118. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  1119. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  1120. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  1121. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  1122. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  1123. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  1124. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  1125. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
  1126. package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
  1127. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +7 -0
  1128. package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
  1129. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +138 -1
  1130. package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
  1131. package/packages/ai/src/lib/astScopes/processExpression.js +944 -30
  1132. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  1133. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  1134. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  1135. package/packages/ai/src/lib/checkAllAttributes.js +24 -9
  1136. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  1137. package/packages/ai/src/lib/completionCall.js +188 -38
  1138. package/packages/ai/src/lib/completionCall.js.map +1 -1
  1139. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1627 -199
  1140. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  1141. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  1142. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  1143. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  1144. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  1145. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +230 -23
  1146. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
  1147. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
  1148. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  1149. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
  1150. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
  1151. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
  1152. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
  1153. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -7
  1154. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  1155. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +111 -14
  1156. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  1157. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  1158. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  1159. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  1160. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  1161. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +122 -12
  1162. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  1163. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +173 -0
  1164. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
  1165. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
  1166. package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
  1167. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +333 -81
  1168. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  1169. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
  1170. package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
  1171. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  1172. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  1173. package/packages/ai/src/lib/dataStructureChunking.js +130 -0
  1174. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
  1175. package/packages/ai/src/lib/deepEqual.js +32 -0
  1176. package/packages/ai/src/lib/deepEqual.js.map +1 -0
  1177. package/packages/ai/src/lib/e2eDataTracking.js +241 -0
  1178. package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
  1179. package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
  1180. package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
  1181. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +21 -5
  1182. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  1183. package/packages/ai/src/lib/generateChangesEntityScenarios.js +78 -120
  1184. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  1185. package/packages/ai/src/lib/generateEntityDataStructure.js +47 -2
  1186. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  1187. package/packages/ai/src/lib/generateEntityScenarioData.js +1156 -62
  1188. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  1189. package/packages/ai/src/lib/generateEntityScenarios.js +177 -163
  1190. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  1191. package/packages/ai/src/lib/generateExecutionFlows.js +484 -0
  1192. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
  1193. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
  1194. package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
  1195. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +1807 -0
  1196. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
  1197. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
  1198. package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
  1199. package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -2
  1200. package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
  1201. package/packages/ai/src/lib/isolateScopes.js +270 -7
  1202. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  1203. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  1204. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  1205. package/packages/ai/src/lib/mergeStatements.js +88 -46
  1206. package/packages/ai/src/lib/mergeStatements.js.map +1 -1
  1207. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  1208. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  1209. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
  1210. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  1211. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
  1212. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  1213. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -100
  1214. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  1215. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
  1216. package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
  1217. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +83 -6
  1218. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  1219. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -70
  1220. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  1221. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
  1222. package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
  1223. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +9 -9
  1224. package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
  1225. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
  1226. package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
  1227. package/packages/ai/src/lib/resolvePathToControllable.js +677 -0
  1228. package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
  1229. package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
  1230. package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
  1231. package/packages/ai/src/lib/worker/SerializableDataStructure.js +29 -0
  1232. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  1233. package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
  1234. package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
  1235. package/packages/analyze/index.js +2 -1
  1236. package/packages/analyze/index.js.map +1 -1
  1237. package/packages/analyze/src/lib/FileAnalyzer.js +75 -36
  1238. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  1239. package/packages/analyze/src/lib/ProjectAnalyzer.js +109 -30
  1240. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  1241. package/packages/analyze/src/lib/analysisContext.js +30 -5
  1242. package/packages/analyze/src/lib/analysisContext.js.map +1 -1
  1243. package/packages/analyze/src/lib/asts/index.js +4 -2
  1244. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  1245. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  1246. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  1247. package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
  1248. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  1249. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
  1250. package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
  1251. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
  1252. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
  1253. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
  1254. package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
  1255. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
  1256. package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
  1257. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
  1258. package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
  1259. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
  1260. package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
  1261. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
  1262. package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
  1263. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +220 -57
  1264. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  1265. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +37 -27
  1266. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  1267. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +14 -2
  1268. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  1269. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +11 -8
  1270. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  1271. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  1272. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  1273. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +75 -21
  1274. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  1275. package/packages/analyze/src/lib/files/analyzeChange.js +22 -11
  1276. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  1277. package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
  1278. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  1279. package/packages/analyze/src/lib/files/analyzeInitial.js +10 -10
  1280. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  1281. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  1282. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  1283. package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
  1284. package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
  1285. package/packages/analyze/src/lib/files/enums/steps.js +1 -1
  1286. package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
  1287. package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
  1288. package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
  1289. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +907 -0
  1290. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  1291. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +170 -40
  1292. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  1293. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
  1294. package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
  1295. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +253 -42
  1296. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  1297. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
  1298. package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
  1299. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +381 -26
  1300. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  1301. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +104 -0
  1302. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
  1303. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +1 -0
  1304. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  1305. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +2 -3
  1306. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  1307. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1478 -672
  1308. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  1309. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
  1310. package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
  1311. package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
  1312. package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
  1313. package/packages/analyze/src/lib/index.js +1 -0
  1314. package/packages/analyze/src/lib/index.js.map +1 -1
  1315. package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
  1316. package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
  1317. package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
  1318. package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
  1319. package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
  1320. package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
  1321. package/packages/database/index.js +1 -0
  1322. package/packages/database/index.js.map +1 -1
  1323. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  1324. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  1325. package/packages/database/src/lib/analysisToDb.js +1 -1
  1326. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  1327. package/packages/database/src/lib/branchToDb.js +1 -1
  1328. package/packages/database/src/lib/branchToDb.js.map +1 -1
  1329. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  1330. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  1331. package/packages/database/src/lib/commitToDb.js +1 -1
  1332. package/packages/database/src/lib/commitToDb.js.map +1 -1
  1333. package/packages/database/src/lib/fileToDb.js +1 -1
  1334. package/packages/database/src/lib/fileToDb.js.map +1 -1
  1335. package/packages/database/src/lib/kysely/db.js +16 -1
  1336. package/packages/database/src/lib/kysely/db.js.map +1 -1
  1337. package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
  1338. package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
  1339. package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
  1340. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  1341. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  1342. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  1343. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  1344. package/packages/database/src/lib/loadAnalyses.js +45 -2
  1345. package/packages/database/src/lib/loadAnalyses.js.map +1 -1
  1346. package/packages/database/src/lib/loadAnalysis.js +15 -1
  1347. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  1348. package/packages/database/src/lib/loadBranch.js +11 -1
  1349. package/packages/database/src/lib/loadBranch.js.map +1 -1
  1350. package/packages/database/src/lib/loadCommit.js +7 -0
  1351. package/packages/database/src/lib/loadCommit.js.map +1 -1
  1352. package/packages/database/src/lib/loadCommits.js +45 -14
  1353. package/packages/database/src/lib/loadCommits.js.map +1 -1
  1354. package/packages/database/src/lib/loadEntities.js +23 -10
  1355. package/packages/database/src/lib/loadEntities.js.map +1 -1
  1356. package/packages/database/src/lib/loadEntity.js +5 -5
  1357. package/packages/database/src/lib/loadEntity.js.map +1 -1
  1358. package/packages/database/src/lib/loadEntityBranches.js +9 -0
  1359. package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
  1360. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +5 -5
  1361. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  1362. package/packages/database/src/lib/projectToDb.js +1 -1
  1363. package/packages/database/src/lib/projectToDb.js.map +1 -1
  1364. package/packages/database/src/lib/saveFiles.js +1 -1
  1365. package/packages/database/src/lib/saveFiles.js.map +1 -1
  1366. package/packages/database/src/lib/scenarioToDb.js +1 -1
  1367. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  1368. package/packages/database/src/lib/updateCommitMetadata.js +76 -89
  1369. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  1370. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  1371. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  1372. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  1373. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  1374. package/packages/generate/index.js +3 -0
  1375. package/packages/generate/index.js.map +1 -1
  1376. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
  1377. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  1378. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +217 -0
  1379. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
  1380. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
  1381. package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
  1382. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  1383. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  1384. package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
  1385. package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
  1386. package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
  1387. package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
  1388. package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
  1389. package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
  1390. package/packages/process/index.js +3 -0
  1391. package/packages/process/index.js.map +1 -0
  1392. package/packages/process/src/GlobalProcessManager.js.map +1 -0
  1393. package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
  1394. package/packages/process/src/ProcessManager.js.map +1 -0
  1395. package/packages/process/src/index.js.map +1 -0
  1396. package/packages/process/src/managedExecAsync.js.map +1 -0
  1397. package/packages/types/index.js +0 -1
  1398. package/packages/types/index.js.map +1 -1
  1399. package/packages/types/src/enums/ProjectFramework.js +2 -0
  1400. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  1401. package/packages/types/src/types/Scenario.js +1 -21
  1402. package/packages/types/src/types/Scenario.js.map +1 -1
  1403. package/packages/utils/src/lib/fs/rsyncCopy.js +120 -4
  1404. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  1405. package/packages/utils/src/lib/safeFileName.js +29 -3
  1406. package/packages/utils/src/lib/safeFileName.js.map +1 -1
  1407. package/scripts/npm-post-install.cjs +34 -0
  1408. package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
  1409. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -409
  1410. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -288
  1411. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -495
  1412. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
  1413. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -120
  1414. package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
  1415. package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
  1416. package/analyzer-template/process/README.md +0 -507
  1417. package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
  1418. package/background/src/lib/process/ProcessManager.js.map +0 -1
  1419. package/background/src/lib/process/index.js.map +0 -1
  1420. package/background/src/lib/process/managedExecAsync.js.map +0 -1
  1421. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
  1422. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  1423. package/codeyam-cli/src/commands/list.js +0 -31
  1424. package/codeyam-cli/src/commands/list.js.map +0 -1
  1425. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  1426. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  1427. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  1428. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  1429. package/codeyam-cli/src/webserver/build/client/assets/EntityItem-wXL1Z2Aq.js +0 -1
  1430. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CzGX-miz.js +0 -1
  1431. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-CXFKsCOD.js +0 -41
  1432. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D-9pXIaY.js +0 -25
  1433. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CBQPrpT0.js +0 -3
  1434. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-4lcOlid-.js +0 -11
  1435. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BfmDgXxG.js +0 -1
  1436. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +0 -15
  1437. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-6J7zDUD5.js +0 -1
  1438. package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +0 -11
  1439. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CVP_WGQ3.js +0 -32
  1440. package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +0 -51
  1441. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgUsG7ib.js +0 -21
  1442. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CKnwPCDr.js +0 -1
  1443. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DW_hdGUc.js +0 -1
  1444. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +0 -1
  1445. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D_3ero5o.js +0 -1
  1446. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DAtOlaWE.js +0 -1
  1447. package/codeyam-cli/src/webserver/build/client/assets/files-ClR0d32A.js +0 -1
  1448. package/codeyam-cli/src/webserver/build/client/assets/git-D62Lxxmv.js +0 -15
  1449. package/codeyam-cli/src/webserver/build/client/assets/globals-C9s7Lhdl.css +0 -1
  1450. package/codeyam-cli/src/webserver/build/client/assets/keyAttributeCoverage-CTlFMihX.js +0 -1
  1451. package/codeyam-cli/src/webserver/build/client/assets/manifest-0d27da29.js +0 -1
  1452. package/codeyam-cli/src/webserver/build/client/assets/root-B_wIKCIf.js +0 -56
  1453. package/codeyam-cli/src/webserver/build/client/assets/settings-DgTyB-Wg.js +0 -1
  1454. package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +0 -1
  1455. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BMIGFP-m.js +0 -1
  1456. package/codeyam-cli/src/webserver/build/client/assets/useInteractiveMode-Dk_FQqWJ.js +0 -1
  1457. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BqPPNjAl.js +0 -2
  1458. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DsJbgMY9.js +0 -1
  1459. package/codeyam-cli/src/webserver/build/client/assets/useToast-DWHcCcl1.js +0 -1
  1460. package/codeyam-cli/src/webserver/build/server/assets/index-CU58-Ttc.js +0 -1
  1461. package/codeyam-cli/src/webserver/build/server/assets/server-build-D35o2uae.js +0 -175
  1462. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  1463. package/codeyam-cli/templates/debug-codeyam.md +0 -625
  1464. package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
  1465. package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
  1466. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -298
  1467. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
  1468. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -226
  1469. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
  1470. package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -408
  1471. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
  1472. package/packages/ai/src/lib/isFrontend.js +0 -5
  1473. package/packages/ai/src/lib/isFrontend.js.map +0 -1
  1474. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
  1475. package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
  1476. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -77
  1477. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
  1478. package/scripts/finalize-analyzer.cjs +0 -81
  1479. /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
  1480. /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
  1481. /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
  1482. /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
  1483. /package/codeyam-cli/src/webserver/build/client/assets/{api.link-scenario-value-l0sNRNKZ.js → api.agent-transcripts-l0sNRNKZ.js} +0 -0
  1484. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-key-attributes-l0sNRNKZ.js → api.dev-mode-events-l0sNRNKZ.js} +0 -0
  1485. /package/codeyam-cli/src/webserver/build/client/assets/{api.update-valid-values-l0sNRNKZ.js → api.editor-audit-l0sNRNKZ.js} +0 -0
  1486. /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
  1487. /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
  1488. /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
@@ -596,10 +596,38 @@ function addMockToContent(fileContent, importedExport, fileAnalyses, rootAnalysi
596
596
  }
597
597
  // Check if we have multiple calls with different variable names
598
598
  // This requires generating separate mock functions for each call site
599
- const hasMultipleCallsWithVariables = importedExport.calls &&
600
- importedExport.calls.length > 1 &&
599
+ //
600
+ // IMPORTANT: calls array may contain BOTH base hook calls (e.g., "useFetcher<Type>()")
601
+ // AND method chain usages (e.g., "useFetcher().functionCallReturnValue.submit(...)").
602
+ // We only want to count base hook calls for the length comparison with callVariableNames.
603
+ // A "base call" is one that ends with "()" possibly preceded by a type annotation,
604
+ // without any subsequent method chains like ".functionCallReturnValue" or ".submit(...)".
605
+ const baseHookCalls = importedExport.calls?.filter((call) => {
606
+ // Base hook calls match patterns like:
607
+ // - "useFetcher()"
608
+ // - "useFetcher<Type>()"
609
+ // - "useFetcher<{ complex: Type }>()"
610
+ // They end with "()" and don't have method chains after the call.
611
+ // Method chains contain ".functionCallReturnValue" or have property access after "()".
612
+ return (call.endsWith('()') &&
613
+ !call.includes('.functionCallReturnValue') &&
614
+ // Also exclude method chains like "hook().something" or "hook().method()"
615
+ !call.match(/\(\)\.[a-zA-Z]/));
616
+ });
617
+ // Determine if we can generate unique mock functions for multiple variables.
618
+ // We need:
619
+ // 1. Multiple variable names (callVariableNames.length > 1)
620
+ // 2. Base hook calls to match them (baseHookCalls.length > 0)
621
+ // Note: We use min(baseHookCalls.length, callVariableNames.length) for iteration
622
+ // to handle cases where data might be slightly out of sync (stale entries).
623
+ const hasMultipleCallsWithVariables = baseHookCalls &&
624
+ baseHookCalls.length > 1 &&
601
625
  importedExport.callVariableNames &&
602
- importedExport.callVariableNames.length === importedExport.calls.length;
626
+ importedExport.callVariableNames.length > 1 &&
627
+ // Only proceed if we have at least as many base calls as variable names,
628
+ // OR they're close enough (within 1) to handle minor sync issues
629
+ Math.abs(baseHookCalls.length - importedExport.callVariableNames.length) <=
630
+ 1;
603
631
  let mockCode;
604
632
  const variableMockCodes = [];
605
633
  if (hasMultipleCallsWithVariables) {
@@ -617,7 +645,10 @@ function addMockToContent(fileContent, importedExport, fileAnalyses, rootAnalysi
617
645
  : [];
618
646
  // Track variable name occurrences for unique function naming
619
647
  const variableNameCounts = {};
620
- for (let i = 0; i < importedExport.calls.length; i++) {
648
+ // Use the minimum of both array lengths to handle slight mismatches
649
+ // (e.g., stale data from previous analysis runs)
650
+ const iterationLimit = Math.min(baseHookCalls.length, importedExport.callVariableNames.length);
651
+ for (let i = 0; i < iterationLimit; i++) {
621
652
  const variableName = importedExport.callVariableNames[i];
622
653
  if (!variableName)
623
654
  continue;
@@ -632,14 +663,21 @@ function addMockToContent(fileContent, importedExport, fileAnalyses, rootAnalysi
632
663
  // Compute unique mock function name for call site replacement
633
664
  // e.g., useFetcher_entityDiffFetcher, useFetcher_reportFetcher
634
665
  const mockFunctionName = `${importedExport.name}_${safeFunctionName}`;
635
- // Use the call signature from importedExport.calls[i] as the data key
666
+ // Use the call signature from baseHookCalls[i] as the data key
636
667
  // This matches what's stored in dataForMocks
637
- const callSignature = importedExport.calls[i];
668
+ const callSignature = baseHookCalls[i];
638
669
  // Generate mock code using the call signature directly
639
670
  // This prevents "symbol already declared" errors when multiple calls exist
671
+ // Check if this is a package import that won't have scenario copies
672
+ const isPackageImportForMock = importPath?.startsWith('@');
640
673
  const variableMockCode = constructMockCode(callSignature, // Use call signature format for data lookup
641
674
  dependencySchemas, importedExport.entityType, undefined, // No need for separate canonical key
642
- { uniqueFunctionSuffix: safeFunctionName });
675
+ {
676
+ uniqueFunctionSuffix: safeFunctionName, // Use variable name for unique function naming
677
+ // For node_modules or package imports, skip spreading from __cyOriginal
678
+ // since those packages/files don't export *__cyOriginal variants
679
+ skipOriginalSpread: importedExport.isNodeModule || isPackageImportForMock,
680
+ });
643
681
  if (variableMockCode) {
644
682
  variableMockCodes.push(variableMockCode);
645
683
  // Replace the call site with the variable-specific mock function
@@ -647,8 +685,17 @@ function addMockToContent(fileContent, importedExport, fileAnalyses, rootAnalysi
647
685
  // e.g., useFetcher() -> useFetcher_reportFetcher()
648
686
  // Escape special regex characters in the call signature
649
687
  const escapedCallSignature = callSignature.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
650
- // Create regex that matches the call (with optional whitespace variations)
651
- const callRegex = new RegExp(escapedCallSignature.replace(/\s+/g, '\\s*'), 'g');
688
+ // Create regex that matches the call (with optional whitespace variations).
689
+ // TypeScript formatters commonly break type parameters across lines, e.g.:
690
+ // useLoaderData<
691
+ // typeof loader
692
+ // >()
693
+ // So we allow optional whitespace around < and > delimiters, not just
694
+ // where whitespace already exists in the call signature string.
695
+ const callRegex = new RegExp(escapedCallSignature
696
+ .replace(/\s+/g, '\\s*')
697
+ .replace(/</g, '\\s*<\\s*')
698
+ .replace(/>/g, '\\s*>\\s*'), 'gs');
652
699
  fileContent = fileContent.replace(callRegex, `${mockFunctionName}()`);
653
700
  }
654
701
  }
@@ -666,37 +713,92 @@ function addMockToContent(fileContent, importedExport, fileAnalyses, rootAnalysi
666
713
  // For single variable assignments, use the call signature directly from dataForMocks
667
714
  const dataForMocks = rootAnalysis.metadata?.scenariosDataStructure?.dataForMocks;
668
715
  // Find matching call signature key in dataForMocks
716
+ // IMPORTANT: First try exact match with type parameters (e.g., "useLoaderData<LoaderData>()")
717
+ // to avoid picking the wrong variant (e.g., "useLoaderData<typeof loader>()" which may
718
+ // have different properties). Fall back to base name matching only if exact match fails.
669
719
  const hookBaseName = importedExport.name.split(/[<(]/)[0];
670
- const callSignatureKey = dataForMocks
671
- ? Object.keys(dataForMocks).find((key) => {
672
- const keyBaseName = key.split(/[<(]/)[0];
673
- return keyBaseName === hookBaseName;
674
- })
675
- : undefined;
720
+ const expectedKey = importedExport.calls?.[0];
721
+ let callSignatureKey;
722
+ if (dataForMocks) {
723
+ const keys = Object.keys(dataForMocks);
724
+ // First try exact match with the expected call signature
725
+ if (expectedKey && keys.includes(expectedKey)) {
726
+ callSignatureKey = expectedKey;
727
+ }
728
+ else {
729
+ // Fall back to base name matching
730
+ callSignatureKey = keys.find((key) => {
731
+ // Split on ., <, or ( to get the true base name
732
+ // This handles both "useFlags()" -> "useFlags" and "trpc.useUtils()" -> "trpc"
733
+ const keyBaseName = key.split(/[.<(]/)[0];
734
+ return keyBaseName === hookBaseName;
735
+ });
736
+ }
737
+ }
676
738
  // Use the call signature if found, otherwise construct it
677
739
  const dataKey = callSignatureKey ??
678
740
  importedExport.calls?.[0] ??
679
741
  `${importedExport.name}()`;
742
+ // IMPORTANT: If the dataKey is a method chain (e.g., "trpc.useUtils()"), we should
743
+ // use the base name (e.g., "trpc") when calling constructMockCode. This ensures
744
+ // constructMockCode generates a complete nested mock from the schema without
745
+ // referencing __cyOriginal variables.
746
+ // NOTE: Only check for dots BEFORE the first open paren. Function calls with
747
+ // dotted arguments like "getSurveyWithMetadata(params.surveyId)" have dots
748
+ // INSIDE parens — these are NOT method chains and should keep the full signature.
749
+ const dataKeyBaseName = dataKey.split(/[.<(]/)[0];
750
+ const firstParenIndex = dataKey.indexOf('(');
751
+ const partBeforeFirstParen = firstParenIndex >= 0 ? dataKey.substring(0, firstParenIndex) : dataKey;
752
+ const isMethodChainDataKey = dataKeyBaseName === importedExport.name &&
753
+ dataKey !== importedExport.name &&
754
+ partBeforeFirstParen.includes('.');
755
+ const mockNameToUse = isMethodChainDataKey
756
+ ? importedExport.name
757
+ : dataKey;
680
758
  // Keep the original function name since there's only one call
681
- mockCode = constructMockCode(dataKey, // Use call signature format
682
- dependencySchemas, importedExport.entityType, undefined, { keepOriginalFunctionName: true });
759
+ // Check if this is a package import that won't have scenario copies
760
+ const isPackageImportForSingleCall = importPath?.startsWith('@');
761
+ mockCode = constructMockCode(mockNameToUse, dependencySchemas, importedExport.entityType, undefined, {
762
+ keepOriginalFunctionName: true,
763
+ // For node_modules or package imports, skip spreading from __cyOriginal
764
+ // since those packages/files don't export *__cyOriginal variants
765
+ skipOriginalSpread: importedExport.isNodeModule || isPackageImportForSingleCall,
766
+ });
683
767
  // If constructMockCode didn't generate code, fall back to simple return
768
+ // IMPORTANT: We inline scenarios().data() inside the function rather than
769
+ // storing in a const - see comment in constructMockCode.ts for why.
684
770
  if (!mockCode) {
685
- mockCode = `const ${importedExport.name}ReturnValue = scenarios().data()?.["${dataKey}"];
686
-
687
- function ${importedExport.name}() {
688
- return ${importedExport.name}ReturnValue;
771
+ mockCode = `// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)
772
+ const _${importedExport.name}Ref = {
773
+ current: null,
774
+ };
775
+ function ${importedExport.name}(...args) {
776
+ if (!_${importedExport.name}Ref.current) {
777
+ _${importedExport.name}Ref.current = scenarios().data()?.["${dataKey}"];
778
+ }
779
+ return _${importedExport.name}Ref.current;
689
780
  }`;
690
781
  }
691
782
  }
692
783
  else {
693
784
  // Helper to find matching call signature key from dataForMocks
785
+ // IMPORTANT: First try exact match with type parameters (e.g., "useLoaderData<LoaderData>()")
786
+ // to avoid picking the wrong variant. Fall back to base name matching only if needed.
694
787
  const hookBaseName = importedExport.name.split(/[<(]/)[0];
788
+ const expectedKey = importedExport.calls?.[0];
695
789
  const findMatchingKey = (dataForMocks) => {
696
790
  if (!dataForMocks)
697
791
  return undefined;
698
- return Object.keys(dataForMocks).find((key) => {
699
- const keyBaseName = key.split(/[<(]/)[0];
792
+ const keys = Object.keys(dataForMocks);
793
+ // First try exact match with the expected call signature
794
+ if (expectedKey && keys.includes(expectedKey)) {
795
+ return expectedKey;
796
+ }
797
+ // Fall back to base name matching
798
+ return keys.find((key) => {
799
+ // Split on ., <, or ( to get the true base name
800
+ // This handles both "useFlags()" -> "useFlags" and "trpc.useUtils()" -> "trpc"
801
+ const keyBaseName = key.split(/[.<(]/)[0];
700
802
  return keyBaseName === hookBaseName;
701
803
  });
702
804
  };
@@ -712,15 +814,47 @@ function ${importedExport.name}() {
712
814
  break;
713
815
  }
714
816
  }
715
- // Use the data key if found, otherwise use call signature or function name
716
- const mockNameToUse = dataKey ?? importedExport.calls?.[0] ?? `${importedExport.name}()`;
717
- mockCode = constructMockCode(mockNameToUse, dependencySchemas, importedExport.entityType, undefined, { keepOriginalFunctionName: true });
817
+ // Use the data key if found, otherwise use call signature or function name.
818
+ // IMPORTANT: If the dataKey is a method chain (e.g., "trpc.useUtils()"), we should
819
+ // use the base name (e.g., "trpc") when calling constructMockCode. This ensures
820
+ // constructMockCode generates a complete nested mock from the schema without
821
+ // referencing __cyOriginal variables. The __cyOriginal pattern is only needed
822
+ // for partial mocking where we preserve some original methods, not for complete
823
+ // method-chain mocks where we provide all implementations.
824
+ // NOTE: Only check for dots BEFORE the first open paren. Function calls with
825
+ // dotted arguments like "getSurveyWithMetadata(params.surveyId)" have dots
826
+ // INSIDE parens — these are NOT method chains and should keep the full signature.
827
+ const dataKeyBaseName = dataKey?.split(/[.<(]/)[0];
828
+ const elseFirstParenIndex = dataKey?.indexOf('(') ?? -1;
829
+ const elsePartBeforeFirstParen = dataKey && elseFirstParenIndex >= 0
830
+ ? dataKey.substring(0, elseFirstParenIndex)
831
+ : dataKey;
832
+ const isMethodChainDataKey = dataKey &&
833
+ dataKeyBaseName === importedExport.name &&
834
+ dataKey !== importedExport.name &&
835
+ (elsePartBeforeFirstParen?.includes('.') ?? false);
836
+ const mockNameToUse = isMethodChainDataKey
837
+ ? importedExport.name
838
+ : (dataKey ?? importedExport.calls?.[0] ?? `${importedExport.name}()`);
839
+ mockCode = constructMockCode(mockNameToUse, dependencySchemas, importedExport.entityType, undefined, {
840
+ keepOriginalFunctionName: true,
841
+ // For node_modules or package imports, skip spreading from __cyOriginal
842
+ // since those packages/files don't export *__cyOriginal variants
843
+ skipOriginalSpread: importedExport.isNodeModule || importPath?.startsWith('@'),
844
+ });
718
845
  // If constructMockCode didn't generate code, fall back to simple return
846
+ // IMPORTANT: We inline scenarios().data() inside the function rather than
847
+ // storing in a const - see comment in constructMockCode.ts for why.
719
848
  if (!mockCode && dataKey) {
720
- mockCode = `const ${importedExport.name}ReturnValue = scenarios().data()?.["${dataKey}"];
721
-
722
- function ${importedExport.name}() {
723
- return ${importedExport.name}ReturnValue;
849
+ mockCode = `// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)
850
+ const _${importedExport.name}Ref = {
851
+ current: null,
852
+ };
853
+ function ${importedExport.name}(...args) {
854
+ if (!_${importedExport.name}Ref.current) {
855
+ _${importedExport.name}Ref.current = scenarios().data()?.["${dataKey}"];
856
+ }
857
+ return _${importedExport.name}Ref.current;
724
858
  }`;
725
859
  }
726
860
  }
@@ -740,13 +874,44 @@ function ${importedExport.name}() {
740
874
  else {
741
875
  // Escape regex special characters in importPath (e.g., brackets in [environmentId])
742
876
  const escapedImportPath = importPath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
743
- const importRegExp = new RegExp(`(import(?:(?!${firstPart}|from|import)[\\s\\S])*?)${firstPart}(?:,\\s*)?((?:(?!import)[\\s\\S])*?from\\s+['"]${escapedImportPath}['"])`, 'm');
744
- if (importedExportNameParts.length > 1) {
877
+ // Use a simpler, more robust regex pattern that matches the fallback path.
878
+ // Key improvements:
879
+ // 1. Uses escapeRegExp(firstPart) to handle special characters in function names
880
+ // 2. Uses word boundaries (\b) to prevent partial matches
881
+ // 3. Handles comma BEFORE or AFTER the name: (?:,\s*|\s*,)?
882
+ // 4. Matches specific import path (escapedImportPath)
883
+ const importRegExp = new RegExp(`(import\\s*\\{[^}]*?)\\b${escapeRegExp(firstPart)}\\b(?:,\\s*|\\s*,)?((?:[^}]*\\}\\s*from\\s*['"]${escapedImportPath}['"];?))`, 'm');
884
+ // Check if any call signature has multiple parts (e.g., "logger.error(error)")
885
+ // If so, the mock code will spread from __cyOriginal, so we need to rename the import
886
+ // EXCEPT:
887
+ // 1. For node_module imports, the __cyOriginal pattern doesn't work because
888
+ // the original package doesn't export *__cyOriginal variants.
889
+ // 2. For package imports (starting with @), the __cyOriginal pattern doesn't work
890
+ // because scenario copies aren't created for package files - they keep the
891
+ // original import path which doesn't export *__cyOriginal.
892
+ const anyCallHasMultipleParts = importedExport.calls?.some((call) => {
893
+ const callParts = splitOutsideParenthesesAndArrays(call);
894
+ return callParts.length > 1;
895
+ });
896
+ // Package imports (starting with @) don't get scenario copies, so __cyOriginal won't exist
897
+ const isPackageImport = importPath.startsWith('@');
898
+ const shouldRenameToOriginal = !importedExport.isNodeModule &&
899
+ !isPackageImport &&
900
+ (importedExportNameParts.length > 1 || anyCallHasMultipleParts);
901
+ if (shouldRenameToOriginal) {
745
902
  fileContent = fileContent.replace(importRegExp, `$1${firstPart}__cyOriginal$2`);
746
903
  }
747
904
  else {
748
905
  fileContent = fileContent.replace(importRegExp, '$1$2');
749
906
  }
907
+ // Also handle namespace imports (import * as foo from '...')
908
+ // These need to be renamed to foo__cyOriginal when the mock code spreads from the original.
909
+ // Note: We match any path (not just escapedImportPath) because the import path may have
910
+ // been rewritten by transitive import handling before this code runs.
911
+ if (shouldRenameToOriginal) {
912
+ const namespaceImportRegExp = new RegExp(`(import\\s+\\*\\s+as\\s+)${escapeRegExp(firstPart)}(\\s+from\\s+['"][^'"]*['"])`, 'm');
913
+ fileContent = fileContent.replace(namespaceImportRegExp, `$1${firstPart}__cyOriginal$2`);
914
+ }
750
915
  // Remove empty imports entirely to avoid partial commenting issues with multiline imports
751
916
  // This handles both single-line and multiline empty imports
752
917
  fileContent = fileContent.replace(/import\s*\{\s*\}\s*from\s+['"][^'"]*['"];?\s*\n?/g, '');
@@ -762,7 +927,17 @@ function ${importedExport.name}() {
762
927
  // This handles imports like: import { useEnvironment, otherThing } from "any/path"
763
928
  // Removes useEnvironment but keeps otherThing
764
929
  const namedImportRegExp = new RegExp(`(import\\s*\\{[^}]*?)\\b${escapeRegExp(firstPart)}\\b(?:,\\s*|\\s*,)?((?:[^}]*\\}\\s*from\\s*['"][^'"]*['"];?))`, 'm');
765
- if (importedExportNameParts.length > 1) {
930
+ // Check if any call signature has multiple parts (e.g., "logger.error(error)")
931
+ // If so, the mock code will spread from __cyOriginal, so we need to rename the import
932
+ // EXCEPT: For node_module imports, the __cyOriginal pattern doesn't work because
933
+ // the original package doesn't export *__cyOriginal variants.
934
+ const anyCallHasMultipleParts = importedExport.calls?.some((call) => {
935
+ const callParts = splitOutsideParenthesesAndArrays(call);
936
+ return callParts.length > 1;
937
+ });
938
+ const shouldRenameToOriginal = !importedExport.isNodeModule &&
939
+ (importedExportNameParts.length > 1 || anyCallHasMultipleParts);
940
+ if (shouldRenameToOriginal) {
766
941
  // Rename the import instead of removing (for destructured access patterns)
767
942
  fileContent = fileContent.replace(namedImportRegExp, `$1${firstPart}__cyOriginal$2`);
768
943
  }
@@ -1095,9 +1270,12 @@ export default async function writeScenarioComponents({ project, file, entity, r
1095
1270
  fileContentLength: fileContent.length,
1096
1271
  });
1097
1272
  let importedExportIndex = 0;
1273
+ const loopStartTime = Date.now();
1274
+ console.log(`[WriteScenario] Starting import loop for ${entity.name}: ${sortedImportedExports.length} imports`);
1098
1275
  for (const importedExport of sortedImportedExports) {
1099
1276
  importedExportIndex++;
1100
1277
  if (importedExportIndex % 5 === 0 || importedExportIndex === 1) {
1278
+ console.log(`[WriteScenario] ${entity.name} import ${importedExportIndex}/${sortedImportedExports.length}: ${importedExport.name} elapsed=${Date.now() - loopStartTime}ms`);
1101
1279
  debugLog(`Processing importedExport ${importedExportIndex}/${sortedImportedExports.length}`, {
1102
1280
  name: importedExport.name,
1103
1281
  filePath: importedExport.filePath,
@@ -1203,6 +1381,12 @@ export default async function writeScenarioComponents({ project, file, entity, r
1203
1381
  // Strip server-only imports - these break when imported by client components
1204
1382
  dataFileContent = stripServerOnlyImport(dataFileContent);
1205
1383
  dataFileContent = applyServerOnlyMocks(dataFileContent);
1384
+ // Process transitive imports: if the data entity file imports from files
1385
+ // that have `import "server-only"`, rewrite those imports to transitive
1386
+ // copies with server-only stripped. Without this, data entity files that
1387
+ // end up in a client bundle (e.g., via a stripped "use server" boundary)
1388
+ // would pull in server-only code and cause build failures.
1389
+ dataFileContent = await processTransitiveImportsRecursively(dataFileContent, fileNotMocked.path, dataScenarioPath);
1206
1390
  // Write the transformed data entity file
1207
1391
  await writeFile(dataScenarioPath, dataFileContent);
1208
1392
  scenarioComponentPaths.push(dataScenarioPath);
@@ -1219,9 +1403,9 @@ export default async function writeScenarioComponents({ project, file, entity, r
1219
1403
  writtenScenarioComponents[importedExportFilePath] = [];
1220
1404
  }
1221
1405
  writtenScenarioComponents[importedExportFilePath].push(importedExport.name);
1222
- // Don't recurse - data entities don't need their dependencies processed
1223
- // The import rewriting will happen later in this same loop iteration
1224
- // (at lines ~1590-1702) to point imports to this transformed file
1406
+ // Don't recurse into full writeScenarioComponents - data entities don't
1407
+ // need mock generation for their dependencies. Transitive server-only
1408
+ // import processing is already handled above via processTransitiveImportsRecursively.
1225
1409
  }
1226
1410
  else {
1227
1411
  // For visual/library entities, recurse to process their dependencies
@@ -1230,6 +1414,8 @@ export default async function writeScenarioComponents({ project, file, entity, r
1230
1414
  // e.g., if file has `export default X` but parent does `import { X } from '...'`
1231
1415
  const needsNamedReExport = importedExport.resolvedIsDefault === true &&
1232
1416
  importedExport.isDefault === false;
1417
+ console.log(`[WriteScenario] RECURSE START: ${entity.name} -> ${importedExportEntity.name}`);
1418
+ const recurseStartTime = Date.now();
1233
1419
  debugLog(`Recursing into writeScenarioComponents for ${importedExportEntity.name}`, {
1234
1420
  entityName: importedExportEntity.name,
1235
1421
  filePath: fileNotMocked.path,
@@ -1252,7 +1438,8 @@ export default async function writeScenarioComponents({ project, file, entity, r
1252
1438
  exportAsNamed: needsNamedReExport
1253
1439
  ? importedExport.name
1254
1440
  : undefined,
1255
- }), 60000);
1441
+ }), 180000);
1442
+ console.log(`[WriteScenario] RECURSE END: ${entity.name} -> ${importedExportEntity.name} took ${Date.now() - recurseStartTime}ms`);
1256
1443
  debugLog(`Completed recursive writeScenarioComponents for ${importedExportEntity.name}`);
1257
1444
  writtenScenarioComponents = updatedWrittenScenarioComponents;
1258
1445
  scenarioComponentPaths.push(...newScenarioComponentPaths);
@@ -1271,13 +1458,22 @@ export default async function writeScenarioComponents({ project, file, entity, r
1271
1458
  // Data and type entities should be preserved - they're not callable and may have methods
1272
1459
  // that stubbing would break (e.g., Zod schemas with .superRefine())
1273
1460
  const isDataEntity = entityType === 'data' || entityType === 'type';
1274
- // Heuristic: Zod schemas are often misclassified as 'library' but should be preserved
1275
- // Detect by: name starts with Z + uppercase letter, AND has Zod method calls
1276
- const looksLikeZodSchema = entityType === 'library' &&
1277
- /^Z[A-Z]/.test(importedExport.name) &&
1278
- importedExport.calls?.some((call) => /\.(superRefine|refine|transform|default|optional|nullable|array|object|string|number|boolean|parse|safeParse)\s*\(/.test(call));
1279
- // Callable entities can be safely stubbed (but not Zod schemas)
1280
- const isCallable = !isDataEntity && !looksLikeZodSchema && entityType !== undefined;
1461
+ // If calls data shows the entity is only accessed via properties/methods
1462
+ // (e.g., formValidator.validate(), schema.superRefine()) and never directly
1463
+ // invoked (e.g., getInitialProps()), it's used as an object and should be
1464
+ // preserved rather than replaced with a Proxy stub.
1465
+ const onlyPropertyAccessed = importedExport.calls?.length > 0 &&
1466
+ !importedExport.calls.some((call) => {
1467
+ const afterName = call.slice(importedExport.name.length);
1468
+ return afterName.startsWith('(') || afterName.startsWith('<');
1469
+ });
1470
+ // Callable entities can be safely stubbed. Entities that are only
1471
+ // property-accessed should be preserved (their methods need to work).
1472
+ // 'other' entities are unknown types — safer to preserve than stub.
1473
+ const isCallable = !isDataEntity &&
1474
+ !onlyPropertyAccessed &&
1475
+ entityType !== undefined &&
1476
+ entityType !== 'other';
1281
1477
  // Determine what action to take
1282
1478
  const shouldStripAndReplace = hasMock;
1283
1479
  const shouldStripAndStub = !hasMock && importedExport.isMocked && isCallable;
@@ -1514,6 +1710,9 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1514
1710
  }
1515
1711
  }
1516
1712
  }
1713
+ // Track post-import-loop timing
1714
+ const postLoopStartTime = Date.now();
1715
+ console.log(`[WriteScenario] POST-LOOP START: ${entity.name}`);
1517
1716
  // Collect universal mocks BEFORE processing nodeModuleImports
1518
1717
  // This is needed to check if a node module import is handled by a universal mock
1519
1718
  const universalMocks = project.metadata?.universalMocks ?? [];
@@ -1547,6 +1746,7 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1547
1746
  const importRegex = new RegExp(`(import\\s+(?:\\{[^}]*\\}|\\*\\s+as\\s+\\w+|\\w+)\\s+from\\s+)['"]${originalPath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}['"]`, 'g');
1548
1747
  fileContent = fileContent.replace(importRegex, `$1'${mockFileRelativePath}'`);
1549
1748
  }
1749
+ console.log(`[WriteScenario] POST-LOOP ${entity.name}: node+universal mocks took ${Date.now() - postLoopStartTime}ms`);
1550
1750
  if (rootAnalysis.entitySha === entity.sha &&
1551
1751
  entity.metadata?.notExported &&
1552
1752
  entity.name !== 'default') {
@@ -1606,6 +1806,7 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1606
1806
  debugLog('Starting rewriteRelativeModuleImports');
1607
1807
  fileContent = rewriteRelativeModuleImports(fileContent, `${PROJECT_RELATIVE_PATH}/${file.path}`, scenarioComponentPath);
1608
1808
  debugLog('Completed rewriteRelativeModuleImports');
1809
+ console.log(`[WriteScenario] POST-LOOP ${entity.name}: transformations took ${Date.now() - postLoopStartTime}ms`);
1609
1810
  /**
1610
1811
  * Recursively process a file's imports to create transitive copies with server-only stripped.
1611
1812
  * This handles chains of arbitrary depth: A -> B -> C -> D where each needs server-only removed.
@@ -1619,12 +1820,14 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1619
1820
  */
1620
1821
  async function processTransitiveImportsRecursively(content, sourceFilePath, targetFilePath, visitedPaths = new Set(), depth = 0, startTime = Date.now()) {
1621
1822
  // Global timeout for entire transitive processing
1622
- const GLOBAL_TIMEOUT_MS = 60000; // 1 minute max for all transitive processing
1823
+ const GLOBAL_TIMEOUT_MS = 180000; // 3 minutes max for all transitive processing (complex components need more time)
1623
1824
  const elapsed = Date.now() - startTime;
1624
1825
  if (elapsed > GLOBAL_TIMEOUT_MS) {
1625
1826
  throw new Error(`processTransitiveImportsRecursively exceeded ${GLOBAL_TIMEOUT_MS}ms (elapsed: ${elapsed}ms) at depth=${depth} for ${sourceFilePath}`);
1626
1827
  }
1627
1828
  const importPaths = extractInternalImportPaths(content);
1829
+ // Always log to help debug timeout issues
1830
+ console.log(`[TransitiveImports] depth=${depth} file=${path.basename(sourceFilePath)} imports=${importPaths.length} visited=${visitedPaths.size} elapsed=${Date.now() - startTime}ms`);
1628
1831
  debugLog(`processTransitiveImportsRecursively depth=${depth}`, {
1629
1832
  sourceFilePath,
1630
1833
  importCount: importPaths.length,
@@ -1661,8 +1864,10 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1661
1864
  const basePath = safeFolder(importFile.path.split('/').slice(0, -1).join('/'));
1662
1865
  const extension = importFile.name.split('.').pop();
1663
1866
  const isIndex = isIndexPath(importFile.path);
1664
- const pathHash = safeFileName(importFile.path);
1665
- const transitiveFilePath = `${PROJECT_RELATIVE_PATH}/${basePath}/${pathHash}_${isIndex ? 'index_' : ''}transitive_${safeFileName(scenario.name)}.${extension}`;
1867
+ // Limit pathHash length to prevent ENAMETOOLONG errors on macOS (255 char limit)
1868
+ const pathHash = safeFileName(importFile.path, { maxLength: 80 });
1869
+ const scenarioSlug = safeFileName(scenario.name, { maxLength: 60 });
1870
+ const transitiveFilePath = `${PROJECT_RELATIVE_PATH}/${basePath}/${pathHash}_${isIndex ? 'index_' : ''}transitive_${scenarioSlug}.${extension}`;
1666
1871
  // Check if this is a circular import (we're already processing this file)
1667
1872
  const isCircularImport = visitedPaths.has(resolvedPath);
1668
1873
  // Check if already processed
@@ -1740,6 +1945,7 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1740
1945
  debugLog(`Returning from processTransitiveImportsRecursively depth=${depth}`);
1741
1946
  return modifiedContent;
1742
1947
  }
1948
+ console.log(`[WriteScenario] POST-LOOP ${entity.name}: before remaining imports ${Date.now() - postLoopStartTime}ms`);
1743
1949
  // Process remaining internal imports that weren't in importedExports
1744
1950
  // This handles transitive dependencies: when the file content includes code (e.g., from
1745
1951
  // other functions in the same file) that imports from files with "server-only"
@@ -1759,6 +1965,16 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1759
1965
  for (const importPath of remainingImportPaths) {
1760
1966
  remainingImportIndex++;
1761
1967
  debugLog(`[REMAINING LOOP] import ${remainingImportIndex}/${remainingImportPaths.length}: ${importPath}`);
1968
+ // Skip imports that point to generated CodeYam files (same skip logic as
1969
+ // rewriteRelativeModuleImports). Without this, MockData files from earlier
1970
+ // captures that get discovered by the TypeScript compiler would be treated as
1971
+ // regular imports, creating transitive copies with stale content.
1972
+ const scenarioFilePattern = /[a-f0-9]{64}_\w+_[A-Z]\w*$/;
1973
+ const mockDataPattern = /__codeyamMocks__\//;
1974
+ if (scenarioFilePattern.test(importPath) ||
1975
+ mockDataPattern.test(importPath)) {
1976
+ continue;
1977
+ }
1762
1978
  // Resolve the import path to a project file path
1763
1979
  const resolvedFilePath = resolveImportPath(importPath, file.path, project);
1764
1980
  if (!resolvedFilePath) {
@@ -1797,8 +2013,10 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1797
2013
  const targetFileBasePath = safeFolder(targetFile.path.split('/').slice(0, -1).join('/'));
1798
2014
  const targetFileExtension = targetFile.name.split('.').pop();
1799
2015
  const targetFileIsIndex = isIndexPath(targetFile.path);
1800
- const filePathHash = safeFileName(targetFile.path);
1801
- const transformedFilePath = `${PROJECT_RELATIVE_PATH}/${targetFileBasePath}/${filePathHash}_${targetFileIsIndex ? 'index_' : ''}transitive_${safeFileName(scenario.name)}.${targetFileExtension}`;
2016
+ // Limit path hash length to prevent ENAMETOOLONG errors
2017
+ const filePathHash = safeFileName(targetFile.path, { maxLength: 80 });
2018
+ const targetScenarioSlug = safeFileName(scenario.name, { maxLength: 60 });
2019
+ const transformedFilePath = `${PROJECT_RELATIVE_PATH}/${targetFileBasePath}/${filePathHash}_${targetFileIsIndex ? 'index_' : ''}transitive_${targetScenarioSlug}.${targetFileExtension}`;
1802
2020
  // Check if we've already processed this file as a transitive copy
1803
2021
  // Note: __data_file_written__ is for entity-specific scenario files with different naming,
1804
2022
  // but we still need transitive copies for server-only stripping. Data entity files may
@@ -1837,8 +2055,12 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1837
2055
  const nestedBasePath = safeFolder(nestedFile.path.split('/').slice(0, -1).join('/'));
1838
2056
  const nestedExtension = nestedFile.name.split('.').pop();
1839
2057
  const nestedIsIndex = isIndexPath(nestedFile.path);
1840
- const nestedPathHash = safeFileName(nestedFile.path);
1841
- const nestedTransformedPath = `${PROJECT_RELATIVE_PATH}/${nestedBasePath}/${nestedPathHash}_${nestedIsIndex ? 'index_' : ''}transitive_${safeFileName(scenario.name)}.${nestedExtension}`;
2058
+ // Limit path hash length to prevent ENAMETOOLONG errors
2059
+ const nestedPathHash = safeFileName(nestedFile.path, { maxLength: 80 });
2060
+ const nestedScenarioSlug = safeFileName(scenario.name, {
2061
+ maxLength: 60,
2062
+ });
2063
+ const nestedTransformedPath = `${PROJECT_RELATIVE_PATH}/${nestedBasePath}/${nestedPathHash}_${nestedIsIndex ? 'index_' : ''}transitive_${nestedScenarioSlug}.${nestedExtension}`;
1842
2064
  // Check if already processed as a transitive file (we can rewrite to point to it)
1843
2065
  // Note: __data_file_written__ is for entity-specific scenario files with different naming,
1844
2066
  // but we still need transitive copies for server-only stripping in the import chain
@@ -1904,6 +2126,7 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1904
2126
  const importRegex = new RegExp(`(from\\s*["'])${escapedImportPath}(["'])`, 'g');
1905
2127
  fileContent = fileContent.replace(importRegex, `$1${safeRelativePath}$2`);
1906
2128
  }
2129
+ console.log(`[WriteScenario] POST-LOOP ${entity.name}: remaining imports loop took ${Date.now() - postLoopStartTime}ms`);
1907
2130
  const scenarioComponentComment = `// This file is auto-generated by CodeYam. Do not edit this file manually.
1908
2131
  // This file contains content for a scenario component:
1909
2132
  // Analyses being written: ${JSON.stringify(fileAnalyses?.map((a) => ({ id: a.id, entityName: a.entityName })))}
@@ -1914,6 +2137,57 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1914
2137
  // Entity: ${rootAnalysis.entitySha} ${rootAnalysis.entityName}
1915
2138
  // Scenario: ${scenario.id} - ${scenario.name}
1916
2139
  `;
2140
+ // Final pass: Rename any namespace imports (import * as X from '...') that have
2141
+ // corresponding mock code using ...X__cyOriginal spread pattern.
2142
+ // This handles cases where:
2143
+ // 1. The import path was rewritten by transitive import handling
2144
+ // 2. The import wasn't caught by the earlier renaming logic
2145
+ // We scan for all __cyOriginal references in the mock code and ensure the imports are renamed.
2146
+ const cyOriginalReferences = fileContent.match(/\.\.\.(\w+)__cyOriginal/g);
2147
+ if (cyOriginalReferences) {
2148
+ const uniqueNames = [
2149
+ ...new Set(cyOriginalReferences.map((ref) => ref.replace('...', '').replace('__cyOriginal', ''))),
2150
+ ];
2151
+ for (const name of uniqueNames) {
2152
+ // Match namespace imports for this name that haven't been renamed yet
2153
+ const namespaceImportRegex = new RegExp(`(import\\s+\\*\\s+as\\s+)${escapeRegExp(name)}(\\s+from\\s+['"][^'"]*['"])`, 'g');
2154
+ fileContent = fileContent.replace(namespaceImportRegex, `$1${name}__cyOriginal$2`);
2155
+ }
2156
+ }
2157
+ // For route components (page.tsx, layout.tsx), the component IS the Next.js page.
2158
+ // There's no wrapper page to inject argumentsData as props (unlike non-route components
2159
+ // which get a scenarioComponent wrapper). We need to wrap the default export so that
2160
+ // the scenario's argumentsData is passed as props to the component.
2161
+ if (isFrameworkRoute(file, entity, framework, file === rootFile) &&
2162
+ rootAnalysis.metadata?.scenariosDataStructure?.arguments?.length > 0) {
2163
+ const positionalArguments = rootAnalysis.metadata.scenariosDataStructure.arguments;
2164
+ const hasNamedArgs = positionalArguments.length === 1 &&
2165
+ typeof positionalArguments[0] === 'object';
2166
+ if (hasNamedArgs) {
2167
+ // Match: export default function Name(
2168
+ // Also: export default async function Name(
2169
+ const defaultExportMatch = fileContent.match(/export\s+default\s+(async\s+)?function\s+(\w+)\s*\(/);
2170
+ if (defaultExportMatch) {
2171
+ const funcName = defaultExportMatch[2];
2172
+ // Remove "export default" from the original function declaration
2173
+ fileContent = fileContent.replace(/export\s+default\s+(async\s+)?function\s+(\w+)\s*\(/, '$1function $2(');
2174
+ // Ensure scenarios import is present
2175
+ const mockDataPath = `${relativeMocksDir}/MockData_${safeFileName(scenario.name)}`;
2176
+ if (fileContent.indexOf('import { scenarios } from') === -1) {
2177
+ fileContent = `import { scenarios } from "${mockDataPath}";\n\n${fileContent}`;
2178
+ }
2179
+ // Add wrapper default export that injects argumentsData as props.
2180
+ // Filter null values: the LLM uses null to mean "don't pass this prop"
2181
+ // but spreading { prop: null } explicitly passes null, which differs from
2182
+ // undefined (absent) and crashes components that check `prop !== undefined`.
2183
+ fileContent += `\n\nexport default function _CYRouteWrapper(props: any) {
2184
+ const _cyArgs = scenarios().data()?.['arguments']?.[0] ?? {};
2185
+ const _cyCleanArgs = Object.fromEntries(Object.entries(_cyArgs).filter(([_, v]) => v !== null));
2186
+ return <${funcName} {...props} {..._cyCleanArgs} />;
2187
+ }\n`;
2188
+ }
2189
+ }
2190
+ }
1917
2191
  // Use the directive that was extracted at the beginning of processing
1918
2192
  // This ensures it stays at the very top even after imports are prepended
1919
2193
  // NOTE: We only preserve "use client" directives, NOT "use server" directives.
@@ -1934,6 +2208,7 @@ ${exportKeyword}const ${functionName} = new Proxy(() => scenarios().data()?.["${
1934
2208
  await writeFile(scenarioComponentPath, finalContent);
1935
2209
  debugLog('Successfully wrote scenario file');
1936
2210
  scenarioComponentPaths.push(scenarioComponentPath);
2211
+ console.log(`[WriteScenario] POST-LOOP ${entity.name}: COMPLETE total=${Date.now() - postLoopStartTime}ms`);
1937
2212
  return { scenarioComponentPaths, writtenScenarioComponents };
1938
2213
  }
1939
2214
  //# sourceMappingURL=writeScenarioComponents.js.map