@codeyam/codeyam-cli 0.1.0-staging.e2d4438 → 0.1.0-staging.e3d0ba6

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 (858) hide show
  1. package/analyzer-template/.build-info.json +8 -8
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +24 -24
  4. package/analyzer-template/packages/ai/package.json +3 -3
  5. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
  6. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +135 -0
  7. package/analyzer-template/packages/ai/src/lib/astScopes/nodeToSource.ts +19 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +11 -4
  9. package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
  10. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +295 -14
  11. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.ts +10 -3
  12. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +16 -6
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
  15. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +78 -2
  16. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +0 -33
  17. package/analyzer-template/packages/analyze/index.ts +4 -1
  18. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +19 -7
  19. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  20. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  21. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +28 -2
  22. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -37
  23. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
  24. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +22 -6
  25. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  26. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  27. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +82 -10
  28. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +4 -0
  29. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +4 -0
  30. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  31. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
  32. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +322 -58
  33. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  34. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1707 -1466
  35. package/analyzer-template/packages/aws/package.json +10 -10
  36. package/analyzer-template/packages/database/index.ts +1 -0
  37. package/analyzer-template/packages/database/package.json +4 -4
  38. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
  39. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  40. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +25 -15
  41. package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
  42. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  43. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  44. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
  45. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +94 -143
  46. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  47. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  48. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  49. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  50. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  51. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  52. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  53. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  54. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  55. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  56. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
  57. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
  63. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  64. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
  66. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  67. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  68. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
  69. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  70. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  71. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  72. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  73. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  74. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  76. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  78. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  79. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  80. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -90
  82. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  85. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  86. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  87. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  88. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  89. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  90. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  91. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  92. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  93. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  94. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  95. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  96. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  97. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  98. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  99. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  100. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  101. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
  102. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  103. package/analyzer-template/packages/github/package.json +1 -1
  104. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  105. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  106. package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
  107. package/analyzer-template/packages/ui-components/package.json +1 -1
  108. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  109. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  110. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  111. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  112. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  113. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  114. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
  115. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  116. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  117. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  118. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +28 -3
  119. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  120. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +41 -2
  121. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  122. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  123. package/analyzer-template/project/constructMockCode.ts +168 -48
  124. package/analyzer-template/project/orchestrateCapture.ts +4 -1
  125. package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
  126. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  127. package/analyzer-template/project/start.ts +3 -0
  128. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  129. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  130. package/analyzer-template/project/writeMockDataTsx.ts +17 -0
  131. package/analyzer-template/project/writeScenarioComponents.ts +96 -17
  132. package/analyzer-template/tsconfig.json +13 -1
  133. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  134. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  135. package/background/src/lib/virtualized/project/constructMockCode.js +143 -39
  136. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  137. package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
  138. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  139. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
  140. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  141. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  142. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  143. package/background/src/lib/virtualized/project/start.js +2 -0
  144. package/background/src/lib/virtualized/project/start.js.map +1 -1
  145. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  146. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  147. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  148. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  149. package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
  150. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  151. package/background/src/lib/virtualized/project/writeScenarioComponents.js +73 -12
  152. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  153. package/codeyam-cli/scripts/apply-setup.js +208 -11
  154. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  155. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  156. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  157. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  158. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  159. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  160. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  161. package/codeyam-cli/src/cli.js +56 -25
  162. package/codeyam-cli/src/cli.js.map +1 -1
  163. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  164. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  165. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  166. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  167. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  168. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  169. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  170. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  171. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js +55 -0
  172. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js.map +1 -0
  173. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  174. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  175. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  176. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  177. package/codeyam-cli/src/commands/analyze.js +17 -7
  178. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  179. package/codeyam-cli/src/commands/default.js +14 -2
  180. package/codeyam-cli/src/commands/default.js.map +1 -1
  181. package/codeyam-cli/src/commands/editor.js +6180 -0
  182. package/codeyam-cli/src/commands/editor.js.map +1 -0
  183. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  184. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  185. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  186. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  187. package/codeyam-cli/src/commands/init.js +109 -45
  188. package/codeyam-cli/src/commands/init.js.map +1 -1
  189. package/codeyam-cli/src/commands/memory.js +29 -58
  190. package/codeyam-cli/src/commands/memory.js.map +1 -1
  191. package/codeyam-cli/src/commands/telemetry.js +37 -0
  192. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  193. package/codeyam-cli/src/data/designSystems.js +27 -0
  194. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  195. package/codeyam-cli/src/data/techStacks.js +77 -0
  196. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  197. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  198. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  199. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  200. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  201. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  202. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  203. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +181 -0
  204. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  205. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +4160 -0
  206. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  207. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  208. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  209. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  210. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  211. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  212. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  213. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  214. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  215. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  216. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  217. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  218. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  219. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +381 -0
  220. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  221. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  222. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  223. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  224. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  225. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  226. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  227. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  228. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  229. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  230. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  231. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  232. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  233. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  234. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  235. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +361 -0
  236. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  237. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  238. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  239. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js +398 -0
  240. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js.map +1 -0
  241. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  242. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  243. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +411 -0
  244. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  245. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1768 -0
  246. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  247. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +413 -0
  248. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  249. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  250. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  251. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  252. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  253. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  254. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  255. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +2121 -0
  256. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  257. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  258. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  259. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  260. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  261. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +122 -0
  262. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  263. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  264. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  265. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +6 -0
  266. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -1
  267. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  268. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  269. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  270. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  271. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  272. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  273. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  274. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  275. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  276. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  277. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  278. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  279. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  280. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  281. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  282. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  283. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  284. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  285. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +51 -4
  286. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  287. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  288. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  289. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  290. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  291. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  292. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  293. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +148 -0
  294. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  295. package/codeyam-cli/src/utils/analysisRunner.js +39 -8
  296. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  297. package/codeyam-cli/src/utils/analyzer.js +19 -0
  298. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  299. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  300. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  301. package/codeyam-cli/src/utils/backgroundServer.js +105 -13
  302. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  303. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  304. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  305. package/codeyam-cli/src/utils/database.js +37 -2
  306. package/codeyam-cli/src/utils/database.js.map +1 -1
  307. package/codeyam-cli/src/utils/designSystemShowcase.js +810 -0
  308. package/codeyam-cli/src/utils/designSystemShowcase.js.map +1 -0
  309. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  310. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  311. package/codeyam-cli/src/utils/devServerState.js +71 -0
  312. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  313. package/codeyam-cli/src/utils/editorApi.js +95 -0
  314. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  315. package/codeyam-cli/src/utils/editorAudit.js +849 -0
  316. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  317. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  318. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  319. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  320. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  321. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  322. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  323. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  324. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  325. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  326. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  327. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  328. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  329. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  330. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  331. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  332. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  333. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  334. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  335. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  336. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  337. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  338. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  339. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  340. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  341. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  342. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  343. package/codeyam-cli/src/utils/editorPreview.js +139 -0
  344. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  345. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  346. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  347. package/codeyam-cli/src/utils/editorRoadmap.js +301 -0
  348. package/codeyam-cli/src/utils/editorRoadmap.js.map +1 -0
  349. package/codeyam-cli/src/utils/editorScenarioSwitch.js +149 -0
  350. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  351. package/codeyam-cli/src/utils/editorScenarios.js +687 -0
  352. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  353. package/codeyam-cli/src/utils/editorSeedAdapter.js +475 -0
  354. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  355. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  356. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  357. package/codeyam-cli/src/utils/entityChangeStatus.js +394 -0
  358. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  359. package/codeyam-cli/src/utils/entityChangeStatus.server.js +227 -0
  360. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  361. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  362. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  363. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  364. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  365. package/codeyam-cli/src/utils/git.js +103 -0
  366. package/codeyam-cli/src/utils/git.js.map +1 -1
  367. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  368. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  369. package/codeyam-cli/src/utils/install-skills.js +71 -15
  370. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  371. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  372. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  373. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  374. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  375. package/codeyam-cli/src/utils/npmVersionCheck.js +2 -2
  376. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -1
  377. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  378. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  379. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  380. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  381. package/codeyam-cli/src/utils/progress.js +2 -2
  382. package/codeyam-cli/src/utils/progress.js.map +1 -1
  383. package/codeyam-cli/src/utils/project.js +15 -5
  384. package/codeyam-cli/src/utils/project.js.map +1 -1
  385. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  386. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  387. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  388. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  389. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  390. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  391. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  392. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  393. package/codeyam-cli/src/utils/queue/job.js +105 -7
  394. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  395. package/codeyam-cli/src/utils/queue/manager.js +7 -6
  396. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  397. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  398. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  399. package/codeyam-cli/src/utils/requireSimulations.js +1 -1
  400. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -1
  401. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  402. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  403. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +5 -6
  404. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
  405. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +2 -5
  406. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
  407. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  408. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  409. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  410. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  411. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  412. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  413. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  414. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  415. package/codeyam-cli/src/utils/rules/index.js +1 -0
  416. package/codeyam-cli/src/utils/rules/index.js.map +1 -1
  417. package/codeyam-cli/src/utils/rules/parser.js +14 -4
  418. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  419. package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
  420. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
  421. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  422. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  423. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  424. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  425. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  426. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  427. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  428. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  429. package/codeyam-cli/src/utils/scenariosManifest.js +313 -0
  430. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  431. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  432. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  433. package/codeyam-cli/src/utils/serverState.js +57 -2
  434. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  435. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +83 -11
  436. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  437. package/codeyam-cli/src/utils/simulationGateMiddleware.js +175 -0
  438. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  439. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  440. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  441. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  442. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  443. package/codeyam-cli/src/utils/telemetry.js +106 -0
  444. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  445. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  446. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  447. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  448. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  449. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  450. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  451. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  452. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  453. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  454. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  455. package/codeyam-cli/src/utils/testRunner.js +350 -0
  456. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  457. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  458. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  459. package/codeyam-cli/src/utils/versionInfo.js +21 -0
  460. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  461. package/codeyam-cli/src/utils/webappDetection.js +38 -3
  462. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  463. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +99 -0
  464. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  465. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  466. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  467. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +107 -0
  468. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  469. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +647 -0
  470. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  471. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +315 -0
  472. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  473. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  474. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  475. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +86 -0
  476. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  477. package/codeyam-cli/src/webserver/app/lib/database.js +41 -27
  478. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  479. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  480. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  481. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  482. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  483. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  484. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  485. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  486. package/codeyam-cli/src/webserver/backgroundServer.js +141 -42
  487. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  488. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-DTBZZfSk.js +1 -0
  489. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-bwuHPyTa.js → EntityItem-BxclONWq.js} +5 -5
  490. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  491. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BH0XDim7.js → EntityTypeIcon-BsnEOJZ_.js} +9 -9
  492. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-ByaELMbv.js +1 -0
  493. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-6WjVfhxX.js +25 -0
  494. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-ChX-Hp7W.js +3 -0
  495. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-BvMu2i-g.js → LoadingDots-By5zI316.js} +1 -1
  496. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-kgBTLoJD.js → LogViewer-C-9zQdXg.js} +3 -3
  497. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-BusrvT2F.js +36 -0
  498. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-BzPgx-xO.js → ReportIssueModal-DQsceHVv.js} +4 -4
  499. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DThcm_9M.js +1 -0
  500. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-BX2Ny2Qj.js → ScenarioViewer-Cl4oOA3A.js} +3 -3
  501. package/codeyam-cli/src/webserver/build/client/assets/Spinner-CIil5-gb.js +34 -0
  502. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  503. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BqkA9zyZ.js +1 -0
  504. package/codeyam-cli/src/webserver/build/client/assets/{_index-BRx8ZGZo.js → _index-DnOgyseQ.js} +4 -4
  505. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-4S4yPfFw.js → activity.(_tab)-DqM9hbNE.js} +8 -8
  506. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  507. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  508. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-C58dYPwR.js +1 -0
  509. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  510. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-B8NCeOrm.js +22 -0
  511. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  512. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  513. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  514. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  515. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  516. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  517. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  518. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  519. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  520. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  521. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  522. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  523. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  524. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  525. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  526. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  527. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  528. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  529. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  530. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  531. package/codeyam-cli/src/webserver/build/client/assets/api.editor-roadmap-l0sNRNKZ.js +1 -0
  532. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  533. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  534. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  535. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  536. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  537. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  538. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  539. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  540. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  541. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  542. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  543. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  544. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  545. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  546. package/codeyam-cli/src/webserver/build/client/assets/{book-open-D4IPYH_y.js → book-open-BFSIqZgO.js} +2 -2
  547. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-CG65viiV.js → chevron-down-B9fDzFVh.js} +2 -2
  548. package/codeyam-cli/src/webserver/build/client/assets/chunk-UVKPFVEO-Bmq2apuh.js +43 -0
  549. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-igfMr5DY.js → circle-check-DLPObLUx.js} +2 -2
  550. package/codeyam-cli/src/webserver/build/client/assets/{copy-Coc4o_8c.js → copy-DXEmO0TD.js} +3 -3
  551. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BwyFiRot.js +41 -0
  552. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  553. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  554. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-iRhRIFlp.js +1 -0
  555. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-BZPBzV73.js +1 -0
  556. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-785deXbZ.js +147 -0
  557. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-C6fEYHrh.js +41 -0
  558. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-B0h9AqE6.js → entity._sha._-Ce1s4OQ1.js} +14 -13
  559. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-C8AyYgYT.js +6 -0
  560. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DziaVQX1.js +6 -0
  561. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-BTcpgIpC.js +6 -0
  562. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-PePWg17F.js → entity._sha_.edit._scenarioId-D_O_ajfZ.js} +2 -2
  563. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-I-Wo99C_.js → entry.client-j1Vi0bco.js} +6 -6
  564. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  565. package/codeyam-cli/src/webserver/build/client/assets/files-kuny2Q_s.js +1 -0
  566. package/codeyam-cli/src/webserver/build/client/assets/git-DgCZPMie.js +1 -0
  567. package/codeyam-cli/src/webserver/build/client/assets/globals-Bt7TsgQz.css +1 -0
  568. package/codeyam-cli/src/webserver/build/client/assets/{index-_417gcQW.js → index-BliGSSpl.js} +1 -1
  569. package/codeyam-cli/src/webserver/build/client/assets/index-SqjQKTdH.js +15 -0
  570. package/codeyam-cli/src/webserver/build/client/assets/{index-CUM5iXwc.js → index-vyrZD2g4.js} +1 -1
  571. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  572. package/codeyam-cli/src/webserver/build/client/assets/labs-c3yLxSEp.js +1 -0
  573. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-TzRHMVog.js → loader-circle-D-q28GLF.js} +2 -2
  574. package/codeyam-cli/src/webserver/build/client/assets/manifest-3d8cde80.js +1 -0
  575. package/codeyam-cli/src/webserver/build/client/assets/memory-CEWIUC4t.js +101 -0
  576. package/codeyam-cli/src/webserver/build/client/assets/{pause-hjzB7t2z.js → pause-BP6fitdh.js} +3 -3
  577. package/codeyam-cli/src/webserver/build/client/assets/root-CVjDQwjJ.js +80 -0
  578. package/codeyam-cli/src/webserver/build/client/assets/{search-DcAwD_Ln.js → search-BooqacKS.js} +2 -2
  579. package/codeyam-cli/src/webserver/build/client/assets/settings-BM0nbryO.js +1 -0
  580. package/codeyam-cli/src/webserver/build/client/assets/simulations-ovy6FjRY.js +1 -0
  581. package/codeyam-cli/src/webserver/build/client/assets/{terminal-DbEAHMbA.js → terminal-DHemCJIs.js} +3 -3
  582. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CAD5b1o_.js → triangle-alert-D87ekDl8.js} +2 -2
  583. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-Dk0Tciqg.js +1 -0
  584. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C8QvIe05.js +2 -0
  585. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-jkCytuYz.js +1 -0
  586. package/codeyam-cli/src/webserver/build/client/assets/useToast-BgqkixU9.js +1 -0
  587. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  588. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  589. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-CTJYMVFP.js +16 -0
  590. package/codeyam-cli/src/webserver/build/server/assets/index-CCth4Hgw.js +1 -0
  591. package/codeyam-cli/src/webserver/build/server/assets/init-UXl-3vVp.js +10 -0
  592. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  593. package/codeyam-cli/src/webserver/build/server/assets/server-build-DSW2mE30.js +741 -0
  594. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  595. package/codeyam-cli/src/webserver/build-info.json +5 -5
  596. package/codeyam-cli/src/webserver/devServer.js +39 -5
  597. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  598. package/codeyam-cli/src/webserver/editorProxy.js +1028 -0
  599. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  600. package/codeyam-cli/src/webserver/idleDetector.js +130 -0
  601. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  602. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  603. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  604. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  605. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  606. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +283 -0
  607. package/codeyam-cli/src/webserver/server.js +446 -1
  608. package/codeyam-cli/src/webserver/server.js.map +1 -1
  609. package/codeyam-cli/src/webserver/terminalServer.js +973 -0
  610. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  611. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  612. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  613. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  614. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  615. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  616. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  617. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  618. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  619. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  620. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  621. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  622. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  623. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  624. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  625. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  626. package/codeyam-cli/templates/codeyam-editor-claude.md +149 -0
  627. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  628. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  629. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  630. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  631. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  632. package/codeyam-cli/templates/editor-step-hook.py +368 -0
  633. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +288 -0
  634. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  635. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  636. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +15 -0
  637. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  638. package/codeyam-cli/templates/expo-react-native/app.json +29 -0
  639. package/codeyam-cli/templates/expo-react-native/babel.config.js +10 -0
  640. package/codeyam-cli/templates/expo-react-native/gitignore +14 -0
  641. package/codeyam-cli/templates/expo-react-native/global.css +10 -0
  642. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  643. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  644. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  645. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  646. package/codeyam-cli/templates/expo-react-native/package.json +54 -0
  647. package/codeyam-cli/templates/expo-react-native/patches/expo-modules-autolinking+3.0.24.patch +29 -0
  648. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  649. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  650. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  651. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  652. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  653. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  654. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  655. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  656. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  657. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  658. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  659. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  660. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  661. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  662. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  663. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  664. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  665. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  666. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  667. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  668. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  669. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  670. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  671. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  672. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  673. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  674. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  675. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  676. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  677. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  678. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +140 -0
  679. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  680. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  681. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  682. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  683. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  684. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  685. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  686. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  687. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  688. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  689. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  690. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  691. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  692. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  693. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  694. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  695. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  696. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  697. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  698. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  699. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  700. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  701. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  702. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  703. package/codeyam-cli/templates/rule-notification-hook.py +44 -17
  704. package/codeyam-cli/templates/rule-reflection-hook.py +24 -4
  705. package/codeyam-cli/templates/rules-instructions.md +34 -88
  706. package/codeyam-cli/templates/seed-adapters/supabase.ts +374 -0
  707. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  708. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +244 -0
  709. package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
  710. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  711. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  712. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  713. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  714. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  715. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  716. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  717. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  718. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  719. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  720. package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -2
  721. package/package.json +22 -14
  722. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
  723. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  724. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  725. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  726. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  727. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  728. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  729. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  730. package/packages/ai/src/lib/completionCall.js +10 -7
  731. package/packages/ai/src/lib/completionCall.js.map +1 -1
  732. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +261 -13
  733. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  734. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  735. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  736. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  737. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  738. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  739. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  740. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  741. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  742. package/packages/ai/src/lib/generateEntityScenarioData.js +57 -2
  743. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  744. package/packages/ai/src/lib/generateExecutionFlows.js +0 -11
  745. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  746. package/packages/analyze/index.js +1 -1
  747. package/packages/analyze/index.js.map +1 -1
  748. package/packages/analyze/src/lib/ProjectAnalyzer.js +13 -4
  749. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  750. package/packages/analyze/src/lib/asts/index.js +4 -2
  751. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  752. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  753. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  754. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  755. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  756. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -27
  757. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  758. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
  759. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  760. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +12 -2
  761. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  762. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  763. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  764. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  765. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  766. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  767. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  768. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  769. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  770. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  771. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  772. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  773. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  774. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
  775. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
  776. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +185 -28
  777. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  778. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  779. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  780. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1386 -1197
  781. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  782. package/packages/database/index.js +1 -0
  783. package/packages/database/index.js.map +1 -1
  784. package/packages/database/src/lib/kysely/db.js +5 -0
  785. package/packages/database/src/lib/kysely/db.js.map +1 -1
  786. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  787. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  788. package/packages/database/src/lib/loadAnalysis.js +7 -1
  789. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  790. package/packages/database/src/lib/loadCommits.js +23 -13
  791. package/packages/database/src/lib/loadCommits.js.map +1 -1
  792. package/packages/database/src/lib/loadEntities.js +0 -6
  793. package/packages/database/src/lib/loadEntities.js.map +1 -1
  794. package/packages/database/src/lib/loadEntity.js +5 -5
  795. package/packages/database/src/lib/loadEntity.js.map +1 -1
  796. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  797. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  798. package/packages/database/src/lib/updateCommitMetadata.js +76 -90
  799. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  800. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  801. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  802. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  803. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  804. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  805. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  806. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  807. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  808. package/packages/types/src/enums/ProjectFramework.js +2 -0
  809. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  810. package/packages/utils/src/lib/fs/rsyncCopy.js +28 -3
  811. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  812. package/scripts/npm-post-install.cjs +34 -0
  813. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -120
  814. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  815. package/codeyam-cli/src/commands/list.js +0 -31
  816. package/codeyam-cli/src/commands/list.js.map +0 -1
  817. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  818. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  819. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  820. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  821. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-jNYXRRNI.js +0 -1
  822. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CvzqMxcu.js +0 -1
  823. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-EhOseatT.js +0 -34
  824. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-yjIHlOGa.js +0 -25
  825. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-Cq5o8jL4.js +0 -3
  826. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CwZrv-Ok.js +0 -1
  827. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CDpEprKa.js +0 -1
  828. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +0 -17
  829. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-DB3aFuEO.js +0 -51
  830. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-D1zB-pYc.js +0 -21
  831. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  832. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +0 -1
  833. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js +0 -6
  834. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CtYowLOt.js +0 -6
  835. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-9sMMAiWJ.js +0 -1
  836. package/codeyam-cli/src/webserver/build/client/assets/files-Co65J0s3.js +0 -1
  837. package/codeyam-cli/src/webserver/build/client/assets/git-BdHOxVfg.js +0 -15
  838. package/codeyam-cli/src/webserver/build/client/assets/globals-BSZfYCkU.css +0 -1
  839. package/codeyam-cli/src/webserver/build/client/assets/labs-BK0C1H1T.js +0 -1
  840. package/codeyam-cli/src/webserver/build/client/assets/manifest-040dab1c.js +0 -1
  841. package/codeyam-cli/src/webserver/build/client/assets/memory-UIDVz141.js +0 -92
  842. package/codeyam-cli/src/webserver/build/client/assets/root-D1WadSdf.js +0 -62
  843. package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +0 -1
  844. package/codeyam-cli/src/webserver/build/client/assets/simulations-DVNJVQgD.js +0 -1
  845. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BqgrAzs3.js +0 -1
  846. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DAFqfEDH.js +0 -2
  847. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DZlYx2c4.js +0 -1
  848. package/codeyam-cli/src/webserver/build/client/assets/useToast-ihdMtlf6.js +0 -1
  849. package/codeyam-cli/src/webserver/build/server/assets/index-B3dE0r28.js +0 -1
  850. package/codeyam-cli/src/webserver/build/server/assets/server-build-DYbfdxa3.js +0 -273
  851. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  852. package/scripts/finalize-analyzer.cjs +0 -13
  853. /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
  854. /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
  855. /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
  856. /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
  857. /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
  858. /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
