@codeyam/codeyam-cli 0.1.0-staging.2a88920 → 0.1.0-staging.4057bd2

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 (659) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +21 -21
  4. package/analyzer-template/packages/ai/index.ts +1 -0
  5. package/analyzer-template/packages/ai/package.json +3 -3
  6. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +23 -1
  7. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
  8. package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
  9. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +101 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
  11. package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +6 -0
  12. package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +588 -13
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +5 -1
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +11 -2
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +2 -2
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +140 -14
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +20 -1
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +84 -19
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  23. package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +40 -13
  24. package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +58 -3
  25. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +377 -7
  26. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +134 -2
  27. package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +359 -142
  28. package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +51 -3
  29. package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
  30. package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
  31. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +24 -4
  32. package/analyzer-template/packages/analyze/index.ts +2 -0
  33. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +6 -0
  34. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  35. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +69 -3
  36. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +13 -0
  37. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
  38. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +12 -0
  39. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1352 -0
  40. package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +4 -0
  41. package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +59 -26
  42. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +277 -15
  43. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +395 -61
  44. package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
  45. package/analyzer-template/packages/aws/package.json +10 -10
  46. package/analyzer-template/packages/database/index.ts +1 -0
  47. package/analyzer-template/packages/database/package.json +4 -4
  48. package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +1 -1
  49. package/analyzer-template/packages/database/src/lib/analysisToDb.ts +1 -1
  50. package/analyzer-template/packages/database/src/lib/branchToDb.ts +1 -1
  51. package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +1 -1
  52. package/analyzer-template/packages/database/src/lib/commitToDb.ts +1 -1
  53. package/analyzer-template/packages/database/src/lib/fileToDb.ts +1 -1
  54. package/analyzer-template/packages/database/src/lib/kysely/db.ts +14 -0
  55. package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +1 -1
  56. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +62 -0
  57. package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
  58. package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
  59. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
  60. package/analyzer-template/packages/database/src/lib/projectToDb.ts +1 -1
  61. package/analyzer-template/packages/database/src/lib/saveFiles.ts +1 -1
  62. package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +1 -1
  63. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +151 -135
  64. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  65. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  66. package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +1 -1
  67. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  68. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  69. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  70. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  71. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  72. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  73. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +1 -1
  74. package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +1 -1
  76. package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +1 -1
  78. package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +1 -1
  80. package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +1 -1
  82. package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -1
  85. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +4 -0
  86. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  87. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -0
  88. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  89. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +1 -1
  90. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +20 -0
  91. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  92. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
  93. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  94. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
  95. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
  96. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  97. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  98. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
  99. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  100. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  101. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
  102. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  103. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  104. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  105. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  106. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +1 -1
  107. package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -1
  108. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +1 -1
  109. package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -1
  110. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +1 -1
  111. package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -1
  112. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  113. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +100 -89
  114. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  115. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  116. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  117. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  118. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  119. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  120. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  121. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  122. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  123. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  124. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  125. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  126. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  127. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  128. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  129. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
  130. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  131. package/analyzer-template/packages/github/package.json +1 -1
  132. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +8 -0
  133. package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
  134. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +8 -0
  135. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  136. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
  137. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  138. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  139. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
  140. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  141. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
  142. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  143. package/analyzer-template/project/constructMockCode.ts +206 -51
  144. package/analyzer-template/project/orchestrateCapture.ts +4 -1
  145. package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
  146. package/analyzer-template/project/start.ts +3 -0
  147. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  148. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  149. package/analyzer-template/project/writeMockDataTsx.ts +191 -12
  150. package/analyzer-template/project/writeScenarioComponents.ts +170 -29
  151. package/analyzer-template/project/writeSimpleRoot.ts +21 -11
  152. package/analyzer-template/tsconfig.json +13 -1
  153. package/background/src/lib/local/createLocalAnalyzer.js +1 -1
  154. package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
  155. package/background/src/lib/virtualized/project/constructMockCode.js +175 -42
  156. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  157. package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
  158. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  159. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
  160. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  161. package/background/src/lib/virtualized/project/start.js +2 -0
  162. package/background/src/lib/virtualized/project/start.js.map +1 -1
  163. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  164. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  165. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  166. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  167. package/background/src/lib/virtualized/project/writeMockDataTsx.js +168 -8
  168. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  169. package/background/src/lib/virtualized/project/writeScenarioComponents.js +143 -27
  170. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  171. package/background/src/lib/virtualized/project/writeSimpleRoot.js +21 -11
  172. package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
  173. package/codeyam-cli/scripts/apply-setup.js +386 -9
  174. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  175. package/codeyam-cli/src/cli.js +33 -24
  176. package/codeyam-cli/src/cli.js.map +1 -1
  177. package/codeyam-cli/src/codeyam-cli.js +18 -2
  178. package/codeyam-cli/src/codeyam-cli.js.map +1 -1
  179. package/codeyam-cli/src/commands/analyze.js +21 -9
  180. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  181. package/codeyam-cli/src/commands/baseline.js +2 -0
  182. package/codeyam-cli/src/commands/baseline.js.map +1 -1
  183. package/codeyam-cli/src/commands/debug.js +2 -0
  184. package/codeyam-cli/src/commands/debug.js.map +1 -1
  185. package/codeyam-cli/src/commands/default.js +87 -21
  186. package/codeyam-cli/src/commands/default.js.map +1 -1
  187. package/codeyam-cli/src/commands/editor.js +1839 -0
  188. package/codeyam-cli/src/commands/editor.js.map +1 -0
  189. package/codeyam-cli/src/commands/init.js +81 -260
  190. package/codeyam-cli/src/commands/init.js.map +1 -1
  191. package/codeyam-cli/src/commands/memory.js +97 -92
  192. package/codeyam-cli/src/commands/memory.js.map +1 -1
  193. package/codeyam-cli/src/commands/recapture.js +2 -0
  194. package/codeyam-cli/src/commands/recapture.js.map +1 -1
  195. package/codeyam-cli/src/commands/setup-sandbox.js +2 -0
  196. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -1
  197. package/codeyam-cli/src/commands/setup-simulations.js +284 -0
  198. package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
  199. package/codeyam-cli/src/commands/test-startup.js +2 -0
  200. package/codeyam-cli/src/commands/test-startup.js.map +1 -1
  201. package/codeyam-cli/src/commands/verify.js +14 -2
  202. package/codeyam-cli/src/commands/verify.js.map +1 -1
  203. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +246 -0
  204. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  205. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +126 -0
  206. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  207. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +295 -0
  208. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  209. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  210. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  211. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +100 -0
  212. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  213. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +147 -0
  214. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  215. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +76 -0
  216. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  217. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  218. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  219. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  220. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  221. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  222. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  223. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  224. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  225. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  226. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  227. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +154 -86
  228. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  229. package/codeyam-cli/src/utils/analyzer.js +7 -0
  230. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  231. package/codeyam-cli/src/utils/backgroundServer.js +109 -22
  232. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  233. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  234. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  235. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  236. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  237. package/codeyam-cli/src/utils/editorAudit.js +82 -0
  238. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  239. package/codeyam-cli/src/utils/editorDevServer.js +98 -0
  240. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  241. package/codeyam-cli/src/utils/editorJournal.js +137 -0
  242. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  243. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  244. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  245. package/codeyam-cli/src/utils/editorPreloadHelpers.js +64 -0
  246. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  247. package/codeyam-cli/src/utils/editorPreview.js +66 -0
  248. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  249. package/codeyam-cli/src/utils/editorScenarios.js +56 -0
  250. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  251. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  252. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  253. package/codeyam-cli/src/utils/fileWatcher.js +25 -9
  254. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  255. package/codeyam-cli/src/utils/generateReport.js +2 -2
  256. package/codeyam-cli/src/utils/git.js +103 -0
  257. package/codeyam-cli/src/utils/git.js.map +1 -1
  258. package/codeyam-cli/src/utils/install-skills.js +101 -56
  259. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  260. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  261. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  262. package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
  263. package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
  264. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  265. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  266. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  267. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  268. package/codeyam-cli/src/utils/progress.js +7 -0
  269. package/codeyam-cli/src/utils/progress.js.map +1 -1
  270. package/codeyam-cli/src/utils/project.js +15 -5
  271. package/codeyam-cli/src/utils/project.js.map +1 -1
  272. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  273. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  274. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  275. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  276. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  277. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  278. package/codeyam-cli/src/utils/queue/job.js +74 -1
  279. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  280. package/codeyam-cli/src/utils/queue/manager.js +7 -6
  281. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  282. package/codeyam-cli/src/utils/requireSimulations.js +10 -0
  283. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
  284. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
  285. package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
  286. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
  287. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
  288. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
  289. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
  290. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
  291. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
  292. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
  293. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
  294. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
  295. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
  296. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
  297. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
  298. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
  299. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
  300. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
  301. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
  302. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
  303. package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
  304. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
  305. package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
  306. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
  307. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
  308. package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
  309. package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
  310. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
  311. package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
  312. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
  313. package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
  314. package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
  315. package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
  316. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  317. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  318. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  319. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  320. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  321. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  322. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
  323. package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
  324. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  325. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  326. package/codeyam-cli/src/utils/rules/index.js +2 -0
  327. package/codeyam-cli/src/utils/rules/index.js.map +1 -1
  328. package/codeyam-cli/src/utils/rules/parser.js +16 -29
  329. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  330. package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
  331. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
  332. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  333. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  334. package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
  335. package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
  336. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  337. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  338. package/codeyam-cli/src/utils/rules/staleness.js +16 -11
  339. package/codeyam-cli/src/utils/rules/staleness.js.map +1 -1
  340. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  341. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  342. package/codeyam-cli/src/utils/serverState.js +64 -12
  343. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  344. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +61 -43
  345. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  346. package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
  347. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  348. package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
  349. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  350. package/codeyam-cli/src/utils/testRunner.js +158 -0
  351. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  352. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  353. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  354. package/codeyam-cli/src/utils/versionInfo.js +46 -0
  355. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  356. package/codeyam-cli/src/utils/webappDetection.js +14 -2
  357. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  358. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  359. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  360. package/codeyam-cli/src/webserver/app/lib/database.js +56 -30
  361. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  362. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  363. package/codeyam-cli/src/webserver/backgroundServer.js +166 -16
  364. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  365. package/codeyam-cli/src/webserver/bootstrap.js +11 -0
  366. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  367. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-DmJveP3T.js +1 -0
  368. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-DsN1wKrm.js → EntityItem-C76mRRiF.js} +1 -1
  369. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DLqD3qNt.js → EntityTypeBadge-g3saevPb.js} +1 -1
  370. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-Ba2JVPzP.js → EntityTypeIcon-CobE682z.js} +1 -1
  371. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +1 -0
  372. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-aht4aafF.js → InteractivePreview-DYFW3lDD.js} +3 -3
  373. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CVtiBnY5.js → LibraryFunctionPreview-DLeucoVX.js} +1 -1
  374. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B0GLXMsr.js → LoadingDots-BU_OAEMP.js} +1 -1
  375. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-xgeCVgSM.js → LogViewer-ceAyBX-H.js} +1 -1
  376. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-OApQuNyq.js → ReportIssueModal-djPLI-WV.js} +3 -8
  377. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-DuDvi0jm.js → SafeScreenshot-BED4B6sP.js} +1 -1
  378. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DzccYyI8.js → ScenarioViewer-B76aig_2.js} +2 -2
  379. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +34 -0
  380. package/codeyam-cli/src/webserver/build/client/assets/Terminal-Dnj5CY9R.js +41 -0
  381. package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-DyFZkK0l.js → TruncatedFilePath-C8OKAR5x.js} +1 -1
  382. package/codeyam-cli/src/webserver/build/client/assets/{_index-BwqWJOgH.js → _index-C96V0n15.js} +1 -1
  383. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BwavGCpm.js → activity.(_tab)-BpKzcsJz.js} +6 -11
  384. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-CUXOrorO.js +1 -0
  385. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-Duc5hnl7.js +1 -0
  386. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-D9hemwl6.js +22 -0
  387. package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
  388. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  389. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  390. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  391. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  392. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  393. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  394. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  395. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  396. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  397. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  398. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  399. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  400. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  401. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  402. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  403. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  404. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  405. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  406. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  407. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  408. package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
  409. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  410. package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
  411. package/codeyam-cli/src/webserver/build/client/assets/book-open-D_nMCFmP.js +6 -0
  412. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-Cx24_aWc.js → chevron-down-BH2h1Ea2.js} +1 -1
  413. package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-CXRTFQ3F.js → chunk-JZWAC4HX-C4pqxYJB.js} +12 -12
  414. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-BOARzkeR.js → circle-check-DyIKORY6.js} +1 -1
  415. package/codeyam-cli/src/webserver/build/client/assets/copy-NDbZjXao.js +11 -0
  416. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-BdhJEx6B.js → createLucideIcon-CMT1jU2q.js} +1 -1
  417. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BiM6z3Do.js +1 -0
  418. package/codeyam-cli/src/webserver/build/client/assets/editor-D1DAKXtT.js +8 -0
  419. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-BJUiQqZF.js → entity._sha._-CrjR3zZW.js} +11 -11
  420. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-DkzqFzFj.js +6 -0
  421. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C28BiQzt.js +6 -0
  422. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +6 -0
  423. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CTBG2mmz.js → entity._sha_.edit._scenarioId-BMvVHNXU.js} +2 -2
  424. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-CS2cb_eZ.js → entry.client-DTvKq3TY.js} +1 -1
  425. package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DMJ7zii9.js → fileTableUtils-cPo8LiG3.js} +1 -1
  426. package/codeyam-cli/src/webserver/build/client/assets/{files-CJ6lTdTA.js → files-DO4CZ16O.js} +1 -1
  427. package/codeyam-cli/src/webserver/build/client/assets/{git-CPTZZ-JZ.js → git-CFCTYk9I.js} +1 -1
  428. package/codeyam-cli/src/webserver/build/client/assets/globals-B17TBSS6.css +1 -0
  429. package/codeyam-cli/src/webserver/build/client/assets/{index-B1h680n5.js → index-10oVnAAH.js} +1 -1
  430. package/codeyam-cli/src/webserver/build/client/assets/{index-lzqtyFU8.js → index-BcvgDzbZ.js} +1 -1
  431. package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +1 -0
  432. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-B7B9V-bu.js → loader-circle-BAXYRVEO.js} +1 -1
  433. package/codeyam-cli/src/webserver/build/client/assets/manifest-a632de18.js +1 -0
  434. package/codeyam-cli/src/webserver/build/client/assets/memory-Dg0mvYrI.js +96 -0
  435. package/codeyam-cli/src/webserver/build/client/assets/pause-DTAcYxBt.js +11 -0
  436. package/codeyam-cli/src/webserver/build/client/assets/root-DUKqhFlb.js +67 -0
  437. package/codeyam-cli/src/webserver/build/client/assets/{search-CxXUmBSd.js → search-fKo7v0Zo.js} +1 -1
  438. package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +1 -0
  439. package/codeyam-cli/src/webserver/build/client/assets/{simulations-DwFIBT09.js → simulations-B3aOzpCZ.js} +1 -1
  440. package/codeyam-cli/src/webserver/build/client/assets/terminal-BG4heKCG.js +11 -0
  441. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-B6LgvRJg.js → triangle-alert-DtSmdtM4.js} +1 -1
  442. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-C1v1PQzo.js → useCustomSizes-ByhSyh0W.js} +1 -1
  443. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +2 -0
  444. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-DYxHZQuP.js → useReportContext-O-jkvSPx.js} +1 -1
  445. package/codeyam-cli/src/webserver/build/client/assets/{useToast-mBRpZPiu.js → useToast-9FIWuYfK.js} +1 -1
  446. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  447. package/codeyam-cli/src/webserver/build/server/assets/index-HfLydfDq.js +1 -0
  448. package/codeyam-cli/src/webserver/build/server/assets/server-build-CUu_F-oo.js +366 -0
  449. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  450. package/codeyam-cli/src/webserver/build-info.json +5 -5
  451. package/codeyam-cli/src/webserver/devServer.js +39 -5
  452. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  453. package/codeyam-cli/src/webserver/editorProxy.js +440 -0
  454. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  455. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +175 -0
  456. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +140 -0
  457. package/codeyam-cli/src/webserver/server.js +226 -1
  458. package/codeyam-cli/src/webserver/server.js.map +1 -1
  459. package/codeyam-cli/src/webserver/terminalServer.js +698 -0
  460. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  461. package/codeyam-cli/templates/codeyam-editor-claude.md +68 -0
  462. package/codeyam-cli/templates/codeyam-memory-hook.sh +19 -20
  463. package/codeyam-cli/templates/commands/codeyam-diagnose.md +481 -0
  464. package/codeyam-cli/templates/editor-step-hook.py +147 -0
  465. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  466. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  467. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  468. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  469. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  470. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  471. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  472. package/codeyam-cli/templates/nextjs-prisma-sqlite/PRISMA_SETUP.md +84 -0
  473. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  474. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  475. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  476. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +19 -0
  477. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  478. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  479. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +43 -0
  480. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  481. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +35 -0
  482. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  483. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  484. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +37 -0
  485. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  486. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  487. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  488. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  489. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  490. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  491. package/codeyam-cli/templates/rule-notification-hook.py +83 -0
  492. package/codeyam-cli/templates/rule-reflection-hook.py +574 -87
  493. package/codeyam-cli/templates/rules-instructions.md +45 -60
  494. package/codeyam-cli/templates/{codeyam:debug.md → skills/codeyam-debug/SKILL.md} +1 -1
  495. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  496. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +69 -0
  497. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +611 -0
  498. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  499. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.sh +108 -0
  500. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.sh +69 -0
  501. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  502. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  503. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.sh +12 -0
  504. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter.jq +45 -0
  505. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.sh +139 -0
  506. package/codeyam-cli/templates/skills/codeyam-new-rule/SKILL.md +11 -0
  507. package/codeyam-cli/templates/{codeyam:setup.md → skills/codeyam-setup/SKILL.md} +13 -1
  508. package/codeyam-cli/templates/{codeyam:sim.md → skills/codeyam-sim/SKILL.md} +1 -1
  509. package/codeyam-cli/templates/{codeyam:test.md → skills/codeyam-test/SKILL.md} +1 -1
  510. package/codeyam-cli/templates/{codeyam:verify.md → skills/codeyam-verify/SKILL.md} +1 -1
  511. package/package.json +16 -14
  512. package/packages/ai/index.js +1 -1
  513. package/packages/ai/index.js.map +1 -1
  514. package/packages/ai/src/lib/analyzeScope.js +21 -1
  515. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  516. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
  517. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  518. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
  519. package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js.map +1 -1
  520. package/packages/ai/src/lib/astScopes/processExpression.js +78 -1
  521. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  522. package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
  523. package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
  524. package/packages/ai/src/lib/completionCall.js +10 -7
  525. package/packages/ai/src/lib/completionCall.js.map +1 -1
  526. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +495 -10
  527. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  528. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +5 -1
  529. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
  530. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +11 -2
  531. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  532. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +2 -2
  533. package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
  534. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
  535. package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
  536. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  537. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  538. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +122 -12
  539. package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
  540. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +15 -1
  541. package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -1
  542. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +78 -17
  543. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  544. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  545. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  546. package/packages/ai/src/lib/dataStructureChunking.js +30 -11
  547. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -1
  548. package/packages/ai/src/lib/generateEntityDataStructure.js +46 -2
  549. package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
  550. package/packages/ai/src/lib/generateEntityScenarioData.js +269 -5
  551. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  552. package/packages/ai/src/lib/generateExecutionFlows.js +97 -2
  553. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  554. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +242 -81
  555. package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
  556. package/packages/ai/src/lib/isolateScopes.js +39 -3
  557. package/packages/ai/src/lib/isolateScopes.js.map +1 -1
  558. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
  559. package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
  560. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
  561. package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
  562. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +17 -2
  563. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  564. package/packages/analyze/index.js +1 -0
  565. package/packages/analyze/index.js.map +1 -1
  566. package/packages/analyze/src/lib/ProjectAnalyzer.js +3 -0
  567. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  568. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  569. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  570. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +52 -2
  571. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  572. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +10 -0
  573. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  574. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
  575. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  576. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +9 -0
  577. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  578. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +907 -0
  579. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
  580. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +5 -1
  581. package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
  582. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +51 -14
  583. package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
  584. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +181 -13
  585. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  586. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +328 -49
  587. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  588. package/packages/analyze/src/lib/index.js +1 -0
  589. package/packages/analyze/src/lib/index.js.map +1 -1
  590. package/packages/database/index.js +1 -0
  591. package/packages/database/index.js.map +1 -1
  592. package/packages/database/src/lib/analysisBranchToDb.js +1 -1
  593. package/packages/database/src/lib/analysisBranchToDb.js.map +1 -1
  594. package/packages/database/src/lib/analysisToDb.js +1 -1
  595. package/packages/database/src/lib/analysisToDb.js.map +1 -1
  596. package/packages/database/src/lib/branchToDb.js +1 -1
  597. package/packages/database/src/lib/branchToDb.js.map +1 -1
  598. package/packages/database/src/lib/commitBranchToDb.js +1 -1
  599. package/packages/database/src/lib/commitBranchToDb.js.map +1 -1
  600. package/packages/database/src/lib/commitToDb.js +1 -1
  601. package/packages/database/src/lib/commitToDb.js.map +1 -1
  602. package/packages/database/src/lib/fileToDb.js +1 -1
  603. package/packages/database/src/lib/fileToDb.js.map +1 -1
  604. package/packages/database/src/lib/kysely/db.js +8 -0
  605. package/packages/database/src/lib/kysely/db.js.map +1 -1
  606. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +45 -0
  607. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  608. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
  609. package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
  610. package/packages/database/src/lib/loadCommits.js +23 -13
  611. package/packages/database/src/lib/loadCommits.js.map +1 -1
  612. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  613. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  614. package/packages/database/src/lib/projectToDb.js +1 -1
  615. package/packages/database/src/lib/projectToDb.js.map +1 -1
  616. package/packages/database/src/lib/saveFiles.js +1 -1
  617. package/packages/database/src/lib/saveFiles.js.map +1 -1
  618. package/packages/database/src/lib/scenarioToDb.js +1 -1
  619. package/packages/database/src/lib/scenarioToDb.js.map +1 -1
  620. package/packages/database/src/lib/updateCommitMetadata.js +100 -89
  621. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  622. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  623. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  624. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  625. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  626. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  627. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  628. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  629. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  630. package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
  631. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  632. package/scripts/npm-post-install.cjs +34 -0
  633. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -118
  634. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  635. package/codeyam-cli/src/commands/list.js +0 -31
  636. package/codeyam-cli/src/commands/list.js.map +0 -1
  637. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  638. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  639. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  640. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  641. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-C8lyxW9k.js +0 -34
  642. package/codeyam-cli/src/webserver/build/client/assets/copy-Bb-80kDT.js +0 -6
  643. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BBnGWYga.js +0 -1
  644. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js +0 -6
  645. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D1T4TGjf.js +0 -6
  646. package/codeyam-cli/src/webserver/build/client/assets/file-code-Dhef1kWN.js +0 -6
  647. package/codeyam-cli/src/webserver/build/client/assets/globals-D3yhhV8x.css +0 -1
  648. package/codeyam-cli/src/webserver/build/client/assets/manifest-a78b90a2.js +0 -1
  649. package/codeyam-cli/src/webserver/build/client/assets/memory--GCbFsBE.js +0 -92
  650. package/codeyam-cli/src/webserver/build/client/assets/root-eVAaavTS.js +0 -62
  651. package/codeyam-cli/src/webserver/build/client/assets/settings-CS5f3WzT.js +0 -1
  652. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-aSv48UbS.js +0 -2
  653. package/codeyam-cli/src/webserver/build/server/assets/index-BM6TDT1Y.js +0 -1
  654. package/codeyam-cli/src/webserver/build/server/assets/server-build-dYC34MHw.js +0 -257
  655. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  656. package/codeyam-cli/templates/codeyam:diagnose.md +0 -803
  657. package/codeyam-cli/templates/codeyam:memory.md +0 -341
  658. package/codeyam-cli/templates/codeyam:new-rule.md +0 -13
  659. package/scripts/finalize-analyzer.cjs +0 -81
