@codeyam/codeyam-cli 0.1.0-staging.a77070e → 0.1.0-staging.aa28063

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 (349) 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 +4 -4
  4. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +135 -0
  5. package/analyzer-template/packages/ai/src/lib/astScopes/nodeToSource.ts +19 -0
  6. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +11 -4
  7. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +36 -9
  8. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.ts +10 -3
  9. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +16 -6
  10. package/analyzer-template/packages/analyze/index.ts +4 -1
  11. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +28 -2
  12. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +5 -36
  13. package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +10 -6
  14. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +9 -12
  15. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +21 -0
  16. package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +82 -10
  17. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +4 -0
  18. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +4 -0
  19. package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +8 -3
  20. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +239 -58
  21. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1684 -1462
  22. package/analyzer-template/packages/aws/package.json +6 -6
  23. package/analyzer-template/packages/database/package.json +2 -2
  24. package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +25 -15
  25. package/analyzer-template/packages/database/src/lib/loadEntity.ts +19 -8
  26. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
  27. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +7 -1
  28. package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
  29. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts +4 -1
  30. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -1
  31. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js +5 -5
  32. package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -1
  33. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts +3 -1
  34. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
  35. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +22 -1
  36. package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  37. package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +27 -0
  38. package/analyzer-template/project/analyzeFileEntities.ts +26 -0
  39. package/analyzer-template/project/runMultiScenarioServer.ts +26 -3
  40. package/background/src/lib/virtualized/project/analyzeFileEntities.js +22 -0
  41. package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
  42. package/background/src/lib/virtualized/project/runMultiScenarioServer.js +23 -3
  43. package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
  44. package/codeyam-cli/src/cli.js +15 -0
  45. package/codeyam-cli/src/cli.js.map +1 -1
  46. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  47. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  48. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  49. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  50. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  51. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  52. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js +55 -0
  53. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js.map +1 -0
  54. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +9 -9
  55. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +39 -3
  56. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  57. package/codeyam-cli/src/commands/editor.js +2080 -459
  58. package/codeyam-cli/src/commands/editor.js.map +1 -1
  59. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  60. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  61. package/codeyam-cli/src/commands/init.js +20 -0
  62. package/codeyam-cli/src/commands/init.js.map +1 -1
  63. package/codeyam-cli/src/data/designSystems.js +27 -0
  64. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  65. package/codeyam-cli/src/data/techStacks.js +1 -1
  66. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +44 -0
  67. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -1
  68. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +2426 -786
  69. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  70. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +66 -0
  71. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -1
  72. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  73. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  74. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +11 -3
  75. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -1
  76. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +98 -1
  77. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -1
  78. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js +1108 -0
  79. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js.map +1 -0
  80. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +120 -0
  81. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -1
  82. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +160 -1
  83. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  84. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +134 -1
  85. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -1
  86. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +246 -1
  87. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -1
  88. package/codeyam-cli/src/utils/__tests__/envFile.test.js +125 -0
  89. package/codeyam-cli/src/utils/__tests__/envFile.test.js.map +1 -0
  90. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js +500 -0
  91. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js.map +1 -0
  92. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +16 -1
  93. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -1
  94. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  95. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  96. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  97. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  98. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  99. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  100. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  101. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  102. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +6 -0
  103. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -1
  104. package/codeyam-cli/src/utils/analysisRunner.js +36 -7
  105. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  106. package/codeyam-cli/src/utils/analyzer.js +11 -1
  107. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  108. package/codeyam-cli/src/utils/designSystemShowcase.js +810 -0
  109. package/codeyam-cli/src/utils/designSystemShowcase.js.map +1 -0
  110. package/codeyam-cli/src/utils/editorApi.js +16 -0
  111. package/codeyam-cli/src/utils/editorApi.js.map +1 -1
  112. package/codeyam-cli/src/utils/editorAudit.js +385 -32
  113. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  114. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  115. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  116. package/codeyam-cli/src/utils/editorPreview.js +5 -3
  117. package/codeyam-cli/src/utils/editorPreview.js.map +1 -1
  118. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  119. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  120. package/codeyam-cli/src/utils/editorRoadmap.js +574 -0
  121. package/codeyam-cli/src/utils/editorRoadmap.js.map +1 -0
  122. package/codeyam-cli/src/utils/editorScenarioSwitch.js +27 -12
  123. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -1
  124. package/codeyam-cli/src/utils/editorScenarios.js +108 -5
  125. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  126. package/codeyam-cli/src/utils/editorSeedAdapter.js +69 -16
  127. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -1
  128. package/codeyam-cli/src/utils/entityChangeStatus.js +30 -2
  129. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -1
  130. package/codeyam-cli/src/utils/entityChangeStatus.server.js +31 -0
  131. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -1
  132. package/codeyam-cli/src/utils/envFile.js +90 -0
  133. package/codeyam-cli/src/utils/envFile.js.map +1 -0
  134. package/codeyam-cli/src/utils/handoffContext.js +257 -0
  135. package/codeyam-cli/src/utils/handoffContext.js.map +1 -0
  136. package/codeyam-cli/src/utils/install-skills.js +36 -6
  137. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  138. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  139. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  140. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  141. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  142. package/codeyam-cli/src/utils/queue/job.js +35 -6
  143. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  144. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  145. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  146. package/codeyam-cli/src/utils/scenariosManifest.js +30 -2
  147. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -1
  148. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  149. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  150. package/codeyam-cli/src/utils/simulationGateMiddleware.js +9 -0
  151. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  152. package/codeyam-cli/src/utils/techStackConfig.js +38 -0
  153. package/codeyam-cli/src/utils/techStackConfig.js.map +1 -0
  154. package/codeyam-cli/src/utils/techStackConfig.test.js +85 -0
  155. package/codeyam-cli/src/utils/techStackConfig.test.js.map +1 -0
  156. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  157. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  158. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  159. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  160. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  161. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  162. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  163. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  164. package/codeyam-cli/src/utils/testRunner.js +193 -1
  165. package/codeyam-cli/src/utils/testRunner.js.map +1 -1
  166. package/codeyam-cli/src/utils/webappDetection.js +4 -2
  167. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  168. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +99 -0
  169. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  170. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +95 -1
  171. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -1
  172. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +28 -1
  173. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -1
  174. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +145 -11
  175. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -1
  176. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +105 -7
  177. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -1
  178. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  179. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  180. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +15 -0
  181. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -1
  182. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  183. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  184. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  185. package/codeyam-cli/src/webserver/build/client/assets/{CopyButton-CLe80MMu.js → CopyButton-DTBZZfSk.js} +1 -1
  186. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-Crt_KN_U.js → EntityItem-BxclONWq.js} +1 -1
  187. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CD7lGABo.js → EntityTypeIcon-BsnEOJZ_.js} +1 -1
  188. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CgTNOhnu.js → InlineSpinner-ByaELMbv.js} +1 -1
  189. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CKeQT5Ty.js → InteractivePreview-6WjVfhxX.js} +2 -2
  190. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-D3s1MFkb.js → LibraryFunctionPreview-ChX-Hp7W.js} +1 -1
  191. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CM5zg40N.js → LogViewer-C-9zQdXg.js} +1 -1
  192. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-Bs2_Oua4.js +36 -0
  193. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-C2PLkej3.js → ReportIssueModal-DQsceHVv.js} +1 -1
  194. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-DanvyBPb.js → SafeScreenshot-DThcm_9M.js} +1 -1
  195. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DUMfcNVK.js → ScenarioViewer-Cl4oOA3A.js} +1 -1
  196. package/codeyam-cli/src/webserver/build/client/assets/Spinner-CIil5-gb.js +34 -0
  197. package/codeyam-cli/src/webserver/build/client/assets/{ViewportInspectBar-BA_Ry-rs.js → ViewportInspectBar-BqkA9zyZ.js} +1 -1
  198. package/codeyam-cli/src/webserver/build/client/assets/{_index-BAWd-Xjf.js → _index-DnOgyseQ.js} +1 -1
  199. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BOARiB-g.js → activity.(_tab)-DqM9hbNE.js} +1 -1
  200. package/codeyam-cli/src/webserver/build/client/assets/{addon-web-links-CHx25PAe.js → addon-web-links-C58dYPwR.js} +1 -1
  201. package/codeyam-cli/src/webserver/build/client/assets/{agent-transcripts-Bg3e7q4S.js → agent-transcripts-B8NCeOrm.js} +1 -1
  202. package/codeyam-cli/src/webserver/build/client/assets/api.editor-database-verify-l0sNRNKZ.js +1 -0
  203. package/codeyam-cli/src/webserver/build/client/assets/api.editor-github-verify-l0sNRNKZ.js +1 -0
  204. package/codeyam-cli/src/webserver/build/client/assets/api.editor-handoff-l0sNRNKZ.js +1 -0
  205. package/codeyam-cli/src/webserver/build/client/assets/api.editor-hosting-verify-l0sNRNKZ.js +1 -0
  206. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  207. package/codeyam-cli/src/webserver/build/client/assets/api.editor-roadmap-l0sNRNKZ.js +1 -0
  208. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  211. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  212. package/codeyam-cli/src/webserver/build/client/assets/{book-open-CL-lMgHh.js → book-open-BFSIqZgO.js} +1 -1
  213. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-GmAjGS9-.js → chevron-down-B9fDzFVh.js} +1 -1
  214. package/codeyam-cli/src/webserver/build/client/assets/chunk-UVKPFVEO-Bmq2apuh.js +43 -0
  215. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-DFcQkN5j.js → circle-check-DLPObLUx.js} +1 -1
  216. package/codeyam-cli/src/webserver/build/client/assets/{copy-C6iF61Xs.js → copy-DXEmO0TD.js} +1 -1
  217. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-4ImjHTVC.js → createLucideIcon-BwyFiRot.js} +1 -1
  218. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  219. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  220. package/codeyam-cli/src/webserver/build/client/assets/{dev.empty-C8y4mmyv.js → dev.empty-iRhRIFlp.js} +1 -1
  221. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-BZPBzV73.js +1 -0
  222. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-DOXe0Qx7.js +161 -0
  223. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-C6fEYHrh.js +41 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-Blfy9UlN.js → entity._sha._-pc-vc6wO.js} +13 -12
  225. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.dev-KTQuL0aj.js → entity._sha.scenarios._scenarioId.dev-C8AyYgYT.js} +1 -1
  226. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-C6eeL24i.js → entity._sha.scenarios._scenarioId.fullscreen-DziaVQX1.js} +1 -1
  227. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-DQM8E7L4.js → entity._sha_.create-scenario-BTcpgIpC.js} +1 -1
  228. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CAoXLsQr.js → entity._sha_.edit._scenarioId-D_O_ajfZ.js} +1 -1
  229. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-SuW9syRS.js → entry.client-j1Vi0bco.js} +6 -6
  230. package/codeyam-cli/src/webserver/build/client/assets/{files-D-xGrg29.js → files-kuny2Q_s.js} +1 -1
  231. package/codeyam-cli/src/webserver/build/client/assets/{git-Bq_fbXP5.js → git-DgCZPMie.js} +1 -1
  232. package/codeyam-cli/src/webserver/build/client/assets/globals-L-aUIeux.css +1 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/{index-Bp1l4hSv.js → index-BliGSSpl.js} +1 -1
  234. package/codeyam-cli/src/webserver/build/client/assets/{index-DE3jI_dv.js → index-SqjQKTdH.js} +1 -1
  235. package/codeyam-cli/src/webserver/build/client/assets/{index-CWV9XZiG.js → index-vyrZD2g4.js} +1 -1
  236. package/codeyam-cli/src/webserver/build/client/assets/{labs-B_IX45ih.js → labs-c3yLxSEp.js} +1 -1
  237. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-De-7qQ2u.js → loader-circle-D-q28GLF.js} +1 -1
  238. package/codeyam-cli/src/webserver/build/client/assets/manifest-30c44d84.js +1 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/{memory-Cx2xEx7s.js → memory-CEWIUC4t.js} +1 -1
  240. package/codeyam-cli/src/webserver/build/client/assets/{pause-CFxEKL1u.js → pause-BP6fitdh.js} +1 -1
  241. package/codeyam-cli/src/webserver/build/client/assets/{root-DB3O9_9j.js → root-CLedrjXQ.js} +26 -13
  242. package/codeyam-cli/src/webserver/build/client/assets/{search-BdBb5aqc.js → search-BooqacKS.js} +1 -1
  243. package/codeyam-cli/src/webserver/build/client/assets/{settings-DdE-Untf.js → settings-BM0nbryO.js} +1 -1
  244. package/codeyam-cli/src/webserver/build/client/assets/{simulations-DSCdE99u.js → simulations-ovy6FjRY.js} +1 -1
  245. package/codeyam-cli/src/webserver/build/client/assets/{terminal-CrplD4b1.js → terminal-DHemCJIs.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-DqJ0j69l.js → triangle-alert-D87ekDl8.js} +1 -1
  247. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-DhXHbEjP.js → useCustomSizes-Dk0Tciqg.js} +1 -1
  248. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C8QvIe05.js +2 -0
  249. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-Cy5Qg_UR.js → useReportContext-jkCytuYz.js} +1 -1
  250. package/codeyam-cli/src/webserver/build/client/assets/{useToast-5HR2j9ZE.js → useToast-BgqkixU9.js} +1 -1
  251. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-CuR5TvUx.js +16 -0
  252. package/codeyam-cli/src/webserver/build/server/assets/{index-DxB0pOSt.js → index-D4MWAsqb.js} +1 -1
  253. package/codeyam-cli/src/webserver/build/server/assets/init-JObA4lXD.js +14 -0
  254. package/codeyam-cli/src/webserver/build/server/assets/server-build-i8OXK4oL.js +765 -0
  255. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  256. package/codeyam-cli/src/webserver/build-info.json +5 -5
  257. package/codeyam-cli/src/webserver/editorProxy.js +132 -7
  258. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -1
  259. package/codeyam-cli/src/webserver/idleDetector.js +27 -3
  260. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -1
  261. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +17 -0
  262. package/codeyam-cli/src/webserver/server.js +119 -14
  263. package/codeyam-cli/src/webserver/server.js.map +1 -1
  264. package/codeyam-cli/src/webserver/terminalServer.js +235 -37
  265. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  266. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  267. package/codeyam-cli/templates/codeyam-editor-claude.md +2 -0
  268. package/codeyam-cli/templates/codeyam-editor-codex.md +61 -0
  269. package/codeyam-cli/templates/codeyam-editor-gemini.md +59 -0
  270. package/codeyam-cli/templates/codeyam-editor-reference.md +9 -7
  271. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  272. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  273. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  274. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  275. package/codeyam-cli/templates/editor-step-hook.py +93 -46
  276. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +204 -5
  277. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  278. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +6 -3
  279. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  280. package/codeyam-cli/templates/expo-react-native/app.json +11 -0
  281. package/codeyam-cli/templates/expo-react-native/babel.config.js +1 -0
  282. package/codeyam-cli/templates/expo-react-native/gitignore +2 -0
  283. package/codeyam-cli/templates/expo-react-native/global.css +7 -0
  284. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  285. package/codeyam-cli/templates/expo-react-native/package.json +32 -16
  286. package/codeyam-cli/templates/expo-react-native/patches/expo-modules-autolinking+3.0.24.patch +29 -0
  287. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  288. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +1 -0
  289. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +47 -34
  290. package/codeyam-cli/templates/seed-adapters/supabase.ts +271 -78
  291. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +34 -1
  292. package/package.json +1 -1
  293. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  294. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  295. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  296. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  297. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  298. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  299. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +27 -10
  300. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  301. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  302. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  303. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  304. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  305. package/packages/analyze/index.js +1 -1
  306. package/packages/analyze/index.js.map +1 -1
  307. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  308. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  309. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +6 -26
  310. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  311. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -2
  312. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  313. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  314. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  315. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  316. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  317. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  318. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  319. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  320. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  321. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  322. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  323. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  324. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  325. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +120 -28
  326. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  327. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1368 -1193
  328. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  329. package/packages/database/src/lib/loadAnalysis.js +7 -1
  330. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  331. package/packages/database/src/lib/loadEntity.js +5 -5
  332. package/packages/database/src/lib/loadEntity.js.map +1 -1
  333. package/packages/utils/src/lib/fs/rsyncCopy.js +22 -1
  334. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  335. package/codeyam-cli/src/webserver/build/client/assets/Spinner-D0LgAaSa.js +0 -34
  336. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +0 -43
  337. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  338. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +0 -1
  339. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-Bnx7yUP0.js +0 -58
  340. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-oepecPae.js +0 -41
  341. package/codeyam-cli/src/webserver/build/client/assets/globals-fAqOD9ex.css +0 -1
  342. package/codeyam-cli/src/webserver/build/client/assets/manifest-3157d6b8.js +0 -1
  343. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BNd5hYuW.js +0 -2
  344. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-BMmkgAkg.js +0 -13
  345. package/codeyam-cli/src/webserver/build/server/assets/init-DLYLaqqP.js +0 -10
  346. package/codeyam-cli/src/webserver/build/server/assets/server-build-CcyitQLQ.js +0 -551
  347. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +0 -33
  348. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +0 -12
  349. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/webserver/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/webserver/server.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,0FAA0F;AAC1F,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAExD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEtE,KAAK,UAAU,SAAS,CAAC,SAAS,GAAG,KAAK;IACxC,MAAM,IAAI,GAAG,SAAS;QACpB,CAAC,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE;QAC5C,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAgB,CAAC;AAC7C,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE7D,wFAAwF;AACxF,GAAG,CAAC,GAAG,CACL,SAAS,EACT,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE;IACpD,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC,CACH,CAAC;AAEF,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnC,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,iCAAiC;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,oDAAoD;AACpD,GAAG,CAAC,GAAG,CAAC,mDAAmD,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACzE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,SAAS,gBAAgB;IACvB,OAAO,KAAK,EACV,GAAoB,EACpB,GAAqB,EACrB,IAA0B,EAC1B,EAAE;QACF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;YAC9D,OAAO,oBAAoB,CAAC;gBAC1B,KAAK;gBACL,IAAI,EAAE,aAAa;gBACnB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;oBACvC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;iBAClC,CAAC;aACH,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,YAAY,GAAgC,IAAI,CAAC;IACrD,OAAO,KAAK,EACV,GAAoB,EACpB,GAAqB,EACrB,IAA0B,EAC1B,EAAE;QACF,IAAI,CAAC;YACH,IAAI,CAAC,YAAY;gBAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;YAChE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,oBAAoB,CAAC;gBAC1B,KAAK;gBACL,IAAI,EAAE,YAAY;gBAClB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;oBACrB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;oBACvC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;iBAClC,CAAC;aACH,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,iEAAiE;AACjE,sFAAsF;AACtF,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAE9E,2DAA2D;AAC3D,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAC7C,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IACE,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/C,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,CAAC;YACD,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,8EAA8E,CAC/E,CAAC;YACF,MAAM,IAAI,GAAG,SAAS;gBACpB,CAAC,CAAC,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACrE,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAC3C,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACxC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,GAAW;IAEX,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtE,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8CAA8C;aACtD,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,+BAA+B;aACvC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yBAAyB,GAAG,CAAC,OAAO,EAAE;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,0FAA0F;AAC1F,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAE9E,8EAA8E;IAC9E,yFAAyF;IACzF,IAAI,mBAAmB,GAAa,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,MAAM,aAAa,GACjB,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,0BAA0B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAClF,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,8FAA8F,aAAa,EAAE;SACrH,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,qEAAqE;IACrE,IACE,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAC9B,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,EACxC,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sBAAsB,SAAS,KAAK,aAAa,EAAE;SAC3D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,IAAI,UAAU,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC1D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,kBAAkB,CAAC;iBAC9B,MAAM,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;iBAC3D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC;iBAC5B,gBAAgB,EAAE,CAAC;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,kBAAkB,GAAoB,GAAG,CAAC,UAAU;oBACxD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAoB,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC;gBACT,IACE,kBAAkB;oBAClB,kBAAkB,CAAC,MAAM,GAAG,CAAC;oBAC7B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EACvC,CAAC;oBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc,SAAS,sDAAsD,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;qBACxL,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,sCAAsC;IACtC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,GAAG,0BAA0B,MAAM,CAAC,WAAW,kBAAkB,CAAC;QAC3E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,qDAAqD;IACrD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,gDAAgD;IAChD,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,gBAAgB,CAAC;IAE/C,uFAAuF;IACvF,MAAM,mBAAmB,GAAG,UAAU,IAAI,IAAI,CAAC;IAC/C,IAAI,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC;IACzC,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,uEAAuE;IACvE,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC1D,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,kBAAkB,CAAC;iBAC9B,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;iBACf,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,CAAC;iBACrC,gBAAgB,EAAE,CAAC;YACtB,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;gBACb,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,kFAAkF;IAClF,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAC5B,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACnE,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;gBAC9C,UAAU,EAAE,mBAAmB;gBAC/B,YAAY,EAAE,aAAa,IAAI,SAAS;gBACxC,WAAW;aACZ,CAAC,CAAC;YACH,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC;YAE1C,0DAA0D;YAC1D,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACrE,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,EAAE,iCAAiC,EAAE,GACzC,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,iCAAiC,CAAC;YACjD,SAAS;YACT,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;QACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACrE,oBAAoB,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,CAAC;QACH,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACxE,MAAM,EAAE,qBAAqB,EAAE,GAC7B,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClE,gBAAgB,GAAG,uBAAuB,CACxC,aAAa,EACb,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,6DAA6D;IAC7D,IAAI,OAAO,GAAG,UAAU,CAAC;IACzB,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO,GAIA,IAAI,CAAC;IAChB,MAAM,cAAc,GAAG,OAAO,IAAI,UAAU,CAAC;IAC7C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEnD,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK;qBAC7B,KAAK,CAAC,IAAI,CAAC;qBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE,CAAC;qBACzC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC;QACP,OAAO,EAAE,IAAI;QACb,gBAAgB;QAChB,UAAU;QACV,GAAG,EAAE,OAAO,IAAI,IAAI;QACpB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,4EAA4E;AAE5E,uCAAuC;AACvC,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wCAAwC;AACxC,GAAG,CAAC,IAAI,CACN,2BAA2B,EAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4EAA4E;AAC5E,GAAG,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,EAAE,gBAAgB,EAAE,GACxB,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,GAAG;iBACA,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,4EAA4E,CAC7E,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAyB,OAAO,oBAAoB,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,4CAA4C;AAC5C,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,YAAY,CAAC,kBAAkB,EAAE;YAC/B,KAAK;YACL,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,sFAAsF;AACtF,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,kEAAkE;AAClE,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,kEAAkE;AAClE,mEAAmE;AACnE,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3D,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;IACpD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,iEAAiE;AACjE,2EAA2E;AAC3E,oFAAoF;AACpF,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAC1B,IACE,GAAG,CAAC,MAAM,KAAK,KAAK;QACpB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7B,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAChC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EACvB,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACxE,YAAY,CAAC,SAAS,EAAE;YACtB,KAAK,EAAE,KAAK,IAAI,GAAG;YACnB,YAAY,EAAE,KAAK,IAAI,GAAG;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,sDAAsD;AACtD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;IAC3C,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC9B,CAAC;KAAM,CAAC;IACN,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,uCAAuC;AACvC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAQ5D,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,aAAa,EACb,UAAU,GACS;IACnB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,oBAAoB,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,4FAA4F;IAC5F,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE;YACtC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM;YAC1C,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM;SACxC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,UAAU,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,2CAA2C,EAC3C,OAAO,UAAU,CAAC,aAAa,CAChC,CAAC;QACF,OAAO,CAAC,GAAG,CACT,2CAA2C,EAC3C,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,0EAA0E;IAC1E,MAAM,CAAC,mBAAmB,CAAC;SACxB,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,OAAO,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,EAAE,CACT,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CACpE;SACA,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACb,OAAO,CAAC,IAAI,CACV,6DAA6D,EAC7D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CACF,CAAC;IAEJ,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnE,iCAAiC;QACjC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CACT,iCAAiC,EACjC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAC/B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,sDAAsD,UAAU,IAAI;gBAClE,uCAAuC,CAC1C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,gEAAgE,gBAAgB,IAAI;gBAClF,uCAAuC,CAC1C,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;YAC9C,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -2,11 +2,104 @@ var _a, _b;
