@codeyam/codeyam-cli 0.1.0-staging.a890816 → 0.1.0-staging.ad44cd3

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 (477) 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 +10 -10
  4. package/analyzer-template/packages/ai/package.json +2 -2
  5. package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +0 -33
  6. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +13 -7
  7. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  8. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
  9. package/analyzer-template/packages/aws/package.json +2 -2
  10. package/analyzer-template/packages/database/package.json +3 -3
  11. package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +102 -0
  12. package/analyzer-template/packages/database/src/lib/loadEntities.ts +0 -6
  13. package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +0 -65
  14. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +9 -0
  15. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -1
  16. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +104 -0
  17. package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -1
  18. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
  19. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +0 -6
  20. package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
  21. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
  22. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +0 -25
  23. package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
  24. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  25. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  26. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js +2 -0
  27. package/analyzer-template/packages/github/dist/types/src/enums/ProjectFramework.js.map +1 -1
  28. package/analyzer-template/packages/github/package.json +1 -1
  29. package/analyzer-template/packages/types/src/enums/ProjectFramework.ts +2 -0
  30. package/analyzer-template/packages/ui-components/package.json +1 -1
  31. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts +2 -0
  32. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.d.ts.map +1 -1
  33. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js +2 -0
  34. package/analyzer-template/packages/utils/dist/types/src/enums/ProjectFramework.js.map +1 -1
  35. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  36. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  37. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  38. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  39. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  40. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  41. package/codeyam-cli/src/cli.js +9 -0
  42. package/codeyam-cli/src/cli.js.map +1 -1
  43. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js +51 -0
  44. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  45. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +56 -0
  46. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js.map +1 -0
  47. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +101 -47
  48. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  49. package/codeyam-cli/src/commands/default.js +3 -46
  50. package/codeyam-cli/src/commands/default.js.map +1 -1
  51. package/codeyam-cli/src/commands/editor.js +3916 -419
  52. package/codeyam-cli/src/commands/editor.js.map +1 -1
  53. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  54. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  55. package/codeyam-cli/src/commands/init.js +74 -35
  56. package/codeyam-cli/src/commands/init.js.map +1 -1
  57. package/codeyam-cli/src/commands/telemetry.js +37 -0
  58. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  59. package/codeyam-cli/src/data/techStacks.js +77 -0
  60. package/codeyam-cli/src/data/techStacks.js.map +1 -0
  61. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js +173 -0
  62. package/codeyam-cli/src/utils/__tests__/analyzerFinalization.test.js.map +1 -0
  63. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js +46 -0
  64. package/codeyam-cli/src/utils/__tests__/backgroundServer.test.js.map +1 -0
  65. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
  66. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
  67. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +137 -0
  68. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
  69. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +1879 -0
  70. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
  71. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js +76 -0
  72. package/codeyam-cli/src/utils/__tests__/editorBroadcastViewport.test.js.map +1 -0
  73. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
  74. package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
  75. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js +100 -0
  76. package/codeyam-cli/src/utils/__tests__/editorDeleteScenario.test.js.map +1 -0
  77. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +304 -0
  78. package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
  79. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +194 -0
  80. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
  81. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +261 -0
  82. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -0
  83. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
  84. package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
  85. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
  86. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
  87. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +594 -0
  88. package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
  89. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js +435 -0
  90. package/codeyam-cli/src/utils/__tests__/editorMigration.test.js.map +1 -0
  91. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
  92. package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
  93. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
  94. package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
  95. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +353 -0
  96. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
  97. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +153 -0
  98. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -0
  99. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
  100. package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
  101. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +221 -0
  102. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
  103. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +1483 -0
  104. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
  105. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +280 -0
  106. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
  107. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js +143 -0
  108. package/codeyam-cli/src/utils/__tests__/editorSeedAdapterPrismaValidation.test.js.map +1 -0
  109. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js +66 -0
  110. package/codeyam-cli/src/utils/__tests__/editorSessionFilter.test.js.map +1 -0
  111. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js +53 -0
  112. package/codeyam-cli/src/utils/__tests__/editorShouldRevalidate.test.js.map +1 -0
  113. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1857 -0
  114. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  115. package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
  116. package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
  117. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +107 -0
  118. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
  119. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +129 -0
  120. package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
  121. package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
  122. package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
  123. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js +118 -0
  124. package/codeyam-cli/src/utils/__tests__/routePatternMatching.test.js.map +1 -0
  125. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +227 -0
  126. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -0
  127. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
  128. package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
  129. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +493 -0
  130. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
  131. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +26 -5
  132. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  133. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  134. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  135. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +51 -0
  136. package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
  137. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +142 -0
  138. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -0
  139. package/codeyam-cli/src/utils/analysisRunner.js +3 -1
  140. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  141. package/codeyam-cli/src/utils/analyzer.js +9 -0
  142. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  143. package/codeyam-cli/src/utils/analyzerFinalization.js +100 -0
  144. package/codeyam-cli/src/utils/analyzerFinalization.js.map +1 -0
  145. package/codeyam-cli/src/utils/backgroundServer.js +94 -18
  146. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  147. package/codeyam-cli/src/utils/buildFlags.js +4 -0
  148. package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
  149. package/codeyam-cli/src/utils/database.js +37 -2
  150. package/codeyam-cli/src/utils/database.js.map +1 -1
  151. package/codeyam-cli/src/utils/devServerState.js +71 -0
  152. package/codeyam-cli/src/utils/devServerState.js.map +1 -0
  153. package/codeyam-cli/src/utils/editorApi.js +79 -0
  154. package/codeyam-cli/src/utils/editorApi.js.map +1 -0
  155. package/codeyam-cli/src/utils/editorAudit.js +355 -0
  156. package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
  157. package/codeyam-cli/src/utils/editorBroadcastViewport.js +26 -0
  158. package/codeyam-cli/src/utils/editorBroadcastViewport.js.map +1 -0
  159. package/codeyam-cli/src/utils/editorCapture.js +102 -0
  160. package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
  161. package/codeyam-cli/src/utils/editorDeleteScenario.js +67 -0
  162. package/codeyam-cli/src/utils/editorDeleteScenario.js.map +1 -0
  163. package/codeyam-cli/src/utils/editorDevServer.js +197 -0
  164. package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
  165. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +50 -0
  166. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
  167. package/codeyam-cli/src/utils/editorEntityHelpers.js +129 -0
  168. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -0
  169. package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
  170. package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
  171. package/codeyam-cli/src/utils/editorJournal.js +225 -0
  172. package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
  173. package/codeyam-cli/src/utils/editorLoaderHelpers.js +152 -0
  174. package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
  175. package/codeyam-cli/src/utils/editorMigration.js +224 -0
  176. package/codeyam-cli/src/utils/editorMigration.js.map +1 -0
  177. package/codeyam-cli/src/utils/editorMockState.js +248 -0
  178. package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
  179. package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
  180. package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
  181. package/codeyam-cli/src/utils/editorPreview.js +137 -0
  182. package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
  183. package/codeyam-cli/src/utils/editorScenarioSwitch.js +112 -0
  184. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
  185. package/codeyam-cli/src/utils/editorScenarios.js +548 -0
  186. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
  187. package/codeyam-cli/src/utils/editorSeedAdapter.js +422 -0
  188. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
  189. package/codeyam-cli/src/utils/editorShouldRevalidate.js +21 -0
  190. package/codeyam-cli/src/utils/editorShouldRevalidate.js.map +1 -0
  191. package/codeyam-cli/src/utils/entityChangeStatus.js +366 -0
  192. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  193. package/codeyam-cli/src/utils/entityChangeStatus.server.js +196 -0
  194. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
  195. package/codeyam-cli/src/utils/fileWatcher.js +38 -0
  196. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  197. package/codeyam-cli/src/utils/git.js +51 -0
  198. package/codeyam-cli/src/utils/git.js.map +1 -1
  199. package/codeyam-cli/src/utils/install-skills.js +37 -17
  200. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  201. package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
  202. package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
  203. package/codeyam-cli/src/utils/progress.js +2 -2
  204. package/codeyam-cli/src/utils/progress.js.map +1 -1
  205. package/codeyam-cli/src/utils/project.js +15 -5
  206. package/codeyam-cli/src/utils/project.js.map +1 -1
  207. package/codeyam-cli/src/utils/routePatternMatching.js +129 -0
  208. package/codeyam-cli/src/utils/routePatternMatching.js.map +1 -0
  209. package/codeyam-cli/src/utils/scenarioCoverage.js +74 -0
  210. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -0
  211. package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
  212. package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
  213. package/codeyam-cli/src/utils/scenariosManifest.js +249 -0
  214. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
  215. package/codeyam-cli/src/utils/serverState.js +30 -0
  216. package/codeyam-cli/src/utils/serverState.js.map +1 -1
  217. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +47 -16
  218. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  219. package/codeyam-cli/src/utils/simulationGateMiddleware.js +8 -1
  220. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  221. package/codeyam-cli/src/utils/slugUtils.js +25 -0
  222. package/codeyam-cli/src/utils/slugUtils.js.map +1 -0
  223. package/codeyam-cli/src/utils/syncMocksMiddleware.js +2 -2
  224. package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
  225. package/codeyam-cli/src/utils/telemetry.js +106 -0
  226. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  227. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  228. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  229. package/codeyam-cli/src/utils/testRunner.js +1 -1
  230. package/codeyam-cli/src/utils/testRunner.js.map +1 -1
  231. package/codeyam-cli/src/utils/webappDetection.js +21 -0
  232. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  233. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +35 -0
  234. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -0
  235. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +40 -0
  236. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -0
  237. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +628 -0
  238. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -0
  239. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +146 -0
  240. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -0
  241. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +65 -0
  242. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -0
  243. package/codeyam-cli/src/webserver/app/lib/git.js +397 -0
  244. package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
  245. package/codeyam-cli/src/webserver/app/types/editor.js +8 -0
  246. package/codeyam-cli/src/webserver/app/types/editor.js.map +1 -0
  247. package/codeyam-cli/src/webserver/backgroundServer.js +18 -4
  248. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  249. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CzTDWkF2.js +1 -0
  250. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-C76mRRiF.js → EntityItem-BFbq6iFk.js} +5 -5
  251. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-CQgyEGV-.js +1 -0
  252. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CobE682z.js → EntityTypeIcon-B6OMi58N.js} +9 -9
  253. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-DuYodzo1.js +1 -0
  254. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-CXo9EeCl.js +25 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DYCNb2It.js +3 -0
  256. package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-BU_OAEMP.js → LoadingDots-By5zI316.js} +1 -1
  257. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-ceAyBX-H.js → LogViewer-CZgY3sxX.js} +3 -3
  258. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-djPLI-WV.js → ReportIssueModal-CnYYwRDw.js} +4 -4
  259. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CDoF7ZpU.js +1 -0
  260. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-B76aig_2.js → ScenarioViewer-DrnfvaLL.js} +3 -3
  261. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Df3UCi8k.js +34 -0
  262. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-CK7-NaPZ.js +1 -0
  263. package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-DRKR9T0U.js +1 -0
  264. package/codeyam-cli/src/webserver/build/client/assets/{_index-C96V0n15.js → _index-ClR-g3tY.js} +4 -4
  265. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BpKzcsJz.js → activity.(_tab)-DTH6ydEA.js} +8 -8
  266. package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
  267. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
  268. package/codeyam-cli/src/webserver/build/client/assets/{addon-web-links-Duc5hnl7.js → addon-web-links-74hnHF59.js} +1 -1
  269. package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
  270. package/codeyam-cli/src/webserver/build/client/assets/{agent-transcripts-D9hemwl6.js → agent-transcripts-B8CYhCO9.js} +7 -7
  271. package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
  272. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  273. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  274. package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
  275. package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
  276. package/codeyam-cli/src/webserver/build/client/assets/api.editor-rename-scenario-l0sNRNKZ.js +1 -0
  277. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-seed-state-l0sNRNKZ.js +1 -0
  278. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-coverage-l0sNRNKZ.js +1 -0
  279. package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-prompt-l0sNRNKZ.js +1 -0
  280. package/codeyam-cli/src/webserver/build/client/assets/api.editor-session-l0sNRNKZ.js +1 -0
  281. package/codeyam-cli/src/webserver/build/client/assets/{book-open-D_nMCFmP.js → book-open-CLaoh4ac.js} +2 -2
  282. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BH2h1Ea2.js → chevron-down-BZ2DZxbW.js} +2 -2
  283. package/codeyam-cli/src/webserver/build/client/assets/{chunk-JZWAC4HX-C4pqxYJB.js → chunk-JZWAC4HX-BBXArFPl.js} +13 -21
  284. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-DyIKORY6.js → circle-check-CT4unAk-.js} +2 -2
  285. package/codeyam-cli/src/webserver/build/client/assets/{copy-NDbZjXao.js → copy-zK0B6Nu-.js} +3 -3
  286. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DJB0YQJL.js +41 -0
  287. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CkXFP_i-.js +1 -0
  288. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-DPw7NZHc.js +1 -0
  289. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CjC3_6JI.js +58 -0
  290. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-DBa7T2FK.js +41 -0
  291. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CrjR3zZW.js → entity._sha._-BqAN7hyG.js} +3 -3
  292. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-BOi8kpwd.js +6 -0
  293. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-Dg1NhIms.js +6 -0
  294. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CJX6kkkV.js +6 -0
  295. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMvVHNXU.js → entity._sha_.edit._scenarioId-BhVjZhKg.js} +2 -2
  296. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DTvKq3TY.js → entry.client-_gzKltPN.js} +6 -6
  297. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-Daa96Fr1.js +1 -0
  298. package/codeyam-cli/src/webserver/build/client/assets/files-CV_17tZS.js +1 -0
  299. package/codeyam-cli/src/webserver/build/client/assets/git-D-YXmMbR.js +1 -0
  300. package/codeyam-cli/src/webserver/build/client/assets/globals-DRvOjyO3.css +1 -0
  301. package/codeyam-cli/src/webserver/build/client/assets/index-Blo6EK8G.js +15 -0
  302. package/codeyam-cli/src/webserver/build/client/assets/{index-10oVnAAH.js → index-BsX0F-9C.js} +1 -1
  303. package/codeyam-cli/src/webserver/build/client/assets/{index-BcvgDzbZ.js → index-CCrgCshv.js} +1 -1
  304. package/codeyam-cli/src/webserver/build/client/assets/jsx-runtime-D_zvdyIk.js +9 -0
  305. package/codeyam-cli/src/webserver/build/client/assets/labs-Byazq8Pv.js +1 -0
  306. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BAXYRVEO.js → loader-circle-DVQ0oHR7.js} +2 -2
  307. package/codeyam-cli/src/webserver/build/client/assets/manifest-75b1b319.js +1 -0
  308. package/codeyam-cli/src/webserver/build/client/assets/memory-b-VmA2Vj.js +101 -0
  309. package/codeyam-cli/src/webserver/build/client/assets/{pause-DTAcYxBt.js → pause-DGcndCAa.js} +3 -3
  310. package/codeyam-cli/src/webserver/build/client/assets/root-F-k2uYj5.js +67 -0
  311. package/codeyam-cli/src/webserver/build/client/assets/{search-fKo7v0Zo.js → search-C0Uw0bcK.js} +2 -2
  312. package/codeyam-cli/src/webserver/build/client/assets/settings-OoNgHIfW.js +1 -0
  313. package/codeyam-cli/src/webserver/build/client/assets/simulations-Bcemfu8a.js +1 -0
  314. package/codeyam-cli/src/webserver/build/client/assets/{terminal-BG4heKCG.js → terminal-BgMmG7R9.js} +3 -3
  315. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-DtSmdtM4.js → triangle-alert-Cs87hJYK.js} +2 -2
  316. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BR3Rs7JY.js +1 -0
  317. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-C14nCb1q.js → useLastLogLine-BxxP_XF9.js} +1 -1
  318. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BermyNU5.js +1 -0
  319. package/codeyam-cli/src/webserver/build/client/assets/useToast-a_QN_W9_.js +1 -0
  320. package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
  321. package/codeyam-cli/src/webserver/build/client/sound-test.html +98 -0
  322. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-lv2ooewK.js +13 -0
  323. package/codeyam-cli/src/webserver/build/server/assets/index-Im3Smyei.js +1 -0
  324. package/codeyam-cli/src/webserver/build/server/assets/init-BjuAFKGM.js +10 -0
  325. package/codeyam-cli/src/webserver/build/server/assets/progress-CHTtrxFG.js +1 -0
  326. package/codeyam-cli/src/webserver/build/server/assets/server-build-CNjF0B9B.js +551 -0
  327. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  328. package/codeyam-cli/src/webserver/build-info.json +5 -5
  329. package/codeyam-cli/src/webserver/editorProxy.js +755 -51
  330. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -1
  331. package/codeyam-cli/src/webserver/idleDetector.js +73 -0
  332. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -0
  333. package/codeyam-cli/src/webserver/mockStateEvents.js +28 -0
  334. package/codeyam-cli/src/webserver/mockStateEvents.js.map +1 -0
  335. package/codeyam-cli/src/webserver/public/sound-test.html +98 -0
  336. package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
  337. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +94 -4
  338. package/codeyam-cli/src/webserver/server.js +176 -12
  339. package/codeyam-cli/src/webserver/server.js.map +1 -1
  340. package/codeyam-cli/src/webserver/terminalServer.js +218 -140
  341. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  342. package/codeyam-cli/templates/chrome-extension-react/EXTENSION_SETUP.md +75 -0
  343. package/codeyam-cli/templates/chrome-extension-react/README.md +46 -0
  344. package/codeyam-cli/templates/chrome-extension-react/gitignore +15 -0
  345. package/codeyam-cli/templates/chrome-extension-react/index.html +12 -0
  346. package/codeyam-cli/templates/chrome-extension-react/package.json +27 -0
  347. package/codeyam-cli/templates/chrome-extension-react/popup.html +12 -0
  348. package/codeyam-cli/templates/chrome-extension-react/public/manifest.json +15 -0
  349. package/codeyam-cli/templates/chrome-extension-react/src/background/service-worker.ts +7 -0
  350. package/codeyam-cli/templates/chrome-extension-react/src/globals.css +6 -0
  351. package/codeyam-cli/templates/chrome-extension-react/src/lib/storage.ts +37 -0
  352. package/codeyam-cli/templates/chrome-extension-react/src/popup/App.tsx +12 -0
  353. package/codeyam-cli/templates/chrome-extension-react/src/popup/main.tsx +10 -0
  354. package/codeyam-cli/templates/chrome-extension-react/tsconfig.json +24 -0
  355. package/codeyam-cli/templates/chrome-extension-react/vite.config.ts +41 -0
  356. package/codeyam-cli/templates/codeyam-editor-claude.md +84 -5
  357. package/codeyam-cli/templates/editor-step-hook.py +198 -22
  358. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +89 -0
  359. package/codeyam-cli/templates/expo-react-native/README.md +41 -0
  360. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +33 -0
  361. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +12 -0
  362. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +12 -0
  363. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +12 -0
  364. package/codeyam-cli/templates/expo-react-native/app.json +18 -0
  365. package/codeyam-cli/templates/expo-react-native/babel.config.js +9 -0
  366. package/codeyam-cli/templates/expo-react-native/gitignore +12 -0
  367. package/codeyam-cli/templates/expo-react-native/global.css +3 -0
  368. package/codeyam-cli/templates/expo-react-native/lib/storage.ts +32 -0
  369. package/codeyam-cli/templates/expo-react-native/metro.config.js +6 -0
  370. package/codeyam-cli/templates/expo-react-native/nativewind-env.d.ts +1 -0
  371. package/codeyam-cli/templates/expo-react-native/package.json +38 -0
  372. package/codeyam-cli/templates/expo-react-native/tailwind.config.js +10 -0
  373. package/codeyam-cli/templates/expo-react-native/tsconfig.json +10 -0
  374. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_PATTERNS.md +308 -0
  375. package/codeyam-cli/templates/nextjs-prisma-sqlite/AUTH_UPGRADE.md +304 -0
  376. package/codeyam-cli/templates/nextjs-prisma-sqlite/DATABASE.md +126 -0
  377. package/codeyam-cli/templates/nextjs-prisma-sqlite/FEATURE_PATTERNS.md +37 -0
  378. package/codeyam-cli/templates/nextjs-prisma-sqlite/README.md +53 -0
  379. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
  380. package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +9 -4
  381. package/codeyam-cli/templates/nextjs-prisma-sqlite/env +4 -0
  382. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +21 -0
  383. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +5 -1
  384. package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +4 -1
  385. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +127 -0
  386. package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
  387. package/codeyam-cli/templates/nextjs-prisma-supabase/README.md +52 -0
  388. package/codeyam-cli/templates/{nextjs-prisma-sqlite/PRISMA_SETUP.md → nextjs-prisma-supabase/SUPABASE_SETUP.md} +37 -17
  389. package/codeyam-cli/templates/nextjs-prisma-supabase/app/api/todos/route.ts +17 -0
  390. package/codeyam-cli/templates/nextjs-prisma-supabase/app/globals.css +26 -0
  391. package/codeyam-cli/templates/nextjs-prisma-supabase/app/layout.tsx +34 -0
  392. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/prisma.ts +20 -0
  393. package/codeyam-cli/templates/nextjs-prisma-supabase/app/lib/supabase.ts +12 -0
  394. package/codeyam-cli/templates/nextjs-prisma-supabase/app/page.tsx +10 -0
  395. package/codeyam-cli/templates/nextjs-prisma-supabase/env +9 -0
  396. package/codeyam-cli/templates/nextjs-prisma-supabase/eslint.config.mjs +11 -0
  397. package/codeyam-cli/templates/nextjs-prisma-supabase/gitignore +40 -0
  398. package/codeyam-cli/templates/nextjs-prisma-supabase/next.config.ts +11 -0
  399. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +37 -0
  400. package/codeyam-cli/templates/nextjs-prisma-supabase/postcss.config.mjs +7 -0
  401. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/schema.prisma +27 -0
  402. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma/seed.ts +39 -0
  403. package/codeyam-cli/templates/nextjs-prisma-supabase/prisma.config.ts +12 -0
  404. package/codeyam-cli/templates/nextjs-prisma-supabase/tsconfig.json +34 -0
  405. package/codeyam-cli/templates/seed-adapters/supabase.ts +282 -0
  406. package/codeyam-cli/templates/{codeyam-dev-mode.md → skills/codeyam-dev-mode/SKILL.md} +3 -3
  407. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +211 -0
  408. package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
  409. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
  410. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  411. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  412. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
  413. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  414. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  415. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
  416. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  417. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  418. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  419. package/package.json +16 -10
  420. package/packages/ai/src/lib/generateExecutionFlows.js +0 -11
  421. package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
  422. package/packages/analyze/src/lib/ProjectAnalyzer.js +10 -4
  423. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  424. package/packages/analyze/src/lib/asts/index.js +4 -2
  425. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  426. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
  427. package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
  428. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +104 -0
  429. package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -1
  430. package/packages/database/src/lib/loadEntities.js +0 -6
  431. package/packages/database/src/lib/loadEntities.js.map +1 -1
  432. package/packages/database/src/lib/updateCommitMetadata.js +0 -25
  433. package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
  434. package/packages/types/src/enums/ProjectFramework.js +2 -0
  435. package/packages/types/src/enums/ProjectFramework.js.map +1 -1
  436. package/scripts/npm-post-install.cjs +34 -0
  437. package/codeyam-cli/src/webserver/build/client/assets/CopyButton-DmJveP3T.js +0 -1
  438. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-g3saevPb.js +0 -1
  439. package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +0 -1
  440. package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-DYFW3lDD.js +0 -25
  441. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DLeucoVX.js +0 -3
  442. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BED4B6sP.js +0 -1
  443. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +0 -34
  444. package/codeyam-cli/src/webserver/build/client/assets/Terminal-CcG8YTLx.js +0 -41
  445. package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-C8OKAR5x.js +0 -1
  446. package/codeyam-cli/src/webserver/build/client/assets/addon-fit-CUXOrorO.js +0 -1
  447. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CMT1jU2q.js +0 -21
  448. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BiM6z3Do.js +0 -1
  449. package/codeyam-cli/src/webserver/build/client/assets/editor-W_IGJ2Kd.js +0 -7
  450. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-D6SEzMCu.js +0 -6
  451. package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-C28BiQzt.js +0 -6
  452. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +0 -6
  453. package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-cPo8LiG3.js +0 -1
  454. package/codeyam-cli/src/webserver/build/client/assets/files-DO4CZ16O.js +0 -1
  455. package/codeyam-cli/src/webserver/build/client/assets/git-CFCTYk9I.js +0 -15
  456. package/codeyam-cli/src/webserver/build/client/assets/globals-BZB_H1w2.css +0 -1
  457. package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +0 -1
  458. package/codeyam-cli/src/webserver/build/client/assets/manifest-8daa4147.js +0 -1
  459. package/codeyam-cli/src/webserver/build/client/assets/memory-FweZHj5U.js +0 -93
  460. package/codeyam-cli/src/webserver/build/client/assets/root-DiRdBreB.js +0 -67
  461. package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +0 -1
  462. package/codeyam-cli/src/webserver/build/client/assets/simulations-B3aOzpCZ.js +0 -1
  463. package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-ByhSyh0W.js +0 -1
  464. package/codeyam-cli/src/webserver/build/client/assets/useReportContext-O-jkvSPx.js +0 -1
  465. package/codeyam-cli/src/webserver/build/client/assets/useToast-9FIWuYfK.js +0 -1
  466. package/codeyam-cli/src/webserver/build/client/assets/xterm-DMSzMhqy.js +0 -9
  467. package/codeyam-cli/src/webserver/build/server/assets/index-BzAbACSx.js +0 -1
  468. package/codeyam-cli/src/webserver/build/server/assets/server-build-OdUocH6P.js +0 -362
  469. package/codeyam-cli/templates/codeyam-editor.md +0 -68
  470. package/scripts/finalize-analyzer.cjs +0 -13
  471. /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
  472. /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
  473. /package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -0
  474. /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
  475. /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
  476. /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
  477. /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
