@codeyam/codeyam-cli 0.1.0-staging.73a4bf4 → 0.1.0-staging.78c1cad

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (864) 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/dataStructureChunking.ts +15 -6
  16. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +78 -2
  17. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +96 -33
  18. package/analyzer-template/packages/analyze/index.ts +4 -1
  19. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +19 -7
  20. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  21. package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
  22. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +28 -2
  23. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -37
  24. package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
  25. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +22 -6
  26. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  27. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  28. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +82 -10
  29. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +4 -0
  30. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +4 -0
  31. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  32. package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
  33. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +322 -58
  34. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  35. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1707 -1466
  36. package/analyzer-template/packages/aws/package.json +10 -10
  37. package/analyzer-template/packages/database/index.ts +1 -0
  38. package/analyzer-template/packages/database/package.json +4 -4
  39. package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
  40. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +164 -0
  41. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +25 -15
  42. package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
  43. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  44. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  45. package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
  46. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +94 -143
  47. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
  48. package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
  49. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
  50. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
  51. package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
  52. package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
  53. package/analyzer-template/packages/github/dist/database/index.js +1 -0
  54. package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
  55. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
  56. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
  57. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
  58. package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
  59. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +29 -0
  60. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
  61. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  62. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  63. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
  64. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
  65. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  66. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
  67. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  68. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
  69. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
  70. package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
  71. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  72. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  73. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  74. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  75. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  76. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  77. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  78. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
  79. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  80. package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  81. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  82. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +76 -90
  83. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  84. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  86. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  87. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
  88. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  89. package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  90. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
  91. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  92. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  93. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
  94. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  95. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  96. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  97. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  98. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  99. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  100. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  101. package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
  103. package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
  104. package/analyzer-template/packages/github/package.json +1 -1
  105. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  106. package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
  107. package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
  108. package/analyzer-template/packages/ui-components/package.json +1 -1
  109. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  110. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  111. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  112. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  113. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
  114. package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
  115. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
  116. package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
  117. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  118. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  119. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +28 -3
  120. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  121. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +41 -2
  122. package/analyzer-template/playwright/captureFromUrl.ts +89 -82
  123. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  124. package/analyzer-template/project/constructMockCode.ts +168 -48
  125. package/analyzer-template/project/orchestrateCapture.ts +4 -1
  126. package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
  127. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  128. package/analyzer-template/project/start.ts +3 -0
  129. package/analyzer-template/project/startScenarioCapture.ts +9 -0
  130. package/analyzer-template/project/writeClientLogRoute.ts +125 -0
  131. package/analyzer-template/project/writeMockDataTsx.ts +17 -0
  132. package/analyzer-template/project/writeScenarioComponents.ts +110 -17
  133. package/analyzer-template/tsconfig.json +13 -1
  134. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  135. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  136. package/background/src/lib/virtualized/project/constructMockCode.js +143 -39
  137. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  138. package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
  139. package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
  140. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
  141. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  142. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  143. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  144. package/background/src/lib/virtualized/project/start.js +2 -0
  145. package/background/src/lib/virtualized/project/start.js.map +1 -1
  146. package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
  147. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  148. package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
  149. package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
  150. package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
  151. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  152. package/background/src/lib/virtualized/project/writeScenarioComponents.js +83 -12
  153. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  154. package/codeyam-cli/scripts/apply-setup.js +208 -11
  155. package/codeyam-cli/scripts/apply-setup.js.map +1 -1
  156. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  157. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  158. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  159. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  160. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  161. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  162. package/codeyam-cli/src/cli.js +56 -25
  163. package/codeyam-cli/src/cli.js.map +1 -1
  164. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  165. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  166. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  167. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  168. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  169. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  170. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  171. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  172. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  173. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  174. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  175. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  176. package/codeyam-cli/src/commands/analyze.js +17 -7
  177. package/codeyam-cli/src/commands/analyze.js.map +1 -1
  178. package/codeyam-cli/src/commands/default.js +14 -2
  179. package/codeyam-cli/src/commands/default.js.map +1 -1
  180. package/codeyam-cli/src/commands/editor.js +5923 -0
  181. package/codeyam-cli/src/commands/editor.js.map +1 -0
  182. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  183. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  184. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  185. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  186. package/codeyam-cli/src/commands/init.js +109 -45
  187. package/codeyam-cli/src/commands/init.js.map +1 -1
  188. package/codeyam-cli/src/commands/memory.js +89 -75
  189. package/codeyam-cli/src/commands/memory.js.map +1 -1
  190. package/codeyam-cli/src/commands/telemetry.js +37 -0
  191. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  192. package/codeyam-cli/src/data/designSystems.js +27 -0
  193. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  194. package/codeyam-cli/src/data/techStacks.js +77 -0
  195. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  196. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  197. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  198. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  199. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  200. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  201. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  202. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +181 -0
  203. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  204. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +4024 -0
  205. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  206. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  207. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  208. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  209. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  210. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  211. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  212. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  213. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  214. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  215. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  216. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  217. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  218. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +381 -0
  219. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  220. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  221. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  222. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  223. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  224. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  225. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  226. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  227. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  228. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  229. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  230. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  231. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  232. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  233. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  234. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +361 -0
  235. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  236. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  237. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  238. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  239. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  240. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +291 -0
  241. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  242. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1768 -0
  243. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  244. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +329 -0
  245. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  246. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  247. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  248. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  249. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  250. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  251. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  252. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +2121 -0
  253. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  254. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  255. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  256. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  257. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  258. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +122 -0
  259. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  260. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  261. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  262. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
  263. package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -0
  264. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  265. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  266. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
  267. package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
  268. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  269. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  270. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  271. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  272. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  273. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  274. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +284 -0
  275. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  276. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  277. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  278. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +672 -0
  279. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  280. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  281. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  282. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +51 -4
  283. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  284. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  285. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  286. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  287. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  288. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  289. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  290. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +148 -0
  291. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  292. package/codeyam-cli/src/utils/analysisRunner.js +39 -8
  293. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  294. package/codeyam-cli/src/utils/analyzer.js +19 -0
  295. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  296. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  297. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  298. package/codeyam-cli/src/utils/backgroundServer.js +120 -45
  299. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  300. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  301. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  302. package/codeyam-cli/src/utils/database.js +37 -2
  303. package/codeyam-cli/src/utils/database.js.map +1 -1
  304. package/codeyam-cli/src/utils/devModeEvents.js +40 -0
  305. package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
  306. package/codeyam-cli/src/utils/devServerState.js +71 -0
  307. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  308. package/codeyam-cli/src/utils/editorApi.js +95 -0
  309. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  310. package/codeyam-cli/src/utils/editorAudit.js +844 -0
  311. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  312. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  313. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  314. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  315. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  316. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  317. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  318. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  319. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  320. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  321. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  322. package/codeyam-cli/src/utils/editorEntityHelpers.js +144 -0
  323. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  324. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  325. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  326. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  327. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  328. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  329. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  330. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  331. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  332. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  333. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  334. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  335. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  336. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  337. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  338. package/codeyam-cli/src/utils/editorPreview.js +139 -0
  339. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  340. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  341. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  342. package/codeyam-cli/src/utils/editorScenarioSwitch.js +134 -0
  343. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  344. package/codeyam-cli/src/utils/editorScenarios.js +677 -0
  345. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  346. package/codeyam-cli/src/utils/editorSeedAdapter.js +462 -0
  347. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  348. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  349. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  350. package/codeyam-cli/src/utils/entityChangeStatus.js +394 -0
  351. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  352. package/codeyam-cli/src/utils/entityChangeStatus.server.js +227 -0
  353. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  354. package/codeyam-cli/src/utils/fileMetadata.js +5 -0
  355. package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
  356. package/codeyam-cli/src/utils/fileWatcher.js +63 -9
  357. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  358. package/codeyam-cli/src/utils/git.js +103 -0
  359. package/codeyam-cli/src/utils/git.js.map +1 -1
  360. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  361. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  362. package/codeyam-cli/src/utils/install-skills.js +71 -15
  363. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  364. package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
  365. package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
  366. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  367. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  368. package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
  369. package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
  370. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  371. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  372. package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
  373. package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
  374. package/codeyam-cli/src/utils/progress.js +2 -2
  375. package/codeyam-cli/src/utils/progress.js.map +1 -1
  376. package/codeyam-cli/src/utils/project.js +15 -5
  377. package/codeyam-cli/src/utils/project.js.map +1 -1
  378. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
  379. package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
  380. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  381. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  382. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
  383. package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
  384. package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
  385. package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
  386. package/codeyam-cli/src/utils/queue/job.js +105 -7
  387. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  388. package/codeyam-cli/src/utils/queue/manager.js +7 -6
  389. package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
  390. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  391. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  392. package/codeyam-cli/src/utils/requireSimulations.js +1 -1
  393. package/codeyam-cli/src/utils/requireSimulations.js.map +1 -1
  394. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  395. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  396. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +5 -6
  397. package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
  398. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +1 -1
  399. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -1
  400. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +0 -1
  401. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -1
  402. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +2 -4
  403. package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
  404. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +4 -6
  405. package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
  406. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +1 -1
  407. package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -1
  408. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
  409. package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
  410. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
  411. package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
  412. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
  413. package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
  414. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
  415. package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
  416. package/codeyam-cli/src/utils/rules/index.js +1 -0
  417. package/codeyam-cli/src/utils/rules/index.js.map +1 -1
  418. package/codeyam-cli/src/utils/rules/parser.js +14 -4
  419. package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
  420. package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
  421. package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
  422. package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
  423. package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
  424. package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
  425. package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
  426. package/codeyam-cli/src/utils/scenarioCoverage.js +77 -0
  427. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  428. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  429. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  430. package/codeyam-cli/src/utils/scenariosManifest.js +313 -0
  431. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  432. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  433. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  434. package/codeyam-cli/src/utils/serverState.js +57 -2
  435. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  436. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +83 -11
  437. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  438. package/codeyam-cli/src/utils/simulationGateMiddleware.js +175 -0
  439. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
  440. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  441. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  442. package/codeyam-cli/src/utils/syncMocksMiddleware.js +7 -26
  443. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  444. package/codeyam-cli/src/utils/telemetry.js +106 -0
  445. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  446. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  447. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  448. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  449. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  450. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  451. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  452. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  453. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  454. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  455. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  456. package/codeyam-cli/src/utils/testRunner.js +350 -0
  457. package/codeyam-cli/src/utils/testRunner.js.map +1 -0
  458. package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
  459. package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
  460. package/codeyam-cli/src/utils/versionInfo.js +46 -0
  461. package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
  462. package/codeyam-cli/src/utils/webappDetection.js +38 -3
  463. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  464. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +98 -0
  465. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  466. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  467. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  468. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +107 -0
  469. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  470. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
  471. package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
  472. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +647 -0
  473. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  474. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +315 -0
  475. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  476. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  477. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  478. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +86 -0
  479. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  480. package/codeyam-cli/src/webserver/app/lib/database.js +41 -27
  481. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  482. package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
  483. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  484. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  485. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  486. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  487. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  488. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  489. package/codeyam-cli/src/webserver/backgroundServer.js +141 -42
  490. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  491. package/codeyam-cli/src/webserver/bootstrap.js +11 -0
  492. package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
  493. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CLe80MMu.js +1 -0
  494. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-BLlhOa3C.js → EntityItem-Crt_KN_U.js} +5 -5
  495. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  496. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CzdG5I7z.js → EntityTypeIcon-CD7lGABo.js} +9 -9
  497. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CgTNOhnu.js +1 -0
  498. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DtYTSPL2.js +25 -0
  499. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-D3s1MFkb.js +3 -0
  500. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-B1LNGboS.js → LoadingDots-By5zI316.js} +1 -1
  501. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-B0Ll1DjK.js → LogViewer-CM5zg40N.js} +3 -3
  502. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-CQENLSrF.js +36 -0
  503. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-CVOvmCKb.js → ReportIssueModal-C2PLkej3.js} +4 -4
  504. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DanvyBPb.js +1 -0
  505. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-D54Mmpwi.js → ScenarioViewer-CefgqbCr.js} +3 -3
  506. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bc8BG-Lw.js +34 -0
  507. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  508. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-BA_Ry-rs.js +1 -0
  509. package/codeyam-cli/src/webserver/build/client/assets/{_index-CKTtYlBU.js → _index-C1YkzTAV.js} +4 -4
  510. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-CdziRIWU.js → activity.(_tab)-yH46LLUz.js} +8 -8
  511. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  512. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  513. package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-CHx25PAe.js +1 -0
  514. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  515. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-Bg3e7q4S.js +22 -0
  516. package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
  517. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  518. package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
  519. package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
  520. package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
  521. package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
  522. package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
  523. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  524. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  525. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
  526. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
  527. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
  528. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
  529. package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
  530. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  531. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  532. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  533. package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
  534. package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
  535. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  536. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  537. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  538. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  539. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
  540. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
  541. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  542. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
  543. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  544. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  545. package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
  546. package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
  547. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  548. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  549. package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
  550. package/codeyam-cli/src/webserver/build/client/assets/{book-open-Ch8b7GyQ.js → book-open-CL-lMgHh.js} +2 -2
  551. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-vJHJExlT.js → chevron-down-GmAjGS9-.js} +2 -2
  552. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +43 -0
  553. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-rwynPZTW.js → circle-check-DFcQkN5j.js} +2 -2
  554. package/codeyam-cli/src/webserver/build/client/assets/{copy-BBSpeBYf.js → copy-C6iF61Xs.js} +3 -3
  555. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-4ImjHTVC.js +41 -0
  556. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  557. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  558. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CRepiabR.js +1 -0
  559. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +1 -0
  560. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CRxPi2BB.js +96 -0
  561. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-CluPkvXJ.js +41 -0
  562. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-DYJRGiDI.js +24 -0
  563. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-wdiwx5-Z.js +6 -0
  564. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-BrkN-40Y.js +6 -0
  565. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DxfhekTZ.js +6 -0
  566. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BEqewwtZ.js → entity._sha_.edit._scenarioId-CRXJWmpB.js} +2 -2
  567. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-Dxqz8ygt.js → entry.client-SuW9syRS.js} +6 -6
  568. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  569. package/codeyam-cli/src/webserver/build/client/assets/files-D-xGrg29.js +1 -0
  570. package/codeyam-cli/src/webserver/build/client/assets/git-Bq_fbXP5.js +1 -0
  571. package/codeyam-cli/src/webserver/build/client/assets/globals-BsGHu8WX.css +1 -0
  572. package/codeyam-cli/src/webserver/build/client/assets/{index-DgAAopZk.js → index-Bp1l4hSv.js} +1 -1
  573. package/codeyam-cli/src/webserver/build/client/assets/{index-viijWaN6.js → index-CWV9XZiG.js} +1 -1
  574. package/codeyam-cli/src/webserver/build/client/assets/index-DE3jI_dv.js +15 -0
  575. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  576. package/codeyam-cli/src/webserver/build/client/assets/labs-B_IX45ih.js +1 -0
  577. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-LGi2eKI5.js → loader-circle-De-7qQ2u.js} +2 -2
  578. package/codeyam-cli/src/webserver/build/client/assets/manifest-9032538f.js +1 -0
  579. package/codeyam-cli/src/webserver/build/client/assets/memory-Cx2xEx7s.js +101 -0
  580. package/codeyam-cli/src/webserver/build/client/assets/{pause-DxJFmMsK.js → pause-CFxEKL1u.js} +3 -3
  581. package/codeyam-cli/src/webserver/build/client/assets/root-dKFRTYcy.js +80 -0
  582. package/codeyam-cli/src/webserver/build/client/assets/{search-Cu3QE9E5.js → search-BdBb5aqc.js} +2 -2
  583. package/codeyam-cli/src/webserver/build/client/assets/settings-DdE-Untf.js +1 -0
  584. package/codeyam-cli/src/webserver/build/client/assets/simulations-DSCdE99u.js +1 -0
  585. package/codeyam-cli/src/webserver/build/client/assets/{terminal-dAhIBEcd.js → terminal-CrplD4b1.js} +3 -3
  586. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-C4CYTEeP.js → triangle-alert-DqJ0j69l.js} +2 -2
  587. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-DhXHbEjP.js +1 -0
  588. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-D9QZKaLJ.js +2 -0
  589. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-Cy5Qg_UR.js +1 -0
  590. package/codeyam-cli/src/webserver/build/client/assets/useToast-5HR2j9ZE.js +1 -0
  591. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  592. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  593. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-B6HnVI5u.js +16 -0
  594. package/codeyam-cli/src/webserver/build/server/assets/index-rV_xLS1u.js +1 -0
  595. package/codeyam-cli/src/webserver/build/server/assets/init-BdWDvetv.js +10 -0
  596. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  597. package/codeyam-cli/src/webserver/build/server/assets/server-build-B_jdq5dT.js +689 -0
  598. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  599. package/codeyam-cli/src/webserver/build-info.json +5 -5
  600. package/codeyam-cli/src/webserver/devServer.js +39 -5
  601. package/codeyam-cli/src/webserver/devServer.js.map +1 -1
  602. package/codeyam-cli/src/webserver/editorProxy.js +1028 -0
  603. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
  604. package/codeyam-cli/src/webserver/idleDetector.js +130 -0
  605. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  606. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  607. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  608. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  609. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  610. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +283 -0
  611. package/codeyam-cli/src/webserver/server.js +379 -1
  612. package/codeyam-cli/src/webserver/server.js.map +1 -1
  613. package/codeyam-cli/src/webserver/terminalServer.js +952 -0
  614. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
  615. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  616. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  617. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  618. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  619. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  620. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  621. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  622. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  623. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  624. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  625. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  626. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  627. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  628. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  629. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  630. package/codeyam-cli/templates/codeyam-editor-claude.md +149 -0
  631. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  632. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  633. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  634. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  635. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  636. package/codeyam-cli/templates/editor-step-hook.py +368 -0
  637. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +203 -0
  638. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  639. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  640. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +13 -0
  641. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  642. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  643. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  644. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  645. package/codeyam-cli/templates/expo-react-native/global.css +10 -0
  646. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  647. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  648. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  649. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  650. package/codeyam-cli/templates/expo-react-native/package.json +48 -0
  651. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  652. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  653. package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
  654. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  655. package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
  656. package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
  657. package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
  658. package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
  659. package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
  660. package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
  661. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  662. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  663. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  664. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  665. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  666. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
  667. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  668. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
  669. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
  670. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +24 -0
  671. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
  672. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  673. package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
  674. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
  675. package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
  676. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +39 -0
  677. package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
  678. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
  679. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +40 -0
  680. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
  681. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +140 -0
  682. package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
  683. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  684. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  685. package/codeyam-cli/templates/nextjs-prisma-supabase/SUPABASE_SETUP.md +104 -0
  686. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  687. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  688. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  689. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  690. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  691. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  692. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  693. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  694. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  695. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  696. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  697. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  698. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  699. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  700. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  701. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  702. package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
  703. package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
  704. package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
  705. package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
  706. package/codeyam-cli/templates/rule-notification-hook.py +44 -17
  707. package/codeyam-cli/templates/rule-reflection-hook.py +25 -5
  708. package/codeyam-cli/templates/rules-instructions.md +34 -88
  709. package/codeyam-cli/templates/seed-adapters/supabase.ts +291 -0
  710. package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
  711. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +244 -0
  712. package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
  713. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  714. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  715. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  716. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  717. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  718. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  719. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  720. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  721. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  722. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  723. package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -2
  724. package/package.json +23 -15
  725. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
  726. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  727. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  728. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  729. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  730. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  731. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  732. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  733. package/packages/ai/src/lib/completionCall.js +10 -7
  734. package/packages/ai/src/lib/completionCall.js.map +1 -1
  735. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +261 -13
  736. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  737. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  738. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  739. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  740. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  741. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
  742. package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
  743. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
  744. package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
  745. package/packages/ai/src/lib/dataStructureChunking.js +9 -5
  746. package/packages/ai/src/lib/dataStructureChunking.js.map +1 -1
  747. package/packages/ai/src/lib/generateEntityScenarioData.js +57 -2
  748. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  749. package/packages/ai/src/lib/generateExecutionFlows.js +81 -11
  750. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  751. package/packages/analyze/index.js +1 -1
  752. package/packages/analyze/index.js.map +1 -1
  753. package/packages/analyze/src/lib/ProjectAnalyzer.js +13 -4
  754. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  755. package/packages/analyze/src/lib/asts/index.js +4 -2
  756. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  757. package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
  758. package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
  759. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  760. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  761. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -27
  762. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  763. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
  764. package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
  765. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +12 -2
  766. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  767. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  768. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  769. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  770. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  771. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  772. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  773. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  774. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  775. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  776. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  777. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  778. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  779. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
  780. package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
  781. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +185 -28
  782. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  783. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  784. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  785. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1386 -1197
  786. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  787. package/packages/database/index.js +1 -0
  788. package/packages/database/index.js.map +1 -1
  789. package/packages/database/src/lib/kysely/db.js +5 -0
  790. package/packages/database/src/lib/kysely/db.js.map +1 -1
  791. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +149 -0
  792. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
  793. package/packages/database/src/lib/loadAnalysis.js +7 -1
  794. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  795. package/packages/database/src/lib/loadCommits.js +23 -13
  796. package/packages/database/src/lib/loadCommits.js.map +1 -1
  797. package/packages/database/src/lib/loadEntities.js +0 -6
  798. package/packages/database/src/lib/loadEntities.js.map +1 -1
  799. package/packages/database/src/lib/loadEntity.js +5 -5
  800. package/packages/database/src/lib/loadEntity.js.map +1 -1
  801. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
  802. package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
  803. package/packages/database/src/lib/updateCommitMetadata.js +76 -90
  804. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  805. package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
  806. package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
  807. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
  808. package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
  809. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
  810. package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
  811. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
  812. package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
  813. package/packages/types/src/enums/ProjectFramework.js +2 -0
  814. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  815. package/packages/utils/src/lib/fs/rsyncCopy.js +28 -3
  816. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  817. package/scripts/npm-post-install.cjs +34 -0
  818. package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -120
  819. package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
  820. package/codeyam-cli/src/commands/list.js +0 -31
  821. package/codeyam-cli/src/commands/list.js.map +0 -1
  822. package/codeyam-cli/src/commands/webapp-info.js +0 -146
  823. package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
  824. package/codeyam-cli/src/utils/universal-mocks.js +0 -152
  825. package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
  826. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-D9i_zSlY.js +0 -1
  827. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-De5b5pC7.js +0 -1
  828. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bclf8Hka.js +0 -34
  829. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Ce-byqKl.js +0 -25
  830. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DEMHrl7v.js +0 -3
  831. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-L0DWHa_L.js +0 -1
  832. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-C7PFQfXy.js +0 -1
  833. package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-CPXtdaWm.js +0 -17
  834. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BEyX4X6_.js +0 -51
  835. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DHVDauuc.js +0 -21
  836. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  837. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B9_ZqelV.js +0 -1
  838. package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BOPComvD.js +0 -16
  839. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-Cfw__yQa.js +0 -6
  840. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-BIDUUrI3.js +0 -6
  841. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-CYnF5KWN.js +0 -1
  842. package/codeyam-cli/src/webserver/build/client/assets/files-B_dAq2PQ.js +0 -1
  843. package/codeyam-cli/src/webserver/build/client/assets/git-BHPqH3Ch.js +0 -15
  844. package/codeyam-cli/src/webserver/build/client/assets/globals-BJGhRykz.css +0 -1
  845. package/codeyam-cli/src/webserver/build/client/assets/labs-ChoAe3xq.js +0 -1
  846. package/codeyam-cli/src/webserver/build/client/assets/manifest-87493a32.js +0 -1
  847. package/codeyam-cli/src/webserver/build/client/assets/memory-D9eA6kTo.js +0 -78
  848. package/codeyam-cli/src/webserver/build/client/assets/root-C3r0p_7H.js +0 -62
  849. package/codeyam-cli/src/webserver/build/client/assets/settings-KH9TdArD.js +0 -1
  850. package/codeyam-cli/src/webserver/build/client/assets/simulations-D9Fkx0-d.js +0 -1
  851. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-CLPnITMB.js +0 -1
  852. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DmGI38Et.js +0 -2
  853. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BK0S88PB.js +0 -1
  854. package/codeyam-cli/src/webserver/build/client/assets/useToast-CJ-JqR0l.js +0 -1
  855. package/codeyam-cli/src/webserver/build/server/assets/index-CkkmL6r5.js +0 -1
  856. package/codeyam-cli/src/webserver/build/server/assets/server-build-iBGjHYtO.js +0 -259
  857. package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
  858. package/scripts/finalize-analyzer.cjs +0 -13
  859. /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
  860. /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
  861. /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
  862. /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
  863. /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
  864. /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