2
2
  import { WebSocketServer, WebSocket } from 'ws';
3
3
  import crypto from 'crypto';
4
4
  import fs from 'fs';
5
+ import os from 'os';
5
6
  import path from 'path';
6
7
  import * as pty from 'node-pty';
7
8
  import { createMarkerTransformer } from "../utils/scenarioMarkers.js";
8
9
  import { IdleDetector } from "./idleDetector.js";
9
10
  import { mockStateEventEmitter } from "./mockStateEvents.js";
11
+ /**
12
+ * Strip the raw `claude ...` shell command from suppressed PTY output
13
+ * so it doesn't leak to the user in the fallback timeout path.
14
+ */
15
+ export function stripClaudeCommand(output) {
16
+ // Find the line containing the claude command and strip everything before
17
+ // and including it (shell prompt, ANSI codes, command echo). Preserve any
18
+ // real output that follows.
19
+ const idx = output.indexOf('claude ');
20
+ if (idx === -1)
21
+ return output;
22
+ // Find the end of the command line (\r or \n after "claude")
23
+ let end = idx;
24
+ while (end < output.length && output[end] !== '\r' && output[end] !== '\n') {
25
+ end++;
26
+ }
27
+ // Skip past trailing \r\n
28
+ while (end < output.length &&
29
+ (output[end] === '\r' || output[end] === '\n')) {
30
+ end++;
31
+ }
32
+ // Strip leading ANSI escape sequences from the remainder
33
+ // (e.g. bracketed paste mode toggles like \x1b[?2004l)
34
+ let rest = output.slice(end);
35
+ rest = rest.replace(/^(\x1b\[[\x20-\x3f]*[\x40-\x7e]|\x1b[()][A-Z0-9])*/, '');
36
+ return rest;
37
+ }
38
+ /**
39
+ * Detect whether a PTY output chunk contains Claude Code's welcome banner.
40
+ * Supports both the old box-drawing format (`╭─── Claude Code ───╮`)
41
+ * and the new block-art format (`▐▛███▜▌ Claude Code`).
42
+ */
43
+ export function isBannerChunk(data) {
44
+ // Strip ANSI escape sequences before checking — Claude Code's Ink renderer
45
+ // inserts SGR color codes between the banner characters (e.g. ▐\x1b[48;5;16m▛).
46
+ const plain = data.replace(/\x1b\[[0-9;?]*[A-Za-z]|\x1b\][^\x07]*\x07|\x1b[()][A-Z0-9]/g, '');
47
+ return plain.includes('╭') || plain.includes('▐▛');
48
+ }
49
+ /**
50
+ * Determine whether the startup output filter should be active.
51
+ * The filter strips the raw `claude --session-id ...` command from the
52
+ * terminal so the user never sees it.
53
+ */
54
+ export function shouldFilterStartup(opts) {
55
+ return opts.hasContext || opts.editorMode;
56
+ }
57
+ /**
58
+ * Manages PTY output suppression during Claude startup.
59
+ *
60
+ * Suppresses all output until the welcome banner arrives, then clears
61
+ * the screen. The claude command is stripped from any chunk that is forwarded
62
+ * (both the banner chunk on the normal path and the buffered output on the
63
+ * fallback timeout path).
64
+ */
65
+ export class StartupOutputFilter {
66
+ constructor() {
67
+ this.hasClearedScreen = false;
68
+ this.suppressedOutput = '';
69
+ }
70
+ /**
71
+ * Process a PTY data chunk. Returns an object describing what action to take:
72
+ * - `type: 'suppress'` — buffer the chunk, send nothing
73
+ * - `type: 'clear-and-send'` — clear screen, then send `data`
74
+ * - `type: 'send'` — send `data` as-is (post-startup)
75
+ */
76
+ processChunk(data) {
77
+ if (!this.hasClearedScreen && isBannerChunk(data)) {
78
+ this.hasClearedScreen = true;
79
+ const cleaned = stripClaudeCommand(data);
80
+ return { type: 'clear-and-send', data: cleaned };
81
+ }
82
+ if (!this.hasClearedScreen) {
83
+ this.suppressedOutput += data;
84
+ return { type: 'suppress' };
85
+ }
86
+ return { type: 'send', data };
87
+ }
88
+ /**
89
+ * Called when the fallback timeout fires (╭ never arrived).
90
+ * Returns the buffered output with the command stripped, or null if
91
+ * the screen was already cleared.
92
+ */
93
+ getTimeoutOutput() {
94
+ if (this.hasClearedScreen)
95
+ return null;
96
+ this.hasClearedScreen = true;
97
+ if (this.suppressedOutput.length === 0)
98
+ return null;
99
+ const cleaned = stripClaudeCommand(this.suppressedOutput);
100
+ return cleaned.length > 0 ? cleaned : null;
101
+ }
102
+ }
10
103
  // Use globalThis so the sessions Set is shared across module instances.
11
104
  // In Vite dev mode, this file is loaded twice: once by the Vite plugin (Node.js native)
12
105
  // and once by the SSR context (ssrLoadModule). Without globalThis, each instance
@@ -54,9 +147,22 @@ const ENV_PASSTHROUGH_KEYS = [
54
147
  'HOMEBREW_CELLAR',
55
148
  'HOMEBREW_REPOSITORY',
56
149
  ];
150
+ // Additional env vars needed on Windows
151
+ const WINDOWS_ENV_PASSTHROUGH_KEYS = [
152
+ 'USERPROFILE',
153
+ 'APPDATA',
154
+ 'LOCALAPPDATA',
155
+ 'COMSPEC',
156
+ 'SystemRoot',
157
+ 'TEMP',
158
+ 'TMP',
159
+ ];
57
160
  export function buildPtyEnv(options) {
58
161
  const env = {};
59
- for (const key of ENV_PASSTHROUGH_KEYS) {
162
+ const keys = process.platform === 'win32'
163
+ ? [...ENV_PASSTHROUGH_KEYS, ...WINDOWS_ENV_PASSTHROUGH_KEYS]
164
+ : ENV_PASSTHROUGH_KEYS;
165
+ for (const key of keys) {
60
166
  const val = process.env[key];
61
167
  if (val != null)
62
168
  env[key] = val;
@@ -71,6 +177,38 @@ export function buildPtyEnv(options) {
71
177
  }
72
178
  return env;
73
179
  }
180
+ /**
181
+ * Returns the shell executable and arguments for PTY spawning,
182
+ * handling platform differences (Windows uses PowerShell, Unix uses $SHELL).
183
+ */
184
+ export function getShellConfig() {
185
+ if (process.platform === 'win32') {
186
+ return {
187
+ shell: 'powershell.exe',
188
+ args: ['-ExecutionPolicy', 'Bypass', '-NoLogo'],
189
+ };
190
+ }
191
+ const defaultShell = process.platform === 'darwin' ? '/bin/zsh' : '/bin/sh';
192
+ return {
193
+ shell: process.env.SHELL || defaultShell,
194
+ args: ['-l'],
195
+ };
196
+ }
197
+ /**
198
+ * Returns a safe working directory for the PTY, falling back through
199
+ * CODEYAM_ROOT_PATH → cwd → HOME/USERPROFILE → os.tmpdir().
200
+ */
201
+ export function getSafeCwd() {
202
+ const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
203
+ if (fs.existsSync(cwd))
204
+ return cwd;
205
+ const home = process.platform === 'win32'
206
+ ? process.env.USERPROFILE || process.env.HOME
207
+ : process.env.HOME;
208
+ if (home && fs.existsSync(home))
209
+ return home;
210
+ return os.tmpdir();
211
+ }
74
212
  /**
75
213
  * Convert a name to a safe file name matching CodeYam's convention.
76
214
  * e.g. "Default Scenario" -> "Default_Scenario"
@@ -234,9 +372,10 @@ function writeEditorModeContext(ctx) {
234
372
  `- **Proxy:** http://localhost:${proxyPort} (used by the browser iframe only — do NOT use for health checks)`,
235
373
  '',
236
374
  '## Workflow',
237
- '- **Guided steps:** Run `codeyam editor steps` for the next step (plan → prototype → confirm → deconstruct → extract → glossary → analyze → app scenarios → user scenarios → verify → journal → review → present → commit → finalize → push)',
238
- '- Each feature follows 16 steps: `codeyam editor 1` through `codeyam editor 16`',
239
- '- Steps 1, 3, 13, and 16 require user confirmation before proceeding',
375
+ '- **Guided steps:** Run `codeyam editor steps` for the next step (plan → prepare → prototype → verify prototype → confirm → deconstruct → extract → glossary → analyze → app scenarios → user scenarios → verify → journal → review → present → commit → finalize → push)',
376
+ '- Each feature follows 18 steps — run `codeyam editor steps` to see what to do next. Never expose `codeyam editor` commands to the user.',
377
+ '- **Run ONE step at a time.** Read the FULL output, complete every checklist item, then advance. NEVER batch-run steps in a loop or delegate them to a subagent.',
378
+ '- Steps 1, 5, 15, and 18 require user confirmation before proceeding',
240
379
  '',
241
380
  '## Preview Updates',
242
381
  '- **Refresh the preview frequently** — the user watches the preview as you work. Refresh after every meaningful change (new page, UI section, data seeding, styling), not just at the end.',
@@ -247,8 +386,7 @@ function writeEditorModeContext(ctx) {
247
386
  '- Get the dev server URL: `curl -s http://localhost:' +
248
387
  serverPort +
249
388
  '/api/editor-dev-server` → look at the `"url"` field (e.g., `http://localhost:3000`)',
250
- '- Check the page loads: `curl -s -o /dev/null -w "%{http_code}" http://localhost:3000` (use the actual dev server URL, NOT the proxy)',
251
- '- Check API routes work: `curl -s http://localhost:3000/api/your-route` (should return JSON, not "Internal Server Error")',
389
+ '- Verify pages and API routes: `codeyam editor verify-routes \'{"paths":["/"],"apiRoutes":["/api/your-route"]}\'` (checks HTTP status and JSON validity)',
252
390
  '- **NEVER check localhost:' +
253
391
  proxyPort +
254
392
  ' for health** — the proxy returns 200 even when the app is broken',
@@ -261,6 +399,7 @@ function writeEditorModeContext(ctx) {
261
399
  `- **Dev server status:** \`curl http://localhost:${serverPort}/api/editor-dev-server\``,
262
400
  `- **Start dev server:** \`curl -X POST http://localhost:${serverPort}/api/editor-dev-server -H 'Content-Type: application/json' -d '{"action":"start"}'\``,
263
401
  `- **Restart dev server:** \`curl -X POST http://localhost:${serverPort}/api/editor-dev-server -H 'Content-Type: application/json' -d '{"action":"restart"}'\``,
402
+ `- **Feature complete (after push):** \`curl -s -X POST http://localhost:${serverPort}/api/editor-feature-complete\` — signals the UI that the feature is done. Call this after step 18 push/skip, then STOP.`,
264
403
  `- **Re-capture scenario screenshot:** \`curl -X POST http://localhost:${serverPort}/api/editor-capture-scenario -H 'Content-Type: application/json' -d '{"scenarioId":"...","url":"..."}'\` (for manual re-capture; register auto-captures)`,
265
404
  `- **Journal screenshot:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-screenshot -H 'Content-Type: application/json' -d '{"url":"...","filename":"..."}'\``,
266
405
  `- **Journal entry:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-entry -H 'Content-Type: application/json' -d '{"title":"...","type":"feature","description":"..."}'\``,
@@ -278,8 +417,10 @@ function writeEditorModeContext(ctx) {
278
417
  '- Create ONE isolation route page per component:',
279
418
  ' - **Remix:** `app/routes/isolated-components.ComponentName.tsx` → `/isolated-components/ComponentName`',
280
419
  ' - **Next.js:** `app/isolated-components/ComponentName/page.tsx` → `/isolated-components/ComponentName`',
420
+ ' - **Expo:** `app/isolated-components/ComponentName.tsx` → `/isolated-components/ComponentName` (use `useLocalSearchParams` from expo-router)',
281
421
  '- The route defines a `scenarios` object mapping scenario names to props, reads `?s=ScenarioName` from the URL, and renders the component',
282
- '- Wrap the component in a centered container: `<div style="display:flex;justify-content:center;align-items:center;min-height:100vh"><div style="width:100%;max-width:...">` — set max-width to match the component\'s real container (e.g. card in 3-col grid → 24rem)',
422
+ '- For web apps: Wrap the component in a centered container: `<div style="display:flex;justify-content:center;align-items:center;min-height:100vh"><div style="width:100%;max-width:...">` — set max-width to match the component\'s real container (e.g. card in 3-col grid → 24rem)',
423
+ '- For Expo: Wrap with `<View nativeID="codeyam-capture">` (nativeID maps to id on web for screenshot capture)',
283
424
  '- **Create multiple scenarios per component** (like tests): default/happy path, edge cases (empty data, long text, max items), different visual states (loading, error, disabled)',
284
425
  '- Register each scenario: `codeyam editor register \'{"name":"ComponentName - Scenario","componentName":"ComponentName","componentPath":"path/to/file.tsx","url":"/isolated-components/ComponentName?s=Scenario","mockData":{"routes":{"/api/...":{"body":[...]}}}}\'`',
285
426
  '- The url is a PATH, not a full URL — the proxy appends it and intercepts API calls the component makes',
@@ -299,9 +440,21 @@ function writeEditorModeContext(ctx) {
299
440
  const hasPackageJson = fs.existsSync(path.join(codeyamRoot, 'package.json'));
300
441
  if (!hasPackageJson) {
301
442
  lines.push('## Status');
302
- lines.push('- **Empty project** — no package.json found. Ask the user what they want to build.');
443
+ lines.push('- **Empty project** — no package.json found. Run `codeyam editor steps` to begin.');
303
444
  lines.push('');
304
445
  }
446
+ // Include handoff context if a provider switch generated one
447
+ try {
448
+ const handoffContextPath = path.join(codeyamRoot, '.codeyam', 'handoff-context.md');
449
+ if (fs.existsSync(handoffContextPath)) {
450
+ lines.push('');
451
+ lines.push(fs.readFileSync(handoffContextPath, 'utf8'));
452
+ lines.push('');
453
+ }
454
+ }
455
+ catch {
456
+ // Non-fatal
457
+ }
305
458
  fs.writeFileSync(contextPath, lines.join('\n'), 'utf8');
306
459
  return true;
307
460
  }
@@ -360,6 +513,7 @@ export function attachTerminalServer(httpServer) {
360
513
  const reconnectId = url.searchParams.get('reconnectId') || '';
361
514
  const claudeStartMode = url.searchParams.get('claudeStartMode') || '';
362
515
  const claudeSessionId = url.searchParams.get('claudeSessionId') || '';
516
+ const editorStepLabel = url.searchParams.get('editorStepLabel') || '';
363
517
  // --- Reconnection: reattach to a detached PTY ---
364
518
  if (reconnectId && detachedPtys.has(reconnectId)) {
365
519
  const detached = detachedPtys.get(reconnectId);
@@ -389,22 +543,24 @@ export function attachTerminalServer(httpServer) {
389
543
  const reconnectIdleDetector = new IdleDetector({
390
544
  onIdle: () => {
391
545
  if (ws.readyState === WebSocket.OPEN) {
546
+ console.log('[terminalServer] Sending claude-idle (reconnected)');
392
547
  ws.send(JSON.stringify({ type: 'claude-idle' }));
393
548
  }
394
549
  },
395
550
  onActive: () => {
396
551
  if (ws.readyState === WebSocket.OPEN) {
552
+ console.log('[terminalServer] Sending claude-active (reconnected)');
397
553
  ws.send(JSON.stringify({ type: 'claude-active' }));
398
554
  }
399
555
  },
400
- }, { activeOutputPattern: /✶/ });
556
+ }, { activeOutputPattern: /[✶✢·◼]/ });
401
557
  detached.ptyProcess.onData((data) => {
402
558
  if (detachedFlag)
403
559
  return; // Superseded by a newer listener
404
560
  if (ws.readyState === WebSocket.OPEN) {
405
561
  if (!detached.hasClearedScreen &&
406
562
  detached.hasContext &&
407
- data.includes('╭')) {
563
+ isBannerChunk(data)) {
408
564
  detached.hasClearedScreen = true;
409
565
  ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
410
566
  }
@@ -416,7 +572,8 @@ export function attachTerminalServer(httpServer) {
416
572
  }
417
573
  });
418
574
  detached.ptyProcess.onExit(() => {
419
- reconnectIdleDetector.dispose();
575
+ console.log('[terminalServer] PTY exited (reconnected), flushing idle state');
576
+ reconnectIdleDetector.disposeAndFlush();
420
577
  sessions.delete(session);
421
578
  if (ws.readyState === WebSocket.OPEN) {
422
579
  ws.close();
@@ -448,14 +605,12 @@ export function attachTerminalServer(httpServer) {
448
605
  return;
449
606
  }
450
607
  // --- New connection: spawn a fresh PTY ---
451
- const shell = process.env.SHELL || '/bin/zsh';
452
- const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
453
- // Verify cwd exists, fall back to HOME
454
- const safeCwd = fs.existsSync(cwd) ? cwd : process.env.HOME || '/tmp';
608
+ const { shell, args: shellArgs } = getShellConfig();
609
+ const safeCwd = getSafeCwd();
455
610
  // Spawn PTY with a clean env (no giant JSON blobs from CODEYAM_PROJECT etc.)
456
611
  let ptyProcess;
457
612
  try {
458
- ptyProcess = pty.spawn(shell, ['-l'], {
613
+ ptyProcess = pty.spawn(shell, shellArgs, {
459
614
  name: 'xterm-256color',
460
615
  cols: 120,
461
616
  rows: 30,
@@ -500,28 +655,41 @@ export function attachTerminalServer(httpServer) {
500
655
  projectSlug,
501
656
  });
502
657
  let hasClearedScreen = false;
658
+ const filterStartup = shouldFilterStartup({ hasContext, editorMode });
659
+ const startupFilter = filterStartup ? new StartupOutputFilter() : null;
503
660
  // Safety timeout: stop suppressing output after 5s even if ╭ never arrives.
504
661
  // Prevents "Starting Claude..." hanging forever if the banner format changes.
505
- if (hasContext) {
662
+ if (filterStartup) {
506
663
  setTimeout(() => {
507
- if (!hasClearedScreen) {
664
+ const output = startupFilter.getTimeoutOutput();
665
+ if (output !== null) {
508
666
  hasClearedScreen = true;
509
667
  console.log('[terminalServer] Suppression timeout — showing output');
668
+ if (ws.readyState === WebSocket.OPEN) {
669
+ // Clear the "Starting Claude..." message
670
+ ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
671
+ const transformed = transformMarkers(output);
672
+ if (transformed.length > 0) {
673
+ ws.send(JSON.stringify({ type: 'output', data: transformed }));
674
+ }
675
+ }
510
676
  }
511
677
  }, 5000);
512
678
  }
513
679
  const idleDetector = new IdleDetector({
514
680
  onIdle: () => {
515
681
  if (ws.readyState === WebSocket.OPEN) {
682
+ console.log('[terminalServer] Sending claude-idle');
516
683
  ws.send(JSON.stringify({ type: 'claude-idle' }));
517
684
  }
518
685
  },
519
686
  onActive: () => {
520
687
  if (ws.readyState === WebSocket.OPEN) {
688
+ console.log('[terminalServer] Sending claude-active');
521
689
  ws.send(JSON.stringify({ type: 'claude-active' }));
522
690
  }
523
691
  },
524
- }, { activeOutputPattern: /✶/ });
692
+ }, { activeOutputPattern: /[✶✢·◼]/ });
525
693
  // PTY output -> WebSocket
526
694
  const serverPort = process.env.CODEYAM_PORT || '3111';
527
695
  // Stateful transformer that buffers partial {{scenario:...}} markers
@@ -529,19 +697,22 @@ export function attachTerminalServer(httpServer) {
529
697
  const transformMarkers = createMarkerTransformer(serverPort);
530
698
  ptyProcess.onData((data) => {
531
699
  if (ws.readyState === WebSocket.OPEN) {
532
- // When Claude Code starts (indicated by its box-drawing welcome banner),
533
- // clear the screen to hide the raw shell command.
534
- if (!hasClearedScreen && hasContext && data.includes('╭')) {
535
- hasClearedScreen = true;
536
- ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
537
- }
538
- // Suppress output before the screen clear so the user doesn't see
539
- // the raw `claude '/codeyam-editor'` command being echoed by the shell.
540
- if (!hasClearedScreen && hasContext) {
541
- // Skip sending to client AND idle detection — Claude hasn't started
542
- // yet, so any output gap is just startup latency, not Claude waiting
543
- // for input. Without this, the idle detector fires a false positive
544
- // during the startup gap and the user gets a spurious notification.
700
+ // During startup, suppress output until Claude's welcome banner (╭)
701
+ // arrives, then clear screen and strip the raw command from the chunk.
702
+ if (startupFilter && !hasClearedScreen) {
703
+ const result = startupFilter.processChunk(data);
704
+ if (result.type === 'clear-and-send') {
705
+ hasClearedScreen = true;
706
+ ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
707
+ if (result.data.length > 0) {
708
+ const transformed = transformMarkers(result.data);
709
+ if (transformed.length > 0) {
710
+ ws.send(JSON.stringify({ type: 'output', data: transformed }));
711
+ }
712
+ }
713
+ idleDetector.onPtyOutput(data);
714
+ }
715
+ // type === 'suppress': skip sending and idle detection
545
716
  }
546
717
  else {
547
718
  // Transform {{scenario:Name:ID}} markers into OSC 8 clickable hyperlinks.
@@ -555,7 +726,8 @@ export function attachTerminalServer(httpServer) {
555
726
  }
556
727
  });
557
728
  ptyProcess.onExit(() => {
558
- idleDetector.dispose();
729
+ console.log('[terminalServer] PTY exited, flushing idle state');
730
+ idleDetector.disposeAndFlush();
559
731
  sessions.delete(session);
560
732
  // Also clean up from detachedPtys if it was detached
561
733
  if (detachedPtys.has(sessionId)) {
@@ -592,7 +764,7 @@ export function attachTerminalServer(httpServer) {
592
764
  // Show a loading indicator while Claude Code starts up.
593
765
  // PTY output is suppressed until Claude's welcome banner (╭) appears
594
766
  // and triggers a screen clear, so the user never sees the raw command.
595
- if (hasContext) {
767
+ if (filterStartup) {
596
768
  ws.send(JSON.stringify({
597
769
  type: 'output',
598
770
  data: '\x1b[2J\x1b[H\r\n\x1b[90m Starting Claude...\x1b[0m\r\n',
@@ -612,16 +784,22 @@ export function attachTerminalServer(httpServer) {
612
784
  setTimeout(() => {
613
785
  if (editorMode && hasContext) {
614
786
  if (claudeStartMode === 'resume' && claudeSessionId) {
615
- ptyProcess.write(`claude --resume '${claudeSessionId}' 'The session was interrupted. Please continue where you left off.'\r`);
787
+ const resumePrompt = editorStepLabel === 'Present'
788
+ ? 'The session was interrupted. Please rerun show-results.'
789
+ : 'The session was interrupted. Please continue where you left off.';
790
+ ptyProcess.write(`claude --resume '${claudeSessionId}' '${resumePrompt}'\r`);
616
791
  }
617
792
  else if (claudeStartMode === 'resume') {
618
793
  // No session ID available — fall back to most recent session
619
- ptyProcess.write("claude --continue 'The session was interrupted. Please continue where you left off.'\r");
794
+ const resumePrompt = editorStepLabel === 'Present'
795
+ ? 'The session was interrupted. Please rerun show-results.'
796
+ : 'The session was interrupted. Please continue where you left off.';
797
+ ptyProcess.write(`claude --continue '${resumePrompt}'\r`);
620
798
  }
621
799
  else {
622
800
  // Fresh session: generate a trackable UUID
623
801
  const newSessionId = crypto.randomUUID();
624
- const sessionIdPath = path.join(cwd, '.codeyam', 'claude-session-id.txt');
802
+ const sessionIdPath = path.join(safeCwd, '.codeyam', 'claude-session-id.txt');
625
803
  try {
626
804
  fs.mkdirSync(path.dirname(sessionIdPath), { recursive: true });
627
805
  fs.writeFileSync(sessionIdPath, newSessionId, 'utf8');
@@ -770,6 +948,26 @@ export function broadcastHideResults() {
770
948
  }
771
949
  return count;
772
950
  }
951
+ /**
952
+ * Notify the editor UI that the current feature is complete (after push/skip).
953
+ * The UI shows a transition overlay letting the user start fresh or continue.
954
+ */
955
+ export function broadcastFeatureComplete() {
956
+ const msg = JSON.stringify({ type: 'feature-complete' });
957
+ let count = 0;
958
+ for (const session of sessions) {
959
+ try {
960
+ if (session.ws.readyState === WebSocket.OPEN) {
961
+ session.ws.send(msg);
962
+ count++;
963
+ }
964
+ }
965
+ catch {
966
+ // Ignore send errors
967
+ }
968
+ }
969
+ return count;
970
+ }
773
971
  /**
774
972
  * Send a set-viewport message to all connected terminal WebSocket clients.
775
973
  * The Terminal component relays this to the parent page to update the preview viewport.