@@ -1,14 +1,14 @@
1
- import { spawn } from 'child_process';
1
+ import { spawn, execSync } from 'child_process';
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import { fileURLToPath } from 'url';
5
- import { isServerRunning, saveServerState, killServer } from "./serverState.js";
5
+ import { isServerRunning, saveServerState, killServer, findFreePort, checkPortFree, } from "./serverState.js";
6
6
  import { cliVersion } from "./versionInfo.js";
7
7
  const __filename = fileURLToPath(import.meta.url);
8
8
  const __dirname = path.dirname(__filename);
9
9
  export async function startBackgroundServer(options) {
10
- const { port, rootPath, project, branch, processName = 'server' } = options;
11
- const url = `http://localhost:${port}`;
10
+ let port = options.port;
11
+ const { rootPath, project, branch, processName = 'server' } = options;
12
12
  // Check if server is already running
13
13
  let isRestart = false;
14
14
  const { running, state, pids } = isServerRunning();
@@ -25,13 +25,17 @@ export async function startBackgroundServer(options) {
25
25
  }
26
26
  }
27
27
  else if (running && pids && pids.length > 0) {
28
- // Found codeyam-server processes without a state file for this project
29
- // (e.g. a server from a different project on the same port).
30
- // Kill them all to avoid port conflicts.
31
- console.log(`Found ${pids.length} orphaned codeyam-server process(es), killing...`);
32
- killServer();
33
- isRestart = true;
28
+ // Found codeyam-server processes without a state file for this project.
29
+ // These likely belong to another project don't kill them.
30
+ // Instead, find a free port so both projects can run simultaneously.
31
+ if (!checkPortFree(port)) {
32
+ port = findFreePort(port, checkPortFree);
33
+ }
34
+ else {
35
+ // Port is free but there are orphaned processes (on other ports) — safe to proceed
36
+ }
34
37
  }