@@ -129,19 +129,6 @@ export default function generateExecutionFlows({
129
129
  fullToShortPathMap[fullPath] = shortPath;
130
130
  }
131
131
 
132
- console.log(
133
- `[generateExecutionFlows] ${entity.name}: attributesMap has ${Object.keys(resolvedAttributesMap).length} keys, fullToShortPathMap has ${Object.keys(fullToShortPathMap).length} entries`,
134
- );
135
- console.log(
136
- `[generateExecutionFlows] ${entity.name}: attributesMap keys: [${Object.keys(resolvedAttributesMap).join(', ')}]`,
137
- );
138
- console.log(
139
- `[generateExecutionFlows] ${entity.name}: fullToShortPathMap: ${JSON.stringify(fullToShortPathMap)}`,
140
- );
141
- console.log(
142
- `[generateExecutionFlows] ${entity.name}: equivalentSignatureVariables: ${JSON.stringify(equivalentSignatureVariables)}`,
143
- );
144
-
145
132
  // Get pre-computed conditional data from metadata
146
133
  const conditionalUsages: Record<string, ConditionalUsage[]> =
147
134
  entity.metadata?.isolatedDataStructure?.conditionalUsages ?? {};
@@ -186,26 +173,6 @@ export default function generateExecutionFlows({
186
173
  }
187
174
  }
188
175
 
189
- console.log(
190
- `[generateExecutionFlows] ${entity.name}: conditionalUsages keys: [${Object.keys(conditionalUsages).join(', ')}]`,
191
- );
192
- console.log(
193
- `[generateExecutionFlows] ${entity.name}: conditionalUsages sourceDataPaths: ${JSON.stringify(
194
- Object.fromEntries(
195
- Object.entries(conditionalUsages).map(([k, v]) => [
196
- k,
197
- (v as any[]).map((u: any) => u.sourceDataPath ?? '(none)'),
198
- ]),
199
- ),
200
- )}`,
201
- );
202
- console.log(
203
- `[generateExecutionFlows] ${entity.name}: compoundConditionals count: ${compoundConditionals.length}`,
204
- );
205
- console.log(
206
- `[generateExecutionFlows] ${entity.name}: sourceEquivalencies keys count: ${Object.keys(mergedDataStructure.sourceEquivalencies ?? {}).length}`,
207
- );
208
-
209
176
  const conditionalsBasedFlows = generateExecutionFlowsFromConditionals({
210
177
  conditionalUsages,
211
178
  compoundConditionals,
@@ -36,7 +36,10 @@ export { getAllEntityNodes } from './src/lib/asts/sourceFiles/getAllEntityNodes'
36
36
  export { default as fileAnalyzerFromCode } from './src/lib/files/fileAnalyzerFromCode';
37
37
 
38
38
  export { default as isolateDataStructure } from './src/lib/files/scenarios/isolateDataStructure';
39
- export { default as mergeInDependentDataStructure } from './src/lib/files/scenarios/mergeInDependentDataStructure';
39
+ export {
40
+ default as mergeInDependentDataStructure,
41
+ DataStructureTimeoutError,
42
+ } from './src/lib/files/scenarios/mergeInDependentDataStructure';
40
43
  export { default as mergeValidatedDataStructures } from './src/lib/files/scenarios/mergeValidatedDataStructures';
41
44
 
42
45
  export { discoverDirectDependencies } from './src/lib/files/analyze/dependencyResolver';
@@ -46,6 +46,12 @@ export class ProjectAnalyzer {
46
46
  lib.asts.createProgramFromTsConfigPath(configPath, excludePatterns),
47
47
  );
48
48
 
49
+ if (this.programs.length === 0) {
50
+ throw new Error(
51
+ 'No TypeScript programs could be created — no tsconfig.json found',
52
+ );
53
+ }
54
+
49
55
  // Primary program is the first one (usually root) for backward compatibility
50
56
  this.program = this.programs[0];
51
57
  this.typeChecker = this.program.getTypeChecker();
@@ -334,17 +340,23 @@ export class ProjectAnalyzer {
334
340
  * Refresh the TypeScript program to pick up file changes
335
341
  */
336
342
  refreshProgram(): void {
337
- // Memory logging: Capture state before refresh
338
- const memBefore = process.memoryUsage();
339
-
340
343
  // Apply the same unapprovedPaths filtering when refreshing
341
344
  const excludePatterns =
342
345
  this.project.metadata?.unapprovedPaths?.filter(Boolean) || [];
343
346
 
344
- // Refresh all programs
345
- this.programs = this.tsConfigPaths.map((configPath) =>
346
- lib.asts.createProgramFromTsConfigPath(configPath, excludePatterns),
347
- );
347
+ // Release old programs and caches BEFORE creating new ones to reduce peak memory.
348
+ // Without this, both old (~1.7GB) and new (~1.7GB) programs coexist during creation,
349
+ // causing OOM on monorepos with multiple tsconfigs.
350
+ this.programs = [];
351
+ this.sourceFileByPath.clear();
352
+ this.typeCheckerByPath.clear();
353
+
354
+ // Create programs one at a time so each old program can be GC'd before the next
355
+ for (const configPath of this.tsConfigPaths) {
356
+ this.programs.push(
357
+ lib.asts.createProgramFromTsConfigPath(configPath, excludePatterns),
358
+ );
359
+ }
348
360
 
349
361
  // Update primary program for backward compatibility
350
362
  this.program = this.programs[0];
@@ -95,8 +95,13 @@ export function createProgramFromTsConfigPath(
95
95
  throw new Error('Could not parse tsconfig.json');
96
96
  }
97
97
 
98
- // Filter file names based on exclude patterns to reduce memory usage
99
- let fileNames = parsedCommandLine.fileNames;
98
+ // Always filter out node_modules from root files to prevent OOM on large projects.
99
+ // This only removes them as root compilation targets — TypeScript's module resolution
100
+ // still follows imports into node_modules for type info when processing source files.
101
+ let fileNames = parsedCommandLine.fileNames.filter(
102
+ (f) => !f.includes('/node_modules/'),
103
+ );
104
+
100
105
  if (excludePatterns && excludePatterns.length > 0) {
101
106
  const regexPatterns = excludePatterns
102
107
  .map((pattern) => {
@@ -39,6 +39,7 @@ export function getNodeType(node: ts.Node, sourceFile: ts.SourceFile) {
39
39
  case 'StringLiteral':
40
40
  case 'NumericLiteral':
41
41
  case 'ObjectLiteralExpression':
42
+ case 'ArrayLiteralExpression':
42
43
  nodeType = 'data';
43
44
  break;
44
45
  case 'TypeAliasDeclaration':
@@ -289,18 +289,44 @@ export default async function prepareEntityDataStructures(
289
289
  skipWorkerPool();
290
290
  }
291
291
 
292
+ awsLogDebugLevel(
293
+ 1,
294
+ `Preparing data structures for ${entities.length} entities (${entitiesNeedingGeneration} need generation)...`,
295
+ );
296
+ const startTime = Date.now();
297
+ let completedCount = 0;
298
+
299
+ // Wrap processEntity to track progress
300
+ const processEntityWithProgress = async (entity: Entity) => {
301
+ await processEntity(entity);
302
+ completedCount++;
303
+ // Emit progress every 10 entities
304
+ if (completedCount % 10 === 0) {
305
+ awsLogDebugLevel(
306
+ 1,
307
+ `Preparing data structures... (${completedCount}/${entities.length})`,
308
+ );
309
+ }
310
+ };
311
+
292
312
  const sequential =
293
313
  DEBUG_SEQUENTIAL_EXECUTION || options.sequentialDataStructurePrep;
294
314
 
295
315
  if (sequential) {
296
316
  // Sequential execution for debugging - process one entity at a time
297
317
  for (const entity of entities) {
298
- await processEntity(entity);
318
+ await processEntityWithProgress(entity);
299
319
  }
300
320
  } else {
301
321
  // Parallel execution for speed
302
- await Promise.all(entities.map(processEntity));
322
+ await Promise.all(entities.map(processEntityWithProgress));
303
323
  }
324
+
325
+ const elapsed = Date.now() - startTime;
326
+ awsLogDebugLevel(
327
+ 1,
328
+ `Data structure preparation complete: ${entities.length} entities in ${elapsed}ms`,
329
+ );
304
330
  }
305
331
 
306
332
  /**
@@ -8,13 +8,11 @@ import {
8
8
  import { transformationTracer } from '../scenarios/TransformationTracer';
9
9
  import { getFileByPathSafe } from '../../utils/getFileByPath';
10
10
  import trackEntityCircularDependencies from './trackEntityCircularDependencies';
11
- import validateDependencyAnalyses from './validateDependencyAnalyses';
12
11
  import extractClassMethods from './analyzeEntities/extractClassMethods';
13
12
  import prepareDataStructures from './analyzeEntities/prepareDataStructures';
14
13
  import { strategies, asyncComplex } from './analyzeEntities/strategies';
15
14
  import {
16
15
  updateCommitMetadata,
17
- updateFreshAnalysisMetadata,
18
16
  updateFreshAnalysisStatus,
19
17
  upsertAnalyses,
20
18
  upsertEntities,
@@ -263,40 +261,11 @@ export default async function analyzeEntities({
263
261
  }
264
262
  }
265
263
 
266
- awsLog(`CodeYam: analyzeEntities: Running patch-up dependency validation`);
267
- for (const analysis of analyses) {
268
- if (!analysis.entity) {
269
- throw new Error(
270
- `CodeYam: analyzeEntities: Internal error: Analysis entity is missing for ${analysis.filePath}:${analysis.entityName}.`,
271
- );
272
- }
273
-
274
- // Validate dependencies, which modifies analysis.metadata.dependentAnalyses
275
- validateDependencyAnalyses({ analysis, entity: analysis.entity, context });
276
-
277
- // Carefully update only the metadata field
278
- if (analysis.id) {
279
- const updatedMetadata = await updateFreshAnalysisMetadata(
280
- analysis.id,
281
- (metadata) => {
282
- metadata.dependentAnalyses =
283
- analysis.metadata?.dependentAnalyses || [];
284
- },
285
- );
286
-
287
- if (updatedMetadata) {
288
- analysis.metadata = updatedMetadata;
289
- } else {
290
- console.warn(
291
- `CodeYam: analyzeEntities: Failed to update metadata for analysis ${analysis.id}`,
292
- );
293
- }
294
- } else {
295
- console.warn(
296
- `CodeYam: analyzeEntities: Analysis ${analysis.filePath}:${analysis.entityName} has no ID, skipping metadata update`,
297
- );
298
- }
299
- }
264
+ // NOTE: patch-up dependency validation loop was removed here.
265
+ // analysis.metadata.dependentAnalyses is already populated by validateDependencyAnalyses
266
+ // inside analyzeEntity() (Call #1) and persisted via upsertAnalysesWithScenarios at the
267
+ // end of analyzeEntity, then again by upsertAnalyses in analyzeOneEntityKey. Re-validating
268
+ // every analysis from scratch was redundant work — especially costly for large projects.
300
269
 
301
270
  const newlyReady = await updateReadyAnalyses();
302
271
  if (newlyReady.length > 0) {
@@ -310,7 +279,15 @@ export default async function analyzeEntities({
310
279
  );
311
280
 
312
281
  // Flush transformation trace if tracing is enabled
313
- transformationTracer.flush();
282
+ // Wrapped in try/catch because trace data can exceed V8's max string length
283
+ // for large projects, and we must not crash the analysis process over tracing.
284
+ try {
285
+ transformationTracer.flush();
286
+ } catch (e) {
287
+ console.warn(
288
+ `CodeYam Warning: Failed to flush transformation trace: ${e.message}`,
289
+ );
290
+ }
314
291
 
315
292
  return analyses;
316
293
 
@@ -100,12 +100,6 @@ export function getCandidatesReadyForCapture(
100
100
  continue;
101
101
  }
102
102
 
103
- // Skip notExported entities - they can't be imported into the simulation
104
- // environment and will always fail capture. Don't mark them as ready.
105
- if (candidate.entity?.metadata?.notExported) {
106
- continue;
107
- }
108
-
109
103
  // Get all transitive dependencies
110
104
  const candidateKey = `${candidate.filePath}:${candidate.entityName}`;
111
105
  const { missingDependencies } = getTransitiveDependencies(
@@ -94,12 +94,15 @@ export default async function findOrCreateEntity({
94
94
  try {
95
95
  code = fileAnalyzer.getEntityCode(localEntityName);
96
96
  } catch (e) {
97
- console.log('CodeYam Error: could not get entity code', {
98
- filePath: file.path,
99
- localEntityName,
100
- entityName,
101
- error: e,
102
- });
97
+ console.log(
98
+ `CodeYam Error: Could not extract code for "${localEntityName}" from ${file.path} — export not found in file, may have been moved or renamed during refactoring`,
99
+ {
100
+ filePath: file.path,
101
+ localEntityName,
102
+ entityName,
103
+ error: String(e),
104
+ },
105
+ );
103
106
  return null;
104
107
  }
105
108
  const sha = generateSha(file.path, entityName, code);
@@ -108,6 +111,7 @@ export default async function findOrCreateEntity({
108
111
  entity = await loadEntity({
109
112
  projectId: project.id,
110
113
  sha,
114
+ silent: true, // Entity not existing yet is the normal path — we create it below
111
115
  });
112
116
  }
113
117
 
@@ -138,6 +142,18 @@ export default async function findOrCreateEntity({
138
142
  break;
139
143
  }
140
144
  }
145
+
146
+ // Mark previous versions as superseded
147
+ const entitiesToSupersede = previousEntities.filter(
148
+ (e) => !e.metadata?.isSuperseded,
149
+ );
150
+ if (entitiesToSupersede.length > 0) {
151
+ for (const prev of entitiesToSupersede) {
152
+ prev.metadata = prev.metadata || {};
153
+ prev.metadata.isSuperseded = true;
154
+ }
155
+ await upsertEntities(entitiesToSupersede);
156
+ }
141
157
  }
142
158
 
143
159
  entity = {
@@ -111,18 +111,15 @@ export default async function gatherEntityMap({
111
111
  });
112
112
 
113
113
  if (!importedEntity) {
114
- console.log(
115
- `CodeYam Error: Entity not found while gathering entity map: ${importedFile.path}: ${importedExportName}`,
116
- {
117
- entityName: entity.name,
118
- entityFilePath: entity.filePath,
119
- importedFilePath: importedFile.path,
120
- importedExportName: importedExportName,
121
- },
122
- );
123
- throw new Error(
124
- `Entity not found while gathering entity map: ${importedFile.path}: ${importedExport.name}`,
125
- );
114
+ const msg = [
115
+ `Entity not found: "${importedExportName}" in ${importedFile.path}`,
116
+ ` While analyzing dependencies of: ${entity.name} (${entity.filePath})`,
117
+ ` This usually means "${importedExportName}" was moved or renamed but`,
118
+ ` ${entity.filePath} still has stale import metadata referencing the old location.`,
119
+ ` Fix: Update or re-analyze ${entity.filePath} so its importedExports reflect current code.`,
120
+ ].join('\n');
121
+ console.log(`CodeYam Error: ${msg}`);
122
+ throw new Error(msg);
126
123
  }
127
124
 
128
125
  // Add newly created entity to context
@@ -1,5 +1,6 @@
1
1
  import type { Entity } from '~codeyam/types';
2
2
  import { AnalysisContext } from '../../analysisContext';
3
+ import { awsLogDebugLevel } from '~codeyam/utils';
3
4
 
4
5
  /**
5
6
  * Optimized version that processes multiple root entities in a single traversal.
@@ -16,6 +17,8 @@ export default function trackEntityCircularDependencies(
16
17
  try {
17
18
  const allEntities = new Set<Entity>();
18
19
  const globalVisited = new Set<string>(); // Track by SHA to avoid duplicate traversals
20
+ let circularCount = 0;
21
+ const startTime = Date.now();
19
22
 
20
23
  // Process each root entity, but skip if already processed
21
24
  for (const rootEntity of rootEntities) {
@@ -32,8 +35,26 @@ export default function trackEntityCircularDependencies(
32
35
  globalVisited,
33
36
  allEntities,
34
37
  );
38
+
39
+ // Emit periodic progress for large projects
40
+ if (allEntities.size % 100 === 0 && allEntities.size > 0) {
41
+ awsLogDebugLevel(
42
+ 1,
43
+ `Mapping dependencies... (${allEntities.size} entities discovered)`,
44
+ );
45
+ }
35
46
  }
36
47
 
48
+ const elapsed = Date.now() - startTime;
49
+ // Count circular deps
50
+ for (const entity of allEntities) {
51
+ if (entity.metadata?.hasCircularDependency) circularCount++;
52
+ }
53
+ awsLogDebugLevel(
54
+ 1,
55
+ `Dependency mapping complete: ${allEntities.size} entities, ${circularCount} circular, ${elapsed}ms`,
56
+ );
57
+
37
58
  return allEntities;
38
59
  } catch (e) {
39
60
  console.log(
@@ -6,6 +6,20 @@ import type {
6
6
  ReadonlyEntity,
7
7
  } from '~codeyam/types';
8
8
  import { ImmutableAnalysisContext } from '../../analysisContext';
9
+ import { awsLogDebugLevel } from '~codeyam/utils';
10
+
11
+ /**
12
+ * Tracks statistics across the recursive dependency validation.
13
+ * Shared by all recursive calls to provide a complete picture.
14
+ */
15
+ interface ValidationStats {
16
+ totalVisited: number;
17
+ skippedDuplicate: number;
18
+ skippedMissing: number;
19
+ skippedTrivial: number;
20
+ maxDepth: number;
21
+ startTime: number;
22
+ }
9
23
 
10
24
  export default function validateDependencyAnalyses({
11
25
  analysis,
@@ -13,12 +27,18 @@ export default function validateDependencyAnalyses({
13
27
  entity,
14
28
  context,
15
29
  dependentAnalyses,
30
+ _depth = 0,
31
+ _stats,
16
32
  }: {
17
33
  analysis?: Analysis;
18
34
  readonlyAnalysis?: ReadonlyAnalysis;
19
35
  entity: ReadonlyEntity;
20
36
  context: ImmutableAnalysisContext;
21
37
  dependentAnalyses?: ReadonlyAnalysisMap;
38
+ /** Recursion depth (internal, do not set) */
39
+ _depth?: number;
40
+ /** Shared stats tracker (internal, do not set) */
41
+ _stats?: ValidationStats;
22
42
  }): { dependentAnalyses: ReadonlyAnalysisMap } {
23
43
  if (!readonlyAnalysis) readonlyAnalysis = analysis;
24
44
  if (!readonlyAnalysis) {
@@ -32,6 +52,28 @@ export default function validateDependencyAnalyses({
32
52
  );
33
53
  }
34
54
 
55
+ // Initialize stats on the root call
56
+ const isRootCall = _depth === 0;
57
+ if (!_stats) {
58
+ _stats = {
59
+ totalVisited: 0,
60
+ skippedDuplicate: 0,
61
+ skippedMissing: 0,
62
+ skippedTrivial: 0,
63
+ maxDepth: 0,
64
+ startTime: Date.now(),
65
+ };
66
+ }
67
+ if (_depth > _stats.maxDepth) _stats.maxDepth = _depth;
68
+
69
+ const importCount = entity.metadata?.importedExports?.length ?? 0;
70
+ if (isRootCall && importCount > 0) {
71
+ awsLogDebugLevel(
72
+ 2,
73
+ `validateDeps: ${entity.name} has ${importCount} imports to validate`,
74
+ );
75
+ }
76
+
35
77
  if (
36
78
  dependentAnalyses &&
37
79
  dependentAnalyses[readonlyAnalysis.filePath]?.[
@@ -45,6 +87,12 @@ export default function validateDependencyAnalyses({
45
87
  })
46
88
  ) {
47
89
  // already processed this analysis
90
+ if (isRootCall) {
91
+ awsLogDebugLevel(
92
+ 2,
93
+ `validateDeps: ${entity.name} already fully processed (cache hit)`,
94
+ );
95
+ }
48
96
  return { dependentAnalyses };
49
97
  }
50
98
 
@@ -69,9 +117,20 @@ export default function validateDependencyAnalyses({
69
117
 
70
118
  // if the entity has duplicate dependencies, handle gracefully
71
119
  if (dependentAnalyses[dependencyFilePath]?.[dependencyName]) {
120
+ _stats.skippedDuplicate++;
72
121
  continue;
73
122
  }
74
123
 
124
+ _stats.totalVisited++;
125
+
126
+ // Emit periodic progress so the spinner stays alive for large trees
127
+ if (_stats.totalVisited % 50 === 0) {
128
+ awsLogDebugLevel(
129
+ 1,
130
+ `Validating dependencies... (${_stats.totalVisited} resolved, depth ${_depth})`,
131
+ );
132
+ }
133
+
75
134
  // Check if dependency analysis exists in context
76
135
  const dependentAnalysis = context.getAnalysis(
77
136
  dependencyFilePath,
@@ -86,21 +145,20 @@ export default function validateDependencyAnalyses({
86
145
  );
87
146
 
88
147
  if (!dependentEntity) {
89
- // console.warn(
90
- // `CodeYam: validateDependencyAnalyses: Missing dependent entity ${dependencyFilePath}:${dependencyName} for ${entity.filePath}:${entity.name}. This is likely a bug.`,
91
- // );
148
+ _stats.skippedMissing++;
92
149
  continue;
93
150
  }
94
151
 
95
152
  // ignore trivial missing dependencies
96
- if (!['library', 'visual'].includes(dependentEntity.entityType)) continue;
153
+ if (!['library', 'visual'].includes(dependentEntity.entityType)) {
154
+ _stats.skippedTrivial++;
155
+ continue;
156
+ }
97
157
 
98
158
  if (!dependentEntity?.metadata?.hasCircularDependency) {
99
159
  // TODO: This no longer seems to happen thanks to fixes elsewhere, but leave the warning
100
- // console.warn(
101
- // `CodeYam: validateDependencyAnalyses: Missing analysis for dependency ${entity.filePath}:${entity.name} -> ${dependencyFilePath}:${dependencyName}, should be marked as having circular dependencies.`,
102
- // );
103
160
  }
161
+ _stats.skippedMissing++;
104
162
  continue;
105
163
  }
106
164
 
@@ -136,9 +194,6 @@ export default function validateDependencyAnalyses({
136
194
  if (analysis) {
137
195
  // Track dependency relationship in analysis metadata
138
196
  if (!analysis.metadata.dependentAnalyses.includes(dependentAnalysis.id)) {
139
- // console.log(
140
- // `CodeYam: validateDependencyAnalyses: Establishing dependency ${analysis.filePath}:${analysis.entityName} -> ${dependentAnalysis.filePath}:${dependentAnalysis.entityName}.`,
141
- // );
142
197
  analysis.metadata.dependentAnalyses.push(dependentAnalysis.id);
143
198
  }
144
199
  }
@@ -152,9 +207,26 @@ export default function validateDependencyAnalyses({
152
207
  entity: dependentEntity,
153
208
  context: context,
154
209
  dependentAnalyses,
210
+ _depth: _depth + 1,
211
+ _stats,
155
212
  });
156
213
  }
157
214
  }
158
215
 
216
+ // Log summary on root call completion
217
+ if (isRootCall) {
218
+ const elapsed = Date.now() - _stats.startTime;
219
+ const totalDeps = Object.values(dependentAnalyses).reduce(
220
+ (sum, fileMap) => sum + Object.keys(fileMap).length,
221
+ 0,
222
+ );
223
+ awsLogDebugLevel(
224
+ 1,
225
+ `Dependency validation complete for ${entity.name}: ${totalDeps} dependencies resolved, ` +
226
+ `${_stats.skippedDuplicate} duplicates skipped, ${_stats.skippedMissing} missing, ` +
227
+ `${_stats.skippedTrivial} trivial, max depth ${_stats.maxDepth}, ${elapsed}ms`,
228
+ );
229
+ }
230
+
159
231
  return { dependentAnalyses };
160
232
  }
@@ -91,6 +91,10 @@ export default async function analyzeChange({
91
91
  // Structure phase: CPU-intensive, serialize via semaphore if provided
92
92
  if (!steps || steps.includes(Step.Structure)) {
93
93
  if (structureSemaphore) {
94
+ awsLogDebugLevel(
95
+ 1,
96
+ `Waiting for structure semaphore for ${entity.name}...`,
97
+ );
94
98
  await structureSemaphore.acquire();
95
99
  }
96
100
  try {
@@ -58,6 +58,10 @@ export default async function analyzeInitial({
58
58
  // Structure phase: CPU-intensive, serialize via semaphore if provided
59
59
  if (!steps || steps.includes(Step.Structure)) {
60
60
  if (structureSemaphore) {
61
+ awsLogDebugLevel(
62
+ 1,
63
+ `Waiting for structure semaphore for ${entity.name}...`,
64
+ );
61
65
  await structureSemaphore.acquire();
62
66
  }
63
67
  try {
@@ -3,6 +3,8 @@ import { ProjectAnalyzer } from '../ProjectAnalyzer';
3
3
  import { generateSha } from '~codeyam/database';
4
4
  import { isNextRoute } from '~codeyam/utils';
5
5
 
6
+ const warnedLayoutPaths = new Set<string>();
7
+
6
8
  export default function analyzeNextRoute(
7
9
  file: File,
8
10
  projectAnalyzer: ProjectAnalyzer,
@@ -56,9 +58,12 @@ export default function analyzeNextRoute(
56
58
 
57
59
  // Ensure entities array exists before trying to use it
58
60
  if (!layout.entities) {
59
- console.log(
60
- `CodeYam Warning: layout.entities not populated for ${layout.path}, skipping implicit dependency`,
61
- );
61
+ if (!warnedLayoutPaths.has(layout.path)) {
62
+ warnedLayoutPaths.add(layout.path);
63
+ console.log(
64
+ `CodeYam Warning: layout.entities not populated for ${layout.path}, skipping implicit dependency`,
65
+ );
66
+ }
62
67
  return;
63
68
  }
64
69