@@ -11,8 +11,10 @@ import {
11
11
  clearAttributesFromMapping,
12
12
  mergeJsonTypeDefinitions,
13
13
  } from '~codeyam/ai';
14
- import mergeInDependentDataStructure from './mergeInDependentDataStructure';
15
- import { awsLog } from '~codeyam/utils';
14
+ import mergeInDependentDataStructure, {
15
+ DataStructureTimeoutError,
16
+ } from './mergeInDependentDataStructure';
17
+ import { awsLog, awsLogDebugLevel } from '~codeyam/utils';
16
18
  import gatherDataForMocks from './gatherDataForMocks';
17
19
  import enrichArrayTypesFromChildSignatures from './enrichArrayTypesFromChildSignatures';
18
20
  import enrichUnknownTypesFromSourceEquivalencies from './enrichUnknownTypesFromSourceEquivalencies';
@@ -328,12 +330,23 @@ export default function generateDataStructure({
328
330
 
329
331
  // Recursive function to traverse the dependency tree
330
332
  const processedAnalyses = new Set<string>();
333
+ const traverseStart = Date.now();
334
+ const TRAVERSE_TIMEOUT_MS = 2_000;
335
+ let traverseCount = 0;
331
336
  const traverseDependencyTree = (analyses: ReadonlyAnalysisMap) => {
332
337
  for (const filePath in analyses) {
333
338
  for (const name in analyses[filePath]) {
334
339
  const analysisKey = `${filePath}:${name}`;
335
340
  if (processedAnalyses.has(analysisKey)) continue;
336
341
  processedAnalyses.add(analysisKey);
342
+ traverseCount++;
343
+
344
+ if (Date.now() - traverseStart > TRAVERSE_TIMEOUT_MS) {
345
+ throw new DataStructureTimeoutError(
346
+ entity.name,
347
+ Date.now() - traverseStart,
348
+ );
349
+ }
337
350
 
338
351
  const childAnalysis = analyses[filePath][name];
339
352
  const childEntity = childAnalysis?.entity;
@@ -443,6 +456,25 @@ export default function generateDataStructure({
443
456
  // Start traversal from direct non-mocked children
444
457
  traverseDependencyTree(nonMockedDependentAnalyses);
445
458
 
459
+ const traverseElapsed = Date.now() - traverseStart;
460
+ const childSchemaKeyCount = Object.values(childDependencySchemas).reduce(
461
+ (sum, fileMap) =>
462
+ sum +
463
+ Object.values(fileMap).reduce(
464
+ (s, schema) =>
465
+ s +
466
+ Object.keys(schema.signatureSchema || {}).length +
467
+ Object.keys(schema.returnValueSchema || {}).length,
468
+ 0,
469
+ ),
470
+ 0,
471
+ );
472
+ awsLogDebugLevel(
473
+ 1,
474
+ `Dependency tree traversal for ${entity.name}: ${traverseCount} analyses, ` +
475
+ `${childSchemaKeyCount} child schema keys, ${allImportedExports.length} imports, ${traverseElapsed}ms`,
476
+ );
477
+
446
478
  // console.info(
447
479
  // 'CODEYAM DEBUG: start merge',
448
480
  // JSON.stringify(
@@ -461,6 +493,17 @@ export default function generateDataStructure({
461
493
 
462
494
  const { isolatedDataStructure } = entity.metadata;
463
495
 
496
+ if (!isolatedDataStructure) {
497
+ awsLog(
498
+ 'CodeYam: Skipping data structure generation — isolatedDataStructure is undefined (scope analysis may have failed)',
499
+ {
500
+ entityName: entity.name,
501
+ filePath: entity.filePath,
502
+ },
503
+ );
504
+ return analysis;
505
+ }
506
+
464
507
  // Transformation tracing: start entity and capture isolated data structure
465
508
  transformationTracer.startEntity({
466
509
  name: entity.name,
@@ -473,6 +516,14 @@ export default function generateDataStructure({
473
516
  dependencySchemas: isolatedDataStructure.dependencySchemas,
474
517
  });
475
518
 
519
+ const mergeStart = Date.now();
520
+ // Shared deadline for all phases from merge onward
521
+ const genDeadline = mergeStart + 5_000; // 5s total budget for all phases
522
+ awsLogDebugLevel(
523
+ 1,
524
+ `Starting mergeInDependentDataStructure for ${entity.name}...`,
525
+ );
526
+
476
527
  const mergedDataStructure = mergeInDependentDataStructure({
477
528
  importedExports: allImportedExports,
478
529
  dependentAnalyses: nonMockedDependentAnalyses,
@@ -487,6 +538,14 @@ export default function generateDataStructure({
487
538
  dependencySchemas: isolatedDataStructure?.dependencySchemas || {},
488
539
  });
489
540
 
541
+ const mergeTimedOut = !!(mergedDataStructure as any).timedOut;
542
+ awsLogDebugLevel(
543
+ 1,
544
+ `mergeInDependentDataStructure ${mergeTimedOut ? 'PARTIAL' : 'complete'} for ${entity.name}: ` +
545
+ `${Object.keys(mergedDataStructure.signatureSchema).length} sig, ` +
546
+ `${Object.keys(mergedDataStructure.returnValueSchema).length} ret, ${Date.now() - mergeStart}ms`,
547
+ );
548
+
490
549
  mergedDataStructure.environmentVariables =
491
550
  isolatedDataStructure.environmentVariables || [];
492
551
 
@@ -500,6 +559,7 @@ export default function generateDataStructure({
500
559
  // Merge collected child dependency schemas into mergedDataStructure.
501
560
  // This ensures that when gatherDataForMocks looks up schemas for child imports,
502
561
  // the child's schemas are available.
562
+ const childMergeStart = Date.now();
503
563
  for (const schemaFilePath in childDependencySchemas) {
504
564
  for (const schemaName in childDependencySchemas[schemaFilePath]) {
505
565
  mergedDataStructure.dependencySchemas[schemaFilePath] ||= {};
@@ -550,7 +610,13 @@ export default function generateDataStructure({
550
610
  }
551
611
  }
552
612
 
613
+ awsLogDebugLevel(
614
+ 1,
615
+ `Child schema merge for ${entity.name}: ${Date.now() - childMergeStart}ms`,
616
+ );
617
+
553
618
  // Transformation tracing: capture after child schemas merged
619
+ const snapshotStart = Date.now();
554
620
  transformationTracer.snapshot(entity.name, 'childSchemasMerged', {
555
621
  signatureSchema: mergedDataStructure.signatureSchema,
556
622
  returnValueSchema: mergedDataStructure.returnValueSchema,
@@ -577,82 +643,237 @@ export default function generateDataStructure({
577
643
  // ),
578
644
  // );
579
645
 
646
+ awsLogDebugLevel(
647
+ 1,
648
+ `Transformation snapshot for ${entity.name}: ${Date.now() - snapshotStart}ms`,
649
+ );
650
+
580
651
  // Deduplicate function schemas in the merged data structure
581
652
  // The merge process might introduce duplicates even if individual schemas were clean
582
- // Trace deduplication of signatureSchema
583
- const sigBefore = { ...mergedDataStructure.signatureSchema };
584
- mergedDataStructure.signatureSchema = deduplicateFunctionSchemas(
585
- mergedDataStructure.signatureSchema,
586
- );
587
- transformationTracer.traceSchemaTransformResult(
588
- entity.name,
589
- 'deduplicateFunctionSchemas',
590
- sigBefore,
591
- mergedDataStructure.signatureSchema,
592
- { schemaType: 'signature' },
593
- );
653
+ const dedupStart = Date.now();
594
654
 
595
- // Trace deduplication of returnValueSchema
596
- const rvBefore = { ...mergedDataStructure.returnValueSchema };
597
- mergedDataStructure.returnValueSchema = deduplicateFunctionSchemas(
655
+ const sigKeyCount = Object.keys(mergedDataStructure.signatureSchema).length;
656
+ const retKeyCount = Object.keys(
598
657
  mergedDataStructure.returnValueSchema,
599
- );
600
- transformationTracer.traceSchemaTransformResult(
601
- entity.name,
602
- 'deduplicateFunctionSchemas',
603
- rvBefore,
604
- mergedDataStructure.returnValueSchema,
605
- { schemaType: 'returnValue' },
658
+ ).length;
659
+
660
+ // Skip dedup on very large schemas — the O(keys × variants × keyLength) cost
661
+ // is not worth it for schemas with 10K+ keys where function dedup rarely matters.
662
+ const DEDUP_KEY_THRESHOLD = 10_000;
663
+
664
+ if (sigKeyCount < DEDUP_KEY_THRESHOLD) {
665
+ const sigBefore = { ...mergedDataStructure.signatureSchema };
666
+ mergedDataStructure.signatureSchema = deduplicateFunctionSchemas(
667
+ mergedDataStructure.signatureSchema,
668
+ );
669
+ transformationTracer.traceSchemaTransformResult(
670
+ entity.name,
671
+ 'deduplicateFunctionSchemas',
672
+ sigBefore,
673
+ mergedDataStructure.signatureSchema,
674
+ { schemaType: 'signature' },
675
+ );
676
+ } else {
677
+ awsLogDebugLevel(
678
+ 2,
679
+ `${entity.name}: skipping sig dedup (${sigKeyCount} keys > ${DEDUP_KEY_THRESHOLD})`,
680
+ );
681
+ }
682
+
683
+ if (retKeyCount < DEDUP_KEY_THRESHOLD) {
684
+ const rvBefore = { ...mergedDataStructure.returnValueSchema };
685
+ mergedDataStructure.returnValueSchema = deduplicateFunctionSchemas(
686
+ mergedDataStructure.returnValueSchema,
687
+ );
688
+ transformationTracer.traceSchemaTransformResult(
689
+ entity.name,
690
+ 'deduplicateFunctionSchemas',
691
+ rvBefore,
692
+ mergedDataStructure.returnValueSchema,
693
+ { schemaType: 'returnValue' },
694
+ );
695
+ } else {
696
+ awsLogDebugLevel(
697
+ 2,
698
+ `${entity.name}: skipping ret dedup (${retKeyCount} keys > ${DEDUP_KEY_THRESHOLD})`,
699
+ );
700
+ }
701
+
702
+ awsLogDebugLevel(
703
+ 1,
704
+ `${entity.name}: root schema dedup ${Date.now() - dedupStart}ms (sig=${sigKeyCount}, ret=${retKeyCount})`,
606
705
  );
607
706
 
608
707
  // Also deduplicate dependency schemas and clear known attributes
708
+ let depProcessed = 0;
709
+ const depStart = Date.now();
609
710
  for (const filePath in mergedDataStructure.dependencySchemas) {
610
711
  for (const depEntityName in mergedDataStructure.dependencySchemas[
611
712
  filePath
612
713
  ]) {
714
+ if (Date.now() > genDeadline) {
715
+ throw new DataStructureTimeoutError(
716
+ entity.name,
717
+ Date.now() - mergeStart,
718
+ );
719
+ }
720
+
613
721
  const depSchema =
614
722
  mergedDataStructure.dependencySchemas[filePath][depEntityName];
723
+ const depSigKeys = Object.keys(depSchema.signatureSchema || {}).length;
724
+ const depRetKeys = Object.keys(
725
+ depSchema.returnValueSchema || {},
726
+ ).length;
615
727
 
616
- // Trace deduplication of dependency signatureSchema
617
- const depSigBefore = { ...depSchema.signatureSchema };
618
- depSchema.signatureSchema = deduplicateFunctionSchemas(
619
- depSchema.signatureSchema,
620
- );
621
- transformationTracer.traceSchemaTransformResult(
622
- entity.name,
623
- 'deduplicateFunctionSchemas',
624
- depSigBefore,
625
- depSchema.signatureSchema,
626
- { filePath, dependencyName: depEntityName, schemaType: 'signature' },
627
- );
728
+ const depOpStart = Date.now();
628
729
 
629
- // Trace deduplication of dependency returnValueSchema
630
- const depRvBefore = { ...depSchema.returnValueSchema };
631
- depSchema.returnValueSchema = deduplicateFunctionSchemas(
632
- depSchema.returnValueSchema,
633
- );
634
- transformationTracer.traceSchemaTransformResult(
635
- entity.name,
636
- 'deduplicateFunctionSchemas',
637
- depRvBefore,
638
- depSchema.returnValueSchema,
639
- {
640
- filePath,
641
- dependencyName: depEntityName,
642
- schemaType: 'returnValue',
643
- },
644
- );
730
+ if (depSigKeys < DEDUP_KEY_THRESHOLD) {
731
+ const depSigBefore = { ...depSchema.signatureSchema };
732
+ depSchema.signatureSchema = deduplicateFunctionSchemas(
733
+ depSchema.signatureSchema,
734
+ );
735
+ transformationTracer.traceSchemaTransformResult(
736
+ entity.name,
737
+ 'deduplicateFunctionSchemas',
738
+ depSigBefore,
739
+ depSchema.signatureSchema,
740
+ {
741
+ filePath,
742
+ dependencyName: depEntityName,
743
+ schemaType: 'signature',
744
+ },
745
+ );
746
+ }
747
+
748
+ if (depRetKeys < DEDUP_KEY_THRESHOLD) {
749
+ const depRvBefore = { ...depSchema.returnValueSchema };
750
+ depSchema.returnValueSchema = deduplicateFunctionSchemas(
751
+ depSchema.returnValueSchema,
752
+ );
753
+ transformationTracer.traceSchemaTransformResult(
754
+ entity.name,
755
+ 'deduplicateFunctionSchemas',
756
+ depRvBefore,
757
+ depSchema.returnValueSchema,
758
+ {
759
+ filePath,
760
+ dependencyName: depEntityName,
761
+ schemaType: 'returnValue',
762
+ },
763
+ );
764
+ }
765
+
766
+ const depOpElapsed = Date.now() - depOpStart;
767
+ if (depOpElapsed > 1000) {
768
+ awsLogDebugLevel(
769
+ 2,
770
+ `${entity.name}: slow dep dedup ${depEntityName} sig=${depSigKeys} ret=${depRetKeys} ${depOpElapsed}ms`,
771
+ );
772
+ }
773
+ depProcessed++;
774
+
775
+ // Infer function types from child component usage BEFORE fillInSchemaGapsAndUnknowns.
776
+ // When a hook returns a property with type 'unknown' that is passed to a child
777
+ // component which calls it as a function (e.g., isEntityPending(entity)),
778
+ // promote it to 'function'. Without this, name heuristics like isLikelyBoolean
779
+ // would mistype "isEntityPending" as boolean because of the "is" prefix.
780
+ //
781
+ // sourceEquivalencies are in isolatedDataStructure.dependencySchemas (not in
782
+ // mergedDataStructure.dependencySchemas — they're dropped during the merge).
783
+ // The child's signatureSchema (with function call evidence) IS in the merged schemas.
784
+ {
785
+ const isolatedDepSchemas =
786
+ entity.metadata.isolatedDataStructure?.dependencySchemas;
787
+ if (isolatedDepSchemas) {
788
+ for (const childFilePath in isolatedDepSchemas) {
789
+ const childIsolated = isolatedDepSchemas[childFilePath];
790
+ for (const childName in childIsolated) {
791
+ const sourceEq = childIsolated[childName]?.sourceEquivalencies;
792
+ if (!sourceEq) continue;
793
+
794
+ // Get the child's signatureSchema from the MERGED schemas (richer)
795
+ const mergedChildSchema =
796
+ mergedDataStructure.dependencySchemas[childFilePath]?.[
797
+ childName
798
+ ];
799
+ const sigSchema = mergedChildSchema?.signatureSchema;
800
+ if (!sigSchema) continue;
801
+
802
+ for (const childPath in sourceEq) {
803
+ for (const source of sourceEq[childPath]) {
804
+ const fcrvSuffix = '.functionCallReturnValue.';
805
+ const fcrvIndex = source.schemaPath.indexOf(fcrvSuffix);
806
+ if (fcrvIndex === -1) continue;
807
+
808
+ const propName = source.schemaPath.slice(
809
+ fcrvIndex + fcrvSuffix.length,
810
+ );
811
+
812
+ // Find the corresponding child signature path
813
+ const entityCallPrefix = childName + '().';
814
+ const sigPathBase = childPath.startsWith(entityCallPrefix)
815
+ ? childPath.slice(entityCallPrefix.length)
816
+ : childPath;
817
+
818
+ // Check if the child's signatureSchema has a function call version
819
+ let isFunction = false;
820
+ for (const sigKey in sigSchema) {
821
+ if (
822
+ sigKey.startsWith(sigPathBase + '(') &&
823
+ sigSchema[sigKey] === 'function'
824
+ ) {
825
+ isFunction = true;
826
+ break;
827
+ }
828
+ }
829
+
830
+ if (isFunction) {
831
+ for (const rvKey in depSchema.returnValueSchema) {
832
+ if (
833
+ rvKey.endsWith('.' + propName) &&
834
+ depSchema.returnValueSchema[rvKey] === 'unknown'
835
+ ) {
836
+ depSchema.returnValueSchema[rvKey] = 'function';
837
+ }
838
+ }
839
+ }
840
+ }
841
+ }
842
+ }
843
+ }
844
+ }
845
+ }
645
846
 
646
847
  // Fill in type gaps BEFORE clearing attributes, so evidence like .includes()
647
848
  // is used for type inference before being deleted
648
849
 
649
- depSchema.signatureSchema = fillInDirectSchemaGapsAndUnknowns({
650
- schema: depSchema.signatureSchema,
651
- });
850
+ const FILL_IN_KEY_THRESHOLD = 5_000;
851
+ const fillStart = Date.now();
852
+
853
+ if (depSigKeys < FILL_IN_KEY_THRESHOLD) {
854
+ depSchema.signatureSchema = fillInDirectSchemaGapsAndUnknowns({
855
+ schema: depSchema.signatureSchema,
856
+ });
857
+ }
858
+
859
+ if (depRetKeys < FILL_IN_KEY_THRESHOLD) {
860
+ depSchema.returnValueSchema = fillInDirectSchemaGapsAndUnknowns({
861
+ schema: depSchema.returnValueSchema,
862
+ });
863
+ } else {
864
+ awsLogDebugLevel(
865
+ 2,
866
+ `${entity.name}: skipping fillInGaps for ${depEntityName} ret (${depRetKeys} keys > ${FILL_IN_KEY_THRESHOLD})`,
867
+ );
868
+ }
652
869
 
653
- depSchema.returnValueSchema = fillInDirectSchemaGapsAndUnknowns({
654
- schema: depSchema.returnValueSchema,
655
- });
870
+ const fillElapsed = Date.now() - fillStart;
871
+ if (fillElapsed > 1000) {
872
+ awsLogDebugLevel(
873
+ 2,
874
+ `${entity.name}: slow fillInGaps ${depEntityName} sig=${depSigKeys} ret=${depRetKeys} ${fillElapsed}ms`,
875
+ );
876
+ }
656
877
 
657
878
  // Trace clearAttributesFromMapping on dependency schemas
658
879
  transformationTracer.traceSchemaTransform(
@@ -677,15 +898,46 @@ export default function generateDataStructure({
677
898
  }
678
899
  }
679
900
 
901
+ awsLogDebugLevel(
902
+ 1,
903
+ `${entity.name}: dep schema processing: ${depProcessed} deps in ${Date.now() - depStart}ms`,
904
+ );
905
+ awsLogDebugLevel(
906
+ 1,
907
+ `Dedup + dep schema processing for ${entity.name}: ${Date.now() - dedupStart}ms`,
908
+ );
909
+
680
910
  // Transformation tracing: capture after deduplication
911
+ const dedupSnapshotStart = Date.now();
681
912
  transformationTracer.snapshot(entity.name, 'deduplicated', {
682
913
  signatureSchema: mergedDataStructure.signatureSchema,
683
914
  returnValueSchema: mergedDataStructure.returnValueSchema,
684
915
  dependencySchemas: mergedDataStructure.dependencySchemas,
685
916
  });
686
917
 
918
+ awsLogDebugLevel(
919
+ 1,
920
+ `Dedup snapshot for ${entity.name}: ${Date.now() - dedupSnapshotStart}ms`,
921
+ );
922
+
687
923
  analysis.metadata ||= {};
688
924
  analysis.metadata.mergedDataStructure = mergedDataStructure;
925
+ if (mergeTimedOut) {
926
+ (analysis.metadata as any).mergeTimedOut = true;
927
+ }
928
+
929
+ const checkGenDeadline = (phase: string) => {
930
+ if (Date.now() > genDeadline) {
931
+ throw new DataStructureTimeoutError(
932
+ entity.name,
933
+ Date.now() - mergeStart,
934
+ );
935
+ }
936
+ awsLogDebugLevel(
937
+ 1,
938
+ `${entity.name}: ${phase} complete (${Date.now() - mergeStart}ms total)`,
939
+ );
940
+ };
689
941
 
690
942
  // Enrich mocked dependency array types with fields from child component signatures
691
943
  // This ensures that when getSurveysAction returns { data: array }, and SurveyCard
@@ -704,6 +956,8 @@ export default function generateDataStructure({
704
956
  ),
705
957
  );
706
958
 
959
+ checkGenDeadline('enrichArrayTypes');
960
+
707
961
  // Transformation tracing: capture after array types enriched
708
962
  transformationTracer.snapshot(entity.name, 'arrayTypesEnriched', {
709
963
  signatureSchema: mergedDataStructure.signatureSchema,
@@ -728,6 +982,8 @@ export default function generateDataStructure({
728
982
  ),
729
983
  );
730
984
 
985
+ checkGenDeadline('enrichUnknownTypes');
986
+
731
987
  // Transformation tracing: capture after unknown types enriched
732
988
  transformationTracer.snapshot(entity.name, 'unknownTypesEnriched', {
733
989
  signatureSchema: mergedDataStructure.signatureSchema,
@@ -748,6 +1004,8 @@ export default function generateDataStructure({
748
1004
  { entityName: entity.name },
749
1005
  );
750
1006
 
1007
+ checkGenDeadline('gatherDataForMocks');
1008
+
751
1009
  // Transformation tracing: capture after dataForMocks gathered
752
1010
  transformationTracer.snapshot(entity.name, 'dataForMocksGathered', {
753
1011
  signatureSchema: mergedDataStructure.signatureSchema,
@@ -777,6 +1035,8 @@ export default function generateDataStructure({
777
1035
  }
778
1036
  }
779
1037
 
1038
+ checkGenDeadline('mergeChildDataForMocks');
1039
+
780
1040
  const finalizedArgumentsSchema = { ...mergedDataStructure.signatureSchema };
781
1041
 
782
1042
  // Trace fillInDirectSchemaGapsAndUnknowns
@@ -797,9 +1057,13 @@ export default function generateDataStructure({
797
1057
  { stage: 'finalization' },
798
1058
  );
799
1059
 
1060
+ checkGenDeadline('fillInGaps+clearAttributes');
1061
+
800
1062
  const argumentsSchema = convertDotNotation(finalizedArgumentsSchema)
801
1063
  .signature as JsonTypeDefinition[];
802
1064
 
1065
+ checkGenDeadline('convertDotNotation');
1066
+
803
1067
  analysis.metadata.scenariosDataStructure = {
804
1068
  arguments: argumentsSchema,
805
1069
  dataForMocks,
@@ -65,10 +65,6 @@ export default async function generateExecutionFlows({
65
65
  }
66
66
 
67
67
  if (!analysis.metadata.executionFlows) {
68
- console.log(
69
- `[GenerateExecutionFlows] Starting for ${entity.name} (${entity.filePath})`,
70
- );
71
-
72
68
  // Build childEntityMetadata from dependentAnalyses for child flow merging
73
69
  // This maps child component names to their metadata (specifically isolatedDataStructure)
74
70
  const childEntityMetadata = buildChildEntityMetadata(
@@ -77,15 +73,6 @@ export default async function generateExecutionFlows({
77
73
  );
78
74
 
79
75
  const childCount = Object.keys(childEntityMetadata).length;
80
- console.log(
81
- `[GenerateExecutionFlows] Built childEntityMetadata with ${childCount} children`,
82
- );
83
- if (childCount > 0) {
84
- console.log(
85
- `[GenerateExecutionFlows] Will merge flows from children: [${Object.keys(childEntityMetadata).join(', ')}]`,
86
- );
87
- }
88
-
89
76
  const {
90
77
  result: { executionFlows, llmCall: executionFlowsLLMCall },
91
78
  } = await measureAndReportExecutionTime(
@@ -100,18 +87,6 @@ export default async function generateExecutionFlows({
100
87
  updateProgress,
101
88
  );
102
89
 
103
- console.log(
104
- `[GenerateExecutionFlows] Generated ${executionFlows.length} execution flows for ${entity.name}`,
105
- );
106
- for (const flow of executionFlows) {
107
- const reqValues = flow.requiredValues
108
- .map((rv) => `${rv.attributePath}=${rv.value}`)
109
- .join(', ');
110
- console.log(
111
- `[GenerateExecutionFlows] - Flow '${flow.id}': ${flow.name} [${reqValues}]`,
112
- );
113
- }
114
-
115
90
  analysis.metadata.executionFlows = executionFlows;
116
91
 
117
92
  if (executionFlowsLLMCall) {
@@ -137,14 +112,7 @@ export function buildChildEntityMetadata(
137
112
  ): Record<string, Entity['metadata']> {
138
113
  const childEntityMetadata: Record<string, Entity['metadata']> = {};
139
114
 
140
- console.log(
141
- `[BuildChildMetadata] Starting for entity: ${entity.name} (${entity.filePath})`,
142
- );
143
-
144
115
  if (!dependentAnalyses) {
145
- console.log(
146
- `[BuildChildMetadata] No dependentAnalyses provided, returning empty`,
147
- );
148
116
  return childEntityMetadata;
149
117
  }
150
118
 
@@ -152,54 +120,19 @@ export function buildChildEntityMetadata(
152
120
  entity.metadata?.isolatedDataStructure?.childBoundaryGatingConditions;
153
121
 
154
122
  if (!childBoundaryGatingConditions) {
155
- console.log(
156
- `[BuildChildMetadata] No childBoundaryGatingConditions found in isolatedDataStructure`,
157
- );
158
- console.log(
159
- `[BuildChildMetadata] isolatedDataStructure keys: ${Object.keys(entity.metadata?.isolatedDataStructure ?? {}).join(', ') || 'none'}`,
160
- );
161
123
  return childEntityMetadata;
162
124
  }
163
125
 
164
126
  const childNames = Object.keys(childBoundaryGatingConditions);
165
- console.log(
166
- `[BuildChildMetadata] Found ${childNames.length} children in childBoundaryGatingConditions: [${childNames.join(', ')}]`,
167
- );
168
-
169
- // Log gating conditions for each child
170
- for (const [childName, conditions] of Object.entries(
171
- childBoundaryGatingConditions,
172
- )) {
173
- const isUnconditional = conditions.some(
174
- (c) => c.location === 'unconditional',
175
- );
176
- console.log(
177
- `[BuildChildMetadata] Child '${childName}': ${conditions.length} gating conditions, unconditional=${isUnconditional}`,
178
- );
179
- for (const condition of conditions) {
180
- console.log(
181
- `[BuildChildMetadata] - path='${condition.path}' location='${condition.location}' isNegated=${condition.isNegated ?? false}`,
182
- );
183
- }
184
- }
185
-
186
127
  const importedExports = entity.metadata?.importedExports ?? [];
187
- console.log(
188
- `[BuildChildMetadata] Entity has ${importedExports.length} importedExports`,
189
- );
190
128
 
191
129
  for (const childName of childNames) {
192
- console.log(`[BuildChildMetadata] Looking up child '${childName}'...`);
193
-
194
130
  // Find the child in importedExports to get its file path
195
131
  const importedExport = importedExports.find(
196
132
  (ie) => ie.name === childName || ie.resolvedName === childName,
197
133
  );
198
134
 
199
135
  if (!importedExport) {
200
- console.log(
201
- `[BuildChildMetadata] Child '${childName}' NOT FOUND in importedExports`,
202
- );
203
136
  continue;
204
137
  }
205
138
 
@@ -208,27 +141,14 @@ export function buildChildEntityMetadata(
208
141
  importedExport.resolvedFilePath ?? importedExport.filePath;
209
142
  const lookupName = importedExport.resolvedName ?? importedExport.name;
210
143
 
211
- console.log(
212
- `[BuildChildMetadata] Child '${childName}' found in importedExports: lookupPath='${lookupPath}' lookupName='${lookupName}'`,
213
- );
214
-
215
144
  // Look up the child's analysis in dependentAnalyses
216
145
  const childAnalysis = dependentAnalyses[lookupPath]?.[lookupName];
217
146
 
218
147
  if (!childAnalysis) {
219
- console.log(
220
- `[BuildChildMetadata] Child '${childName}' analysis NOT FOUND in dependentAnalyses[${lookupPath}][${lookupName}]`,
221
- );
222
- console.log(
223
- `[BuildChildMetadata] Available paths in dependentAnalyses: [${Object.keys(dependentAnalyses).slice(0, 10).join(', ')}...]`,
224
- );
225
148
  continue;
226
149
  }
227
150
 
228
151
  if (!childAnalysis.entity?.metadata) {
229
- console.log(
230
- `[BuildChildMetadata] Child '${childName}' analysis found but entity.metadata is missing`,
231
- );
232
152
  continue;
233
153
  }
234
154
 
@@ -237,28 +157,10 @@ export function buildChildEntityMetadata(
237
157
  const childConditionalUsages = childIsolated?.conditionalUsages ?? {};
238
158
  const childConditionalCount = Object.keys(childConditionalUsages).length;
239
159
 
240
- console.log(
241
- `[BuildChildMetadata] Child '${childName}' FOUND with metadata:`,
242
- );
243
- console.log(
244
- `[BuildChildMetadata] - conditionalUsages: ${childConditionalCount} paths`,
245
- );
246
- if (childConditionalCount > 0) {
247
- for (const [path, usages] of Object.entries(childConditionalUsages)) {
248
- console.log(
249
- `[BuildChildMetadata] - '${path}': ${(usages as any[]).length} usages`,
250
- );
251
- }
252
- }
253
-
254
160
  // Cast to mutable type - the metadata is only read, not modified
255
161
  childEntityMetadata[childName] = childAnalysis.entity
256
162
  .metadata as Entity['metadata'];
257
163
  }
258
164
 
259
- console.log(
260
- `[BuildChildMetadata] RESULT: Found metadata for ${Object.keys(childEntityMetadata).length} children: [${Object.keys(childEntityMetadata).join(', ')}]`,
261
- );
262
-
263
165
  return childEntityMetadata;
264
166
  }