38
+ const url = `http://localhost:${port}`;
35
39
  // Bootstrap new background server process
36
40
  const serverScriptPath = path.join(__dirname, '..', 'webserver', 'bootstrap.js');
37
41
  // Create log files for debugging
@@ -58,7 +62,7 @@ export async function startBackgroundServer(options) {
58
62
  else {
59
63
  const outLog = fs.openSync(path.join(logDir, 'background-server.log'), 'a');
60
64
  const errLog = fs.openSync(path.join(logDir, 'background-server-error.log'), 'a');
61
- const child = spawn('node', [serverScriptPath], {
65
+ const child = spawn('node', ['--max-old-space-size=8192', serverScriptPath], {
62
66
  detached: true,
63
67
  stdio: ['ignore', outLog, errLog],
64
68
  env: { ...process.env, ...serverEnv },
@@ -66,31 +70,103 @@ export async function startBackgroundServer(options) {
66
70
  child.unref();
67
71
  childPid = child.pid;
68
72
  }
73
+ // Verify the port is free before polling
74
+ try {
75
+ const portCheck = execSync(`lsof -ti:${port}`, { encoding: 'utf8' }).trim();
76
+ if (portCheck) {
77
+ const portPids = portCheck.split('\n');
78
+ const ownPid = portPids.find((p) => p === String(childPid));
79
+ const otherPids = portPids.filter((p) => p !== String(childPid));
80
+ if (otherPids.length > 0) {
81
+ console.warn(`[BackgroundServer] Port ${port} still held by other PID(s): ${otherPids.join(', ')} (server PID: ${childPid})`);
82
+ }
83
+ // ownPid check confirms server is listening — no need to log
84
+ }
85
+ }
86
+ catch {
87
+ // No process on port — expected during early startup
88
+ }
69
89
  // Poll health endpoint until server is ready (includes FileWatcher initial sync)
70
90
  // Use 127.0.0.1 instead of localhost to avoid IPv6 resolution issues with fetch
71
91
  const healthUrl = `http://127.0.0.1:${port}/api/health`;
72
92
  const maxWaitMs = 60000; // 60 second timeout (initial sync can take time for large projects)
73
- const pollIntervalMs = 200;
93
+ const pollIntervalMs = 500;
74
94
  const startTime = Date.now();
95
+ let lastError = '';
96
+ let progressLogged = false;
75
97
  while (Date.now() - startTime < maxWaitMs) {
98
+ // Check if the server process is still alive
99
+ try {
100
+ process.kill(childPid, 0); // Signal 0 = just check if process exists
101
+ }
102
+ catch {
103
+ const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
104
+ console.error(`[BackgroundServer] Server process (PID ${childPid}) died after ${elapsed}s`);
105
+ // Show last few lines of the log
106
+ const logPath = path.join(logDir, 'background-server.log');
107
+ try {
108
+ const log = fs.readFileSync(logPath, 'utf8');
109
+ const lines = log.trim().split('\n');
110
+ const tail = lines.slice(-15).join('\n');
111
+ console.error(`[BackgroundServer] Last log lines:\n${tail}`);
112
+ }
113
+ catch {
114
+ console.error(`[BackgroundServer] Could not read log at: ${logPath}`);
115
+ }
116
+ // Also show error log
117
+ const errLogPath = path.join(logDir, 'background-server-error.log');
118
+ try {
119
+ const errLog = fs.readFileSync(errLogPath, 'utf8');
120
+ const errLines = errLog.trim().split('\n');
121
+ const errTail = errLines.slice(-15).join('\n');
122
+ if (errTail) {
123
+ console.error(`[BackgroundServer] Error log:\n${errTail}`);
124
+ }
125
+ }
126
+ catch {
127
+ // No error log
128
+ }
129
+ break;
130
+ }
76
131
  try {
77
132
  const response = await fetch(healthUrl);
78
133
  if (response.ok) {
79
134
  // Server is ready - health endpoint only available after full initialization
80
- const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
81
- console.log(`[BackgroundServer] Server ready after ${elapsed}s`);
135
+ // Server is ready start command prints its own status message
82
136
  break;
83
137
  }
138
+ lastError = `HTTP ${response.status}`;
84
139
  }
85
- catch {
86
- // Connection refused or other error - server not ready yet
140
+ catch (err) {
141
+ lastError =
142
+ err instanceof Error ? err.message.split('\n')[0] : String(err);
143
+ }
144
+ // Log progress every 10 seconds so the user knows it's not stuck
145
+ const elapsed = Date.now() - startTime;
146
+ if (elapsed >= 10000 && !progressLogged) {
147
+ console.log(`[BackgroundServer] Still waiting for server... (${(elapsed / 1000).toFixed(0)}s, last: ${lastError})`);
148
+ progressLogged = true;
149
+ }
150
+ else if (elapsed >= 20000 && elapsed % 10000 < pollIntervalMs) {
151
+ console.log(`[BackgroundServer] Still waiting... (${(elapsed / 1000).toFixed(0)}s, last: ${lastError})`);
87
152
  }
88
153
  await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
89
154
  }
90
155
  // Check if we timed out
91
156
  if (Date.now() - startTime >= maxWaitMs) {
92
157
  console.warn(`[BackgroundServer] Warning: Server did not become ready within ${maxWaitMs / 1000}s`);
93
- console.warn(`[BackgroundServer] Check logs at: ${path.join(logDir, 'background-server.log')}`);
158
+ console.warn(`[BackgroundServer] Last error: ${lastError}`);
159
+ // Show log tail on timeout too
160
+ const logPath = path.join(logDir, 'background-server.log');
161
+ try {
162
+ const log = fs.readFileSync(logPath, 'utf8');
163
+ const lines = log.trim().split('\n');
164
+ const tail = lines.slice(-15).join('\n');
165
+ console.warn(`[BackgroundServer] Last log lines:\n${tail}`);
166
+ }
167
+ catch {
168
+ console.warn(`[BackgroundServer] Could not read log at: ${logPath}`);
169
+ }
94
170
  }
95
171
  // Save server state
96
172
  const serverState = {
@@ -132,7 +208,7 @@ async function spawnServerWindows(serverScriptPath, serverEnv, logDir) {
132
208
  `$env:CODEYAM_LOG_DIR = '${psEscape(logDir)}'`,
133
209
  // Start node with bootstrap.js in a hidden window
134
210
  `$bootstrapPath = '${psEscape(serverScriptPath)}'`,
135
- `$p = Start-Process -FilePath "node" -ArgumentList ('"{0}"' -f $bootstrapPath) -WindowStyle Hidden -PassThru`,
211
+ `$p = Start-Process -FilePath "node" -ArgumentList ('--max-old-space-size=8192', '"{0}"' -f $bootstrapPath) -WindowStyle Hidden -PassThru`,
136
212
  `Write-Output $p.Id`,
137
213
  ].join('\n'));
138
214
  // Run PowerShell hidden to start the server and get the PID
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/utils/backgroundServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/utils/backgroundServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAU3C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgC;IAEhC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEtE,qCAAqC;IACrC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;IACnD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,0DAA0D;QAC1D,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,iCAAiC,KAAK,CAAC,UAAU,IAAI,SAAS,WAAW,UAAU,yBAAyB,CAC7G,CAAC;YACF,UAAU,EAAE,CAAC,CAAC,yCAAyC;YACvD,SAAS,GAAG,IAAI,CAAC;YACjB,mCAAmC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,wEAAwE;QACxE,4DAA4D;QAC5D,qEAAqE;QACrE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,mFAAmF;QACrF,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,SAAS,EACT,IAAI,EACJ,WAAW,EACX,cAAc,CACf,CAAC;IAEF,iCAAiC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAA2B;QACxC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,QAAQ;QAC3B,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACvD,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACpD,oBAAoB,EAAE,WAAW,WAAW,EAAE;QAC9C,6EAA6E;QAC7E,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB;YACtC,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,IAAI,QAAgB,CAAC;IAErB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,QAAQ,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,EAChD,GAAG,CACJ,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CACjB,MAAM,EACN,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,EAC/C;YACE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;SACtC,CACF,CAAC;QACF,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,QAAQ,GAAG,KAAK,CAAC,GAAI,CAAC;IACxB,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CACV,2BAA2B,IAAI,gCAAgC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,QAAQ,GAAG,CAChH,CAAC;YACJ,CAAC;YACD,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,MAAM,SAAS,GAAG,oBAAoB,IAAI,aAAa,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,oEAAoE;IAC7F,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,6CAA6C;QAC7C,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,0CAA0C;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CACX,0CAA0C,QAAQ,gBAAgB,OAAO,GAAG,CAC7E,CAAC;YACF,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,sBAAsB;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;YACD,MAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,6EAA6E;gBAC7E,gEAAgE;gBAChE,MAAM;YACR,CAAC;YACD,SAAS,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;gBACP,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;QAED,iEAAiE;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CACT,mDAAmD,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,SAAS,GAAG,CACvG,CAAC;YACF,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,GAAG,KAAK,GAAG,cAAc,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CACT,wCAAwC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,SAAS,GAAG,CAC5F,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACV,kEAAkE,SAAS,GAAG,IAAI,GAAG,CACtF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC5D,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,QAAQ;QACb,IAAI;QACJ,GAAG;QACH,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,QAAQ;QACrB,MAAM;QACN,UAAU;KACX,CAAC;IAEF,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,kBAAkB,CAC/B,gBAAwB,EACxB,SAAiC,EACjC,MAAc;IAEd,qEAAqE;IACrE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtD,oEAAoE;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CACnD,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,YAAY,EACZ;QACE,GAAG,QAAQ;QACX,2DAA2D;QAC3D,2BAA2B,QAAQ,CAAC,MAAM,CAAC,GAAG;QAC9C,kDAAkD;QAClD,qBAAqB,QAAQ,CAAC,gBAAgB,CAAC,GAAG;QAClD,0IAA0I;QAC1I,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,KAAK,CACd,gBAAgB,EAChB,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,EACnE;YACE,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CACF,CAAC;QAEF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,EAAE,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,EAAE,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CACJ,IAAI,KAAK,CAAC,wDAAwD,CAAC,CACpE,CAAC;QACJ,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CACP,+CAA+C,IAAI,MAAM,MAAM,EAAE,CAClE,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CACP,sDAAsD,MAAM,EAAE,CAC/D,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const IS_INTERNAL_BUILD = typeof false !== 'undefined'
2
+ ? false
3
+ : false;
4
+ //# sourceMappingURL=buildFlags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildFlags.js","sourceRoot":"","sources":["../../../../src/utils/buildFlags.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAC5B,OAAO,0BAA0B,KAAK,WAAW;IAC/C,CAAC,CAAC,0BAA0B;IAC5B,CAAC,CAAC,KAAK,CAAC"}
@@ -2,9 +2,11 @@ import { setupSecrets } from "./secrets.js";
2
2
  import { generateSha, loadBranches, loadProject, upsertBranches, upsertCommits, upsertProjects, } from "../../../packages/database/index.js";
3
3
  import { randomUUID } from 'crypto';
4
4
  import { execSync } from 'child_process';
5
+ import * as fs from 'fs';
5
6
  import path from 'path';
6
7
  import { getProjectRoot } from "../state.js";
7
8
  import { updateCommitBranchesInDb } from "../../../packages/github/index.js";
9
+ let bootstrapAttempted = false;
8
10
  export function getSqlitePath() {
9
11
  // Allow override via environment variable (useful for testing/debugging)
10
12
  if (process.env.SQLITE_PATH) {
@@ -21,6 +23,15 @@ export function getSqlitePath() {
21
23
  * Note: OPENAI_API_KEY is optional - if not provided, CodeYam will use Claude CLI mode
22
24
  */
23
25
  export async function initializeEnvironment() {
26
+ // Fresh clone bootstrap: if config exists but DB doesn't, re-init.
27
+ // Only attempt once to avoid recursion (init itself calls testEnvironment).
28
+ if (!bootstrapAttempted) {
29
+ bootstrapAttempted = true;
30
+ const projectRoot = getProjectRoot();
31
+ if (projectRoot) {
32
+ await bootstrapIfFreshClone(projectRoot);
33
+ }
34
+ }
24
35
  const secrets = await setupSecrets();
25
36
  process.env.SQLITE_PATH = getSqlitePath();
26
37
  // Set OPENAI_API_KEY if available (optional - Claude CLI mode works without it)
@@ -51,8 +62,8 @@ export async function testEnvironment() {
51
62
  */
52
63
  export async function requireBranchAndProject(slug) {
53
64
  await initializeEnvironment();
54
- // First try to load existing project
55
- const project = await loadProject({ slug });
65
+ // First try to load existing project (silent — the thrown error is sufficient)
66
+ const project = await loadProject({ slug, silent: true });
56
67
  if (!project) {
57
68
  throw new Error(`Project with slug "${slug}" not found in database`);
58
69
  }
@@ -277,4 +288,28 @@ export async function createBaselineCommit(project, branch, realGitSha) {
277
288
  });
278
289
  return createdCommits[0];
279
290
  }
291
+ /**
292
+ * Fresh clone bootstrap: if config.json exists (committed) but db.sqlite3
293
+ * doesn't (gitignored), run `init --force` to recreate the DB, project
294
+ * record, and branch. This enables `codeyam start` and `codeyam editor`
295
+ * to work on a freshly cloned repo without manual `codeyam init`.
296
+ *
297
+ * Returns true if bootstrap was performed.
298
+ */
299
+ export async function bootstrapIfFreshClone(projectRoot) {
300
+ const dbPath = path.join(projectRoot, '.codeyam', 'db.sqlite3');
301
+ const configPath = path.join(projectRoot, '.codeyam', 'config.json');
302
+ if (fs.existsSync(dbPath) || !fs.existsSync(configPath)) {
303
+ return false;
304
+ }
305
+ // Lazy import to avoid circular dependency
306
+ const { default: initCommand } = await import('../commands/init.js');
307
+ await initCommand.handler({
308
+ force: true,
309
+ autoInit: true,
310
+ $0: '',
311
+ _: [],
312
+ });
313
+ return true;
314
+ }
280
315
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/utils/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../src/utils/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Pure state transition logic for the editor dev server.
3
+ *
4
+ * Extracted from the inline polling effect in editor.tsx so the
5
+ * state machine can be unit-tested without React or network concerns.
6
+ */
7
+ /**
8
+ * Given the current dev server state and an API poll response, compute
9
+ * the next state. This is a pure function with no side effects.
10
+ */
11
+ export function computeDevServerTransition(current, response) {
12
+ if (response.status === 'error') {
13
+ return {
14
+ url: null,
15
+ proxyUrl: null,
16
+ isStarting: false,
17
+ error: response.errorMessage || 'Dev server crashed',
18
+ canStartServer: current.canStartServer,
19
+ autoStartAttempted: current.autoStartAttempted,
20
+ shouldAutoStart: false,
21
+ };
22
+ }
23
+ if (response.url) {
24
+ return {
25
+ url: response.url,
26
+ proxyUrl: response.proxyUrl || null,
27
+ isStarting: false,
28
+ error: null,
29
+ canStartServer: true,
30
+ autoStartAttempted: current.autoStartAttempted,
31
+ shouldAutoStart: false,
32
+ };
33
+ }
34
+ if (response.status === 'starting') {
35
+ return {
36
+ ...current,
37
+ isStarting: true,
38
+ error: null,
39
+ canStartServer: true,
40
+ shouldAutoStart: false,
41
+ };
42
+ }
43
+ if (response.status === 'stopped') {
44
+ if (current.url) {
45
+ // Server was running but now stopped unexpectedly
46
+ return {
47
+ ...current,
48
+ url: null,
49
+ isStarting: false,
50
+ shouldAutoStart: false,
51
+ };
52
+ }
53
+ if (!current.autoStartAttempted) {
54
+ // First load with no server running — signal auto-start
55
+ return {
56
+ ...current,
57
+ autoStartAttempted: true,
58
+ shouldAutoStart: true,
59
+ };
60
+ }
61
+ // Already attempted — ensure spinner is off
62
+ return {
63
+ ...current,
64
+ isStarting: false,
65
+ shouldAutoStart: false,
66
+ };
67
+ }
68
+ // Unknown status — no changes
69
+ return { ...current, shouldAutoStart: false };
70
+ }
71
+ //# sourceMappingURL=devServerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devServerState.js","sourceRoot":"","sources":["../../../../src/utils/devServerState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAuB,EACvB,QAA8B;IAE9B,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ,CAAC,YAAY,IAAI,oBAAoB;YACpD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;YACnC,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,GAAG,OAAO;YACV,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,kDAAkD;YAClD,OAAO;gBACL,GAAG,OAAO;gBACV,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,KAAK;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChC,wDAAwD;YACxD,OAAO;gBACL,GAAG,OAAO;gBACV,kBAAkB,EAAE,IAAI;gBACxB,eAAe,EAAE,IAAI;aACtB,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,OAAO;YACL,GAAG,OAAO;YACV,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,OAAO,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Editor API request builder.
3
+ *
4
+ * Maps editor subcommand names + optional JSON args to API request descriptors.
5
+ * Used by `codeyam editor <subcommand>` to avoid raw curl calls,
6
+ * which lets Claude Code auto-approve these operations.
7
+ */
8
+ const SUBCOMMAND_MAP = {
9
+ preview: (jsonArg) => {
10
+ const body = jsonArg ? JSON.parse(jsonArg) : undefined;
11
+ if (!body?.dimension) {
12
+ throw new Error('"dimension" is required for preview. Every preview call must specify the viewport dimension explicitly, e.g. \'{"dimension":"Desktop"}\'');
13
+ }
14
+ return {
15
+ method: 'POST',
16
+ endpoint: '/api/dev-mode-preview',
17
+ body,
18
+ };
19
+ },
20
+ 'show-results': () => ({
21
+ method: 'POST',
22
+ endpoint: '/api/editor-show-results',
23
+ }),
24
+ 'hide-results': () => ({
25
+ method: 'POST',
26
+ endpoint: '/api/editor-hide-results',
27
+ }),
28
+ commit: (jsonArg) => ({
29
+ method: 'POST',
30
+ endpoint: '/api/editor-commit',
31
+ ...(jsonArg ? { body: JSON.parse(jsonArg) } : {}),
32
+ }),
33
+ journal: (jsonArg) => ({
34
+ method: 'POST',
35
+ endpoint: '/api/editor-journal-entry',
36
+ ...(jsonArg ? { body: JSON.parse(jsonArg) } : {}),
37
+ }),
38
+ 'journal-update': (jsonArg) => ({
39
+ method: 'PATCH',
40
+ endpoint: '/api/editor-journal-update',
41
+ ...(jsonArg ? { body: JSON.parse(jsonArg) } : {}),
42
+ }),
43
+ 'dev-server': (jsonArg) => ({
44
+ method: jsonArg ? 'POST' : 'GET',
45
+ endpoint: '/api/editor-dev-server',
46
+ ...(jsonArg ? { body: JSON.parse(jsonArg) } : {}),
47
+ }),
48
+ 'journal-list': () => ({
49
+ method: 'GET',
50
+ endpoint: '/api/editor-journal',
51
+ }),
52
+ 'client-errors': () => ({
53
+ method: 'GET',
54
+ endpoint: '/api/editor-client-errors',
55
+ }),
56
+ };
57
+ export function buildEditorApiRequest(subcommand, jsonArg) {
58
+ const builder = SUBCOMMAND_MAP[subcommand];
59
+ if (!builder) {
60
+ throw new Error(`Unknown editor subcommand: ${subcommand}`);
61
+ }
62
+ return builder(jsonArg);
63
+ }
64
+ /**
65
+ * Execute an editor API request against the local server.
66
+ */
67
+ export async function callEditorApi(request, port) {
68
+ const url = `http://localhost:${port}${request.endpoint}`;
69
+ const options = { method: request.method };
70
+ if (request.body) {
71
+ options.headers = { 'Content-Type': 'application/json' };
72
+ options.body = JSON.stringify(request.body);
73
+ }
74
+ const res = await fetch(url, options);
75
+ const data = await res.json().catch(() => null);
76
+ return { ok: res.ok, status: res.status, data };
77
+ }
78
+ export const EDITOR_API_SUBCOMMANDS = Object.keys(SUBCOMMAND_MAP);
79
+ //# sourceMappingURL=editorApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorApi.js","sourceRoot":"","sources":["../../../../src/utils/editorApi.ts"],"names":[],"mappings":"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"}