@@ -10,6 +10,9 @@ import { parseJsonSafe } from "../../../../packages/ai/index.js";
10
10
  import convertNullToUndefinedBySchema from "./dataStructure/helpers/convertNullToUndefinedBySchema.js";
11
11
  import convertTypeAnnotationsToValues from "./dataStructure/helpers/convertTypeAnnotationsToValues.js";
12
12
  import fixNullIdsBySchema from "./dataStructure/helpers/fixNullIdsBySchema.js";
13
+ import coerceObjectsToPrimitivesBySchema from "./dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js";
14
+ import coercePrimitivesToArraysBySchema from "./dataStructure/helpers/coercePrimitivesToArraysBySchema.js";
15
+ import stripNullableMarkers from "./dataStructure/helpers/stripNullableMarkers.js";
13
16
  import { deepMerge } from "../../../../packages/generate/index.js";
14
17
  import { chunkDataStructure, getRequiredValuesForChunk, } from "./dataStructureChunking.js";
15
18
  /**
@@ -128,6 +131,35 @@ function findKeyPath(targetKey, obj, currentPath = []) {
128
131
  }
129
132
  return null;
130
133
  }
134
+ /**
135
+ * Strip primitive values from `source` when the `destination` already has an
136
+ * array or object at the same key. Returns a cleaned copy of source (or null
137
+ * if nothing remains after stripping).
138
+ *
139
+ * This prevents misplaced LLM data (e.g., `{ webapps: true }`) from
140
+ * overwriting correct complex values (e.g., `{ webapps: [...] }`) during
141
+ * deep merge in relocateMisplacedNestedKeys.
142
+ */
143
+ function stripPrimitivesOverwritingComplexValues(destination, source) {
144
+ if (typeof source !== 'object' || source === null || Array.isArray(source)) {
145
+ return null;
146
+ }
147
+ const result = {};
148
+ let hasKeys = false;
149
+ for (const key of Object.keys(source)) {
150
+ const srcVal = source[key];
151
+ const dstVal = destination[key];
152
+ // If destination has an array or object but source has a primitive, skip it
153
+ if (typeof dstVal === 'object' &&
154
+ dstVal !== null &&
155
+ typeof srcVal !== 'object') {
156
+ continue;
157
+ }
158
+ result[key] = srcVal;
159
+ hasKeys = true;
160
+ }
161
+ return hasKeys ? result : null;
162
+ }
131
163
  /**
132
164
  * Relocate misplaced nested keys in mockData to their correct position
133
165
  * based on the dataForMocks structure.
@@ -180,9 +212,16 @@ function relocateMisplacedNestedKeys(mockData, dataForMocks, currentPathForLoggi
180
212
  current = current[pathKey];
181
213
  }
182
214
  // Deep merge the value into the correct location
183
- // Use deep merge to preserve existing data at that location
215
+ // Use deep merge to preserve existing data at that location.
216
+ // Before merging, strip primitives from the misplaced value that would
217
+ // overwrite arrays/objects at the destination. The misplaced data is lower
218
+ // quality — the LLM put it in the wrong place — so primitives like `true`
219
+ // should not overwrite correct complex values like arrays.
184
220
  if (current[key] !== undefined && typeof current[key] === 'object') {
185
- current[key] = deepMerge(current[key], value);
221
+ const safeValue = stripPrimitivesOverwritingComplexValues(current[key], value);
222
+ if (safeValue !== null) {
223
+ current[key] = deepMerge(current[key], safeValue);
224
+ }
186
225
  }
187
226
  else {
188
227
  current[key] = value;
@@ -236,9 +275,14 @@ function generateDefaultForSchemaType(schemaType) {
236
275
  return null;
237
276
  return schemaType; // Return the type as a string placeholder
238
277
  }
239
- if (typeof schemaType === 'object' &&
240
- schemaType !== null &&
241
- !Array.isArray(schemaType)) {
278
+ if (Array.isArray(schemaType)) {
279
+ if (schemaType.length === 0)
280
+ return [];
281
+ // Generate a single default element based on the first element's schema
282
+ const elementDefault = generateDefaultForSchemaType(schemaType[0]);
283
+ return elementDefault !== undefined ? [elementDefault] : [];
284
+ }
285
+ if (typeof schemaType === 'object' && schemaType !== null) {
242
286
  // Recursively generate defaults for nested objects
243
287
  const result = {};
244
288
  for (const [key, value] of Object.entries(schemaType)) {
@@ -343,6 +387,8 @@ function fillMissingMockDataKeysWithDefaults(mockData, dataForMocks, pathPrefix
343
387
  }
344
388
  const missingKeys = [];
345
389
  for (const key of Object.keys(dataForMocks)) {
390
+ if (key === '_nullable')
391
+ continue; // Internal marker, not a data key
346
392
  const fullPath = pathPrefix ? `${pathPrefix}.${key}` : key;
347
393
  if (mockData[key] === undefined) {
348
394
  missingKeys.push(fullPath);
@@ -368,6 +414,139 @@ function fillMissingMockDataKeysWithDefaults(mockData, dataForMocks, pathPrefix
368
414
  awsLog(`CodeYam: Generated default mock data for ${missingKeys.length} missing key(s): ${missingKeys.slice(0, 10).join(', ')}${missingKeys.length > 10 ? '...' : ''}`);
369
415
  }
370
416
  }
417
+ /**
418
+ * Enforce execution flow requiredValues by setting falsy paths to null.
419
+ *
420
+ * The LLM doesn't reliably generate null for `comparison: 'falsy'` requirements.
421
+ * For example, a flow like "diffView: falsy" should hide a modal, but the LLM
422
+ * might generate a truthy object, causing the modal to show in all screenshots.
423
+ *
424
+ * This function:
425
+ * 1. Gets requiredValues from covered flows
426
+ * 2. For 'falsy' comparisons: sets the value to null
427
+ * 3. For 'truthy' comparisons with falsy values: generates a default truthy value
428
+ */
429
+ function enforceRequiredValues(mockData, coveredFlowIds, executionFlows) {
430
+ if (!coveredFlowIds.length || !executionFlows.length) {
431
+ return;
432
+ }
433
+ // Get all requiredValues from covered flows
434
+ const coveredFlows = executionFlows.filter((flow) => coveredFlowIds.includes(flow.id));
435
+ for (const flow of coveredFlows) {
436
+ if (!flow.requiredValues)
437
+ continue;
438
+ for (const rv of flow.requiredValues) {
439
+ if (!rv.attributePath)
440
+ continue;
441
+ // Find the value in mockData - the path could be nested
442
+ // e.g., attributePath: "diffView" could be at mockData['useDiffModal()'].diffView
443
+ const result = findAndSetValueInMockData(mockData, rv.attributePath, rv.comparison, rv.valueType);
444
+ if (result.found) {
445
+ awsLog(`CodeYam: Enforced ${rv.comparison} for ${rv.attributePath} (set to ${result.newValue === null ? 'null' : typeof result.newValue})`);
446
+ }
447
+ }
448
+ }
449
+ }
450
+ /**
451
+ * Find a value in mockData by attributePath and enforce the comparison.
452
+ * The attributePath could be a simple key or a nested path.
453
+ *
454
+ * Returns { found: boolean, newValue: unknown }
455
+ */
456
+ function findAndSetValueInMockData(mockData, attributePath, comparison, valueType) {
457
+ // Try to find the path at various nesting levels
458
+ // The attributePath might be "diffView" but the actual location is
459
+ // mockData['useDiffModal()'].diffView
460
+ // Strategy 1: Direct path (e.g., mockData[attributePath])
461
+ if (attributePath in mockData) {
462
+ const currentValue = mockData[attributePath];
463
+ const { shouldChange, newValue } = getEnforcedValue(currentValue, comparison, valueType);
464
+ if (shouldChange) {
465
+ mockData[attributePath] = newValue;
466
+ return { found: true, newValue };
467
+ }
468
+ return { found: true, newValue: currentValue };
469
+ }
470
+ // Strategy 2: Search in nested objects
471
+ for (const [key, value] of Object.entries(mockData)) {
472
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
473
+ const nestedObj = value;
474
+ // Check if attributePath exists in this nested object
475
+ if (attributePath in nestedObj) {
476
+ const currentValue = nestedObj[attributePath];
477
+ const { shouldChange, newValue } = getEnforcedValue(currentValue, comparison, valueType);
478
+ if (shouldChange) {
479
+ nestedObj[attributePath] = newValue;
480
+ return { found: true, newValue };
481
+ }
482
+ return { found: true, newValue: currentValue };
483
+ }
484
+ // Also check dot-notation paths (e.g., "diffView.type")
485
+ if (attributePath.includes('.')) {
486
+ const parts = attributePath.split('.');
487
+ const firstPart = parts[0];
488
+ if (firstPart in nestedObj) {
489
+ // Recurse with the rest of the path
490
+ const result = findAndSetValueInMockData(nestedObj, attributePath, comparison, valueType);
491
+ if (result.found)
492
+ return result;
493
+ }
494
+ }
495
+ // Recursively search deeper
496
+ const result = findAndSetValueInMockData(nestedObj, attributePath, comparison, valueType);
497
+ if (result.found)
498
+ return result;
499
+ }
500
+ }
501
+ return { found: false };
502
+ }
503
+ /**
504
+ * Determine if a value should be changed to match a comparison requirement.
505
+ *
506
+ * For 'falsy' comparison: truthy values should become null
507
+ * For 'truthy' comparison: falsy values should become a default truthy value
508
+ */
509
+ function getEnforcedValue(currentValue, comparison, valueType) {
510
+ const isTruthy = Boolean(currentValue);
511
+ if (comparison === 'falsy') {
512
+ // Value should be falsy
513
+ if (isTruthy) {
514
+ return { shouldChange: true, newValue: null };
515
+ }
516
+ return { shouldChange: false, newValue: currentValue };
517
+ }
518
+ if (comparison === 'truthy') {
519
+ // Value should be truthy
520
+ if (!isTruthy) {
521
+ // Generate a default truthy value based on valueType
522
+ const defaultValue = generateDefaultTruthyValue(valueType);
523
+ return { shouldChange: true, newValue: defaultValue };
524
+ }
525
+ return { shouldChange: false, newValue: currentValue };
526
+ }
527
+ // For other comparisons (equals, exists, etc.), don't auto-enforce
528
+ return { shouldChange: false, newValue: currentValue };
529
+ }
530
+ /**
531
+ * Generate a default truthy value for a given type.
532
+ */
533
+ function generateDefaultTruthyValue(valueType) {
534
+ if (!valueType)
535
+ return { _placeholder: true };
536
+ switch (valueType.toLowerCase()) {
537
+ case 'string':
538
+ return 'default-value';
539
+ case 'number':
540
+ return 1;
541
+ case 'boolean':
542
+ return true;
543
+ case 'array':
544
+ return [{ _placeholder: true }];
545
+ case 'object':
546
+ default:
547
+ return { _placeholder: true };
548
+ }
549
+ }
371
550
  /**
372
551
  * For Default Scenario only: detect missing mockData keys and make a follow-up
373
552
  * LLM call to fill them in. This handles cases where the LLM completes normally
@@ -478,6 +657,18 @@ export async function generateDataForScenario({ entity, structure, scenario, exe
478
657
  }
479
658
  }
480
659
  }
660
+ // Detect keys that were lost from failed or partial chunk responses
661
+ // and fill them with schema-based defaults so they aren't permanently lost.
662
+ const allChunkedKeys = chunks.flatMap((c) => Object.keys(c || {}));
663
+ const returnedKeys = new Set(Object.keys(chunkedMockData));
664
+ const missingChunkKeys = allChunkedKeys.filter((k) => !returnedKeys.has(k));
665
+ if (missingChunkKeys.length > 0) {
666
+ awsLog(`Chunked processing: ${missingChunkKeys.length} key(s) missing from chunk results, filling with defaults: ${missingChunkKeys.join(', ')}`);
667
+ const dataForMocksRecord = structure.dataForMocks;
668
+ for (const key of missingChunkKeys) {
669
+ chunkedMockData[key] = generateDefaultForSchemaType(dataForMocksRecord[key]);
670
+ }
671
+ }
481
672
  awsLog(`Chunked processing complete. Generated ${Object.keys(chunkedMockData).length} keys total`);
482
673
  }
483
674
  }
@@ -630,6 +821,15 @@ export async function generateDataForScenario({ entity, structure, scenario, exe
630
821
  }
631
822
  awsLog(`Merged chunked mock data for keys: ${Object.keys(chunkedMockData).join(', ')}`);
632
823
  }
824
+ // Strip _nullable markers from LLM-generated mock data.
825
+ // The _nullable marker is an internal CodeYam concept used in type definitions
826
+ // to indicate that a field can be null/undefined. The LLM sometimes includes
827
+ // these markers in its generated data, which causes runtime errors when code
828
+ // iterates over object keys (e.g., Object.keys(importedBy) picks up "_nullable",
829
+ // then Object.keys(importedBy["_nullable"]) calls Object.keys(null) and throws).
830
+ if (fullScenarioData.data.mockData) {
831
+ stripNullableMarkers(fullScenarioData.data.mockData);
832
+ }
633
833
  // Relocate misplaced nested keys to their correct position.
634
834
  // The LLM sometimes places nested keys at root level instead of inside their
635
835
  // parent object (e.g., 'fastener' at root instead of inside 'trpc').
@@ -644,6 +844,23 @@ export async function generateDataForScenario({ entity, structure, scenario, exe
644
844
  if (structure.dataForMocks && fullScenarioData.data.mockData) {
645
845
  convertNullToUndefinedBySchema(fullScenarioData.data.mockData, structure.dataForMocks);
646
846
  }
847
+ // Coerce objects/arrays to primitives when the schema expects a primitive type.
848
+ // The LLM sometimes generates an object where the schema expects "string",
849
+ // e.g., { body: { "env": "production" } } instead of { body: "some string" }.
850
+ // This causes runtime errors like "TypeError: body.match is not a function".
851
+ // Must run BEFORE convertCommaSeparatedStringsToArrays, which intentionally
852
+ // overrides schema types for array-like field names.
853
+ if (structure.dataForMocks && fullScenarioData.data.mockData) {
854
+ coerceObjectsToPrimitivesBySchema(fullScenarioData.data.mockData, structure.dataForMocks);
855
+ }
856
+ // Coerce primitives to empty arrays when the schema expects an array.
857
+ // The LLM sometimes generates a primitive (e.g., `webapps: true`) where the
858
+ // schema expects an array (e.g., `webapps: [{ name: "string" }]`).
859
+ // This causes runtime errors like "TypeError: config.webapps?.forEach is not a function".
860
+ // Must run AFTER coerceObjectsToPrimitivesBySchema and BEFORE convertCommaSeparatedStringsToArrays.
861
+ if (structure.dataForMocks && fullScenarioData.data.mockData) {
862
+ coercePrimitivesToArraysBySchema(fullScenarioData.data.mockData, structure.dataForMocks);
863
+ }
647
864
  // Convert comma-separated strings to arrays when appropriate.
648
865
  // The LLM sometimes generates strings like "color,size" instead of arrays
649
866
  // like ["color", "size"] when the schema type is incorrectly inferred as
@@ -668,6 +885,13 @@ export async function generateDataForScenario({ entity, structure, scenario, exe
668
885
  if (structure.dataForMocks && fullScenarioData.data.mockData) {
669
886
  fixNullIdsBySchema(fullScenarioData.data.mockData, structure.dataForMocks);
670
887
  }
888
+ // Enforce execution flow requiredValues by setting falsy paths to null.
889
+ // The LLM doesn't reliably generate null for falsy requirements (e.g., diffView: falsy
890
+ // to hide a modal). This post-processing ensures that scenarios match their
891
+ // covered flows' requiredValues.
892
+ if (fullScenarioData.data.mockData && executionFlows) {
893
+ enforceRequiredValues(fullScenarioData.data.mockData, scenario.metadata?.coveredFlows || [], executionFlows);
894
+ }
671
895
  if (structure.arguments && fullScenarioData.data.argumentsData) {
672
896
  for (let i = 0; i < fullScenarioData.data.argumentsData.length; i++) {
673
897
  if (structure.arguments[i]) {
@@ -797,6 +1021,46 @@ export default async function generateEntityScenarioData({ entity, structure, sc
797
1021
  scenarioData.data.argumentsData =
798
1022
  defaultScenarioData.data.argumentsData.map((arg) => ({ ...arg }));
799
1023
  }
1024
+ // Enforce requiredValues AFTER merge for non-default scenarios
1025
+ // This ensures that if a non-default scenario doesn't cover a certain flow,
1026
+ // it inherits the enforcement from the default scenario
1027
+ if (scenarioData.data?.mockData && executionFlows) {
1028
+ // Get the flows covered by this scenario
1029
+ const scenarioCoveredFlows = nonDefaultScenarios.find((s) => s.name === result.scenarioData.scenarioDescription)?.metadata?.coveredFlows || [];
1030
+ // Get the paths that the scenario's flows affect
1031
+ const scenarioAffectedPaths = new Set();
1032
+ for (const flowId of scenarioCoveredFlows) {
1033
+ const flow = executionFlows.find((f) => f.id === flowId);
1034
+ if (flow?.requiredValues) {
1035
+ for (const rv of flow.requiredValues) {
1036
+ if (rv.attributePath) {
1037
+ // Extract base path (e.g., "diffView" from "diffView.type")
1038
+ const basePath = rv.attributePath.split('.')[0];
1039
+ scenarioAffectedPaths.add(basePath);
1040
+ }
1041
+ }
1042
+ }
1043
+ }
1044
+ // Get the default scenario's flows
1045
+ const defaultCoveredFlows = defaultScenario.metadata?.coveredFlows || [];
1046
+ // For paths NOT affected by the scenario, apply default's enforcement
1047
+ const defaultFlowsForUnaffectedPaths = defaultCoveredFlows.filter((flowId) => {
1048
+ const flow = executionFlows.find((f) => f.id === flowId);
1049
+ if (!flow?.requiredValues)
1050
+ return false;
1051
+ // Check if this flow affects a path that the scenario doesn't cover
1052
+ return flow.requiredValues.some((rv) => {
1053
+ if (!rv.attributePath)
1054
+ return false;
1055
+ const basePath = rv.attributePath.split('.')[0];
1056
+ return !scenarioAffectedPaths.has(basePath);
1057
+ });
1058
+ });
1059
+ // Apply enforcement from default scenario for unaffected paths
1060
+ if (defaultFlowsForUnaffectedPaths.length > 0) {
1061
+ enforceRequiredValues(scenarioData.data.mockData, defaultFlowsForUnaffectedPaths, executionFlows);
1062
+ }
1063
+ }
800
1064
  return scenarioData;
801
1065
  });
802
1066
  scenarioDatas.push(...mergedScenarioDatas);
@@ -1 +1 @@
1
- {"version":3,"file":"generateEntityScenarioData.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityScenarioData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateEntityScenarioData.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateEntityScenarioData.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,28 @@ import generateExecutionFlowsFromConditionalEffects from "./generateExecutionFlo
18
18
  import generateExecutionFlowsFromConditionals from "./generateExecutionFlowsFromConditionals.js";
19
19
  import generateExecutionFlowsFromJsxUsages from "./generateExecutionFlowsFromJsxUsages.js";
20
20
  import resolvePathToControllable from "./resolvePathToControllable.js";
21
+ /**
22
+ * Patterns that indicate a child component is a modal/overlay/blocking element.
23
+ * Same patterns used in generateExecutionFlowsFromConditionalEffects.ts for
24
+ * state variable names — here applied to child component names.
25
+ */
26
+ const BLOCKING_CHILD_PATTERNS = [
27
+ /modal/i,
28
+ /overlay/i,
29
+ /dialog/i,
30
+ /popup/i,
31
+ /drawer/i,
32
+ /sheet/i,
33
+ /lightbox/i,
34
+ /backdrop/i,
35
+ ];
36
+ /**
37
+ * Check if a child component name suggests it's a blocking/modal element.
38
+ * Exported for testing.
39
+ */
40
+ export function isBlockingChildComponent(componentName) {
41
+ return BLOCKING_CHILD_PATTERNS.some((pattern) => pattern.test(componentName));
42
+ }
21
43
  export default function generateExecutionFlows({ entity, mergedDataStructure, childEntityMetadata, }) {
22
44
  awsLog(`CodeYam: Generating execution flows (static analysis)`, {
23
45
  filePath: entity.filePath,
@@ -53,6 +75,10 @@ export default function generateExecutionFlows({ entity, mergedDataStructure, ch
53
75
  for (const [shortPath, fullPath] of Object.entries(associationMap)) {
54
76
  fullToShortPathMap[fullPath] = shortPath;
55
77
  }
78
+ console.log(`[generateExecutionFlows] ${entity.name}: attributesMap has ${Object.keys(resolvedAttributesMap).length} keys, fullToShortPathMap has ${Object.keys(fullToShortPathMap).length} entries`);
79
+ console.log(`[generateExecutionFlows] ${entity.name}: attributesMap keys: [${Object.keys(resolvedAttributesMap).join(', ')}]`);
80
+ console.log(`[generateExecutionFlows] ${entity.name}: fullToShortPathMap: ${JSON.stringify(fullToShortPathMap)}`);
81
+ console.log(`[generateExecutionFlows] ${entity.name}: equivalentSignatureVariables: ${JSON.stringify(equivalentSignatureVariables)}`);
56
82
  // Get pre-computed conditional data from metadata
57
83
  const conditionalUsages = entity.metadata?.isolatedDataStructure?.conditionalUsages ?? {};
58
84
  const compoundConditionals = entity.metadata?.isolatedDataStructure?.compoundConditionals ?? [];
@@ -85,6 +111,13 @@ export default function generateExecutionFlows({ entity, mergedDataStructure, ch
85
111
  }
86
112
  }
87
113
  }
114
+ console.log(`[generateExecutionFlows] ${entity.name}: conditionalUsages keys: [${Object.keys(conditionalUsages).join(', ')}]`);
115
+ console.log(`[generateExecutionFlows] ${entity.name}: conditionalUsages sourceDataPaths: ${JSON.stringify(Object.fromEntries(Object.entries(conditionalUsages).map(([k, v]) => [
116
+ k,
117
+ v.map((u) => u.sourceDataPath ?? '(none)'),
118
+ ])))}`);
119
+ console.log(`[generateExecutionFlows] ${entity.name}: compoundConditionals count: ${compoundConditionals.length}`);
120
+ console.log(`[generateExecutionFlows] ${entity.name}: sourceEquivalencies keys count: ${Object.keys(mergedDataStructure.sourceEquivalencies ?? {}).length}`);
88
121
  const conditionalsBasedFlows = generateExecutionFlowsFromConditionals({
89
122
  conditionalUsages,
90
123
  compoundConditionals,
@@ -150,6 +183,10 @@ export default function generateExecutionFlows({ entity, mergedDataStructure, ch
150
183
  for (const flow of allFlows) {
151
184
  calculateFlowPriority(flow, gatingPathToChildren);
152
185
  }
186
+ // Assign exclusiveGroup for truthy/falsy flow pairs that control child components.
187
+ // When the same gating path produces both a truthy flow (show component) and a
188
+ // falsy flow (hide component), they are mutually exclusive and should be grouped.
189
+ assignExclusiveGroupsForGatingPairs(allFlows);
153
190
  // Sort flows by priority (highest first)
154
191
  allFlows.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
155
192
  return {
@@ -206,6 +243,53 @@ function buildGatingPathToChildrenMap(childBoundaryGatingConditions, equivalentS
206
243
  }
207
244
  return gatingPathToChildren;
208
245
  }
246
+ /**
247
+ * Assign exclusiveGroup for truthy/falsy flow pairs that control child components.
248
+ *
249
+ * When the same attribute path produces both a truthy and falsy flow (e.g.,
250
+ * {diffView && <DiffModal/>}), they are mutually exclusive — only one can be
251
+ * active at a time. Grouping them ensures the scenario generator treats them
252
+ * as alternative states rather than combining them.
253
+ */
254
+ function assignExclusiveGroupsForGatingPairs(flows) {
255
+ // Build a map: attributePath -> flows with truthy or falsy comparison for that path
256
+ const pathToFlows = new Map();
257
+ for (const flow of flows) {
258
+ // Only consider flows that control child components
259
+ if (!flow.childComponentsControlled?.length)
260
+ continue;
261
+ for (const rv of flow.requiredValues) {
262
+ if (rv.comparison === 'truthy' || rv.comparison === 'falsy') {
263
+ if (!pathToFlows.has(rv.attributePath)) {
264
+ pathToFlows.set(rv.attributePath, { truthy: [], falsy: [] });
265
+ }
266
+ pathToFlows.get(rv.attributePath)[rv.comparison].push(flow);
267
+ }
268
+ }
269
+ }
270
+ // Also check falsy flows that DON'T have childComponentsControlled —
271
+ // they still pair with truthy flows that do
272
+ for (const flow of flows) {
273
+ if (flow.childComponentsControlled?.length)
274
+ continue; // Already processed
275
+ for (const rv of flow.requiredValues) {
276
+ if (rv.comparison === 'falsy' && pathToFlows.has(rv.attributePath)) {
277
+ pathToFlows.get(rv.attributePath).falsy.push(flow);
278
+ }
279
+ }
280
+ }
281
+ // Assign exclusiveGroup where both truthy and falsy flows exist
282
+ for (const [attributePath, { truthy, falsy }] of pathToFlows) {
283
+ if (truthy.length > 0 && falsy.length > 0) {
284
+ const groupName = `gating:${attributePath}`;
285
+ for (const flow of [...truthy, ...falsy]) {
286
+ if (!flow.exclusiveGroup) {
287
+ flow.exclusiveGroup = groupName;
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
209
293
  /**
210
294
  * Calculate priority and childComponentsControlled for a flow.
211
295
  *
@@ -253,6 +337,14 @@ function calculateFlowPriority(flow, gatingPathToChildren) {
253
337
  if (flow.impact !== 'high') {
254
338
  flow.impact = 'high';
255
339
  }
340
+ // Check if any controlled child component is a modal/dialog/overlay.
341
+ // Only truthy flows (which SHOW the component) should be marked as blocking.
342
+ // Falsy flows (which HIDE the component) should not be blocking.
343
+ const isTruthyFlow = flow.requiredValues.some((rv) => rv.comparison === 'truthy' || rv.comparison === 'equals');
344
+ if (isTruthyFlow &&
345
+ Array.from(childComponentsControlled).some(isBlockingChildComponent)) {
346
+ flow.blocksOtherFlows = true;
347
+ }
256
348
  }
257
349
  // Calculate priority score
258
350
  let priority = 0;
@@ -334,8 +426,11 @@ function buildValueGroupMap(flows) {
334
426
  for (const [, flowValues] of pathToValues) {
335
427
  // Only create groups if there are multiple different values for the same path
336
428
  const uniqueValues = new Set(flowValues.map((fv) => fv.value));
337
- if (uniqueValues.size > 1) {
338
- // This attribute has multiple values, so all flows are siblings
429
+ if (uniqueValues.size > 1 && flowValues.length <= 10) {
430
+ // This attribute has multiple values, so all flows are siblings.
431
+ // Skip large groups (>10 flows) — these are typically shared gating conditions
432
+ // (like route params) that would dominate the selection by pulling in too many
433
+ // siblings and displacing higher-priority flows.
339
434
  const siblingIds = flowValues.map((fv) => fv.flowId);
340
435
  for (const fv of flowValues) {
341
436
  valueGroupMap.set(fv.flowId, siblingIds.filter((id) => id !== fv.flowId));