@codeyam/codeyam-cli 0.1.0-staging.30dc541 → 0.1.0-staging.346f50f

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 (334) 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/commands/__tests__/editor.analyzeImportsArgs.test.js +47 -0
  45. package/codeyam-cli/src/commands/__tests__/editor.analyzeImportsArgs.test.js.map +1 -0
  46. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js +71 -0
  47. package/codeyam-cli/src/commands/__tests__/editor.auditNoAutoAnalysis.test.js.map +1 -0
  48. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js +30 -0
  49. package/codeyam-cli/src/commands/__tests__/editor.designSystem.test.js.map +1 -0
  50. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js +55 -0
  51. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js.map +1 -0
  52. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +39 -3
  53. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  54. package/codeyam-cli/src/commands/editor.js +1648 -225
  55. package/codeyam-cli/src/commands/editor.js.map +1 -1
  56. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  57. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  58. package/codeyam-cli/src/commands/init.js +20 -0
  59. package/codeyam-cli/src/commands/init.js.map +1 -1
  60. package/codeyam-cli/src/data/designSystems.js +27 -0
  61. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  62. package/codeyam-cli/src/data/techStacks.js +1 -1
  63. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +93 -1
  64. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -1
  65. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +44 -0
  66. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -1
  67. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +2387 -907
  68. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  69. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +11 -3
  70. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -1
  71. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +98 -1
  72. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -1
  73. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js +1108 -0
  74. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js.map +1 -0
  75. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +120 -0
  76. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -1
  77. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +160 -1
  78. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  79. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +134 -1
  80. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -1
  81. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +33 -1
  82. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -1
  83. package/codeyam-cli/src/utils/__tests__/envFile.test.js +125 -0
  84. package/codeyam-cli/src/utils/__tests__/envFile.test.js.map +1 -0
  85. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js +500 -0
  86. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js.map +1 -0
  87. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  88. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  89. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  90. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  91. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  92. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  93. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  94. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  95. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +6 -0
  96. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -1
  97. package/codeyam-cli/src/utils/analysisRunner.js +36 -7
  98. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  99. package/codeyam-cli/src/utils/analyzer.js +11 -1
  100. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  101. package/codeyam-cli/src/utils/designSystemShowcase.js +810 -0
  102. package/codeyam-cli/src/utils/designSystemShowcase.js.map +1 -0
  103. package/codeyam-cli/src/utils/devServerState.js +32 -0
  104. package/codeyam-cli/src/utils/devServerState.js.map +1 -1
  105. package/codeyam-cli/src/utils/editorApi.js +16 -0
  106. package/codeyam-cli/src/utils/editorApi.js.map +1 -1
  107. package/codeyam-cli/src/utils/editorAudit.js +345 -22
  108. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  109. package/codeyam-cli/src/utils/editorPreview.js +5 -3
  110. package/codeyam-cli/src/utils/editorPreview.js.map +1 -1
  111. package/codeyam-cli/src/utils/editorRoadmap.js +574 -0
  112. package/codeyam-cli/src/utils/editorRoadmap.js.map +1 -0
  113. package/codeyam-cli/src/utils/editorScenarioSwitch.js +27 -12
  114. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -1
  115. package/codeyam-cli/src/utils/editorScenarios.js +107 -4
  116. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  117. package/codeyam-cli/src/utils/editorSeedAdapter.js +69 -16
  118. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -1
  119. package/codeyam-cli/src/utils/entityChangeStatus.server.js +31 -0
  120. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -1
  121. package/codeyam-cli/src/utils/envFile.js +90 -0
  122. package/codeyam-cli/src/utils/envFile.js.map +1 -0
  123. package/codeyam-cli/src/utils/handoffContext.js +257 -0
  124. package/codeyam-cli/src/utils/handoffContext.js.map +1 -0
  125. package/codeyam-cli/src/utils/install-skills.js +36 -6
  126. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  127. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  128. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  129. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  130. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  131. package/codeyam-cli/src/utils/queue/job.js +35 -6
  132. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  133. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  134. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  135. package/codeyam-cli/src/utils/scenariosManifest.js +8 -2
  136. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -1
  137. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  138. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  139. package/codeyam-cli/src/utils/techStackConfig.js +38 -0
  140. package/codeyam-cli/src/utils/techStackConfig.js.map +1 -0
  141. package/codeyam-cli/src/utils/techStackConfig.test.js +85 -0
  142. package/codeyam-cli/src/utils/techStackConfig.test.js.map +1 -0
  143. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  144. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  145. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  146. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  147. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  148. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  149. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  150. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  151. package/codeyam-cli/src/utils/testRunner.js +193 -1
  152. package/codeyam-cli/src/utils/testRunner.js.map +1 -1
  153. package/codeyam-cli/src/utils/webappDetection.js +4 -2
  154. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  155. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +99 -0
  156. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  157. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +119 -1
  158. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -1
  159. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +28 -1
  160. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -1
  161. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +384 -12
  162. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -1
  163. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +89 -2
  164. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -1
  165. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +57 -1
  166. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -1
  167. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +15 -0
  168. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -1
  169. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  170. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  171. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  172. package/codeyam-cli/src/webserver/build/client/assets/{CopyButton-CLe80MMu.js → CopyButton-DTBZZfSk.js} +1 -1
  173. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-Crt_KN_U.js → EntityItem-BxclONWq.js} +1 -1
  174. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CD7lGABo.js → EntityTypeIcon-BsnEOJZ_.js} +1 -1
  175. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CgTNOhnu.js → InlineSpinner-ByaELMbv.js} +1 -1
  176. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CKeQT5Ty.js → InteractivePreview-6WjVfhxX.js} +2 -2
  177. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-D3s1MFkb.js → LibraryFunctionPreview-ChX-Hp7W.js} +1 -1
  178. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CM5zg40N.js → LogViewer-C-9zQdXg.js} +1 -1
  179. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-Bs2_Oua4.js +36 -0
  180. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-C2PLkej3.js → ReportIssueModal-DQsceHVv.js} +1 -1
  181. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-DanvyBPb.js → SafeScreenshot-DThcm_9M.js} +1 -1
  182. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DUMfcNVK.js → ScenarioViewer-Cl4oOA3A.js} +1 -1
  183. package/codeyam-cli/src/webserver/build/client/assets/Spinner-CIil5-gb.js +34 -0
  184. package/codeyam-cli/src/webserver/build/client/assets/{ViewportInspectBar-BA_Ry-rs.js → ViewportInspectBar-BqkA9zyZ.js} +1 -1
  185. package/codeyam-cli/src/webserver/build/client/assets/{_index-BAWd-Xjf.js → _index-DnOgyseQ.js} +1 -1
  186. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-BOARiB-g.js → activity.(_tab)-DqM9hbNE.js} +1 -1
  187. package/codeyam-cli/src/webserver/build/client/assets/{addon-web-links-CHx25PAe.js → addon-web-links-C58dYPwR.js} +1 -1
  188. package/codeyam-cli/src/webserver/build/client/assets/{agent-transcripts-Bg3e7q4S.js → agent-transcripts-B8NCeOrm.js} +1 -1
  189. package/codeyam-cli/src/webserver/build/client/assets/api.editor-database-verify-l0sNRNKZ.js +1 -0
  190. package/codeyam-cli/src/webserver/build/client/assets/api.editor-github-verify-l0sNRNKZ.js +1 -0
  191. package/codeyam-cli/src/webserver/build/client/assets/api.editor-handoff-l0sNRNKZ.js +1 -0
  192. package/codeyam-cli/src/webserver/build/client/assets/api.editor-hosting-verify-l0sNRNKZ.js +1 -0
  193. package/codeyam-cli/src/webserver/build/client/assets/api.editor-roadmap-l0sNRNKZ.js +1 -0
  194. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  195. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  196. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  197. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  198. package/codeyam-cli/src/webserver/build/client/assets/{book-open-CL-lMgHh.js → book-open-BFSIqZgO.js} +1 -1
  199. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-GmAjGS9-.js → chevron-down-B9fDzFVh.js} +1 -1
  200. package/codeyam-cli/src/webserver/build/client/assets/chunk-UVKPFVEO-Bmq2apuh.js +43 -0
  201. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-DFcQkN5j.js → circle-check-DLPObLUx.js} +1 -1
  202. package/codeyam-cli/src/webserver/build/client/assets/{copy-C6iF61Xs.js → copy-DXEmO0TD.js} +1 -1
  203. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-4ImjHTVC.js → createLucideIcon-BwyFiRot.js} +1 -1
  204. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  205. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  206. package/codeyam-cli/src/webserver/build/client/assets/{dev.empty-C8y4mmyv.js → dev.empty-iRhRIFlp.js} +1 -1
  207. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-BZPBzV73.js +1 -0
  208. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-DhtVC4aI.js +161 -0
  209. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-C6fEYHrh.js +41 -0
  210. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-Blfy9UlN.js → entity._sha._-pc-vc6wO.js} +13 -12
  211. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.dev-KTQuL0aj.js → entity._sha.scenarios._scenarioId.dev-C8AyYgYT.js} +1 -1
  212. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-C6eeL24i.js → entity._sha.scenarios._scenarioId.fullscreen-DziaVQX1.js} +1 -1
  213. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-DQM8E7L4.js → entity._sha_.create-scenario-BTcpgIpC.js} +1 -1
  214. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CAoXLsQr.js → entity._sha_.edit._scenarioId-D_O_ajfZ.js} +1 -1
  215. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-SuW9syRS.js → entry.client-j1Vi0bco.js} +6 -6
  216. package/codeyam-cli/src/webserver/build/client/assets/{files-D-xGrg29.js → files-kuny2Q_s.js} +1 -1
  217. package/codeyam-cli/src/webserver/build/client/assets/{git-Bq_fbXP5.js → git-DgCZPMie.js} +1 -1
  218. package/codeyam-cli/src/webserver/build/client/assets/globals-L-aUIeux.css +1 -0
  219. package/codeyam-cli/src/webserver/build/client/assets/{index-Bp1l4hSv.js → index-BliGSSpl.js} +1 -1
  220. package/codeyam-cli/src/webserver/build/client/assets/{index-DE3jI_dv.js → index-SqjQKTdH.js} +1 -1
  221. package/codeyam-cli/src/webserver/build/client/assets/{index-CWV9XZiG.js → index-vyrZD2g4.js} +1 -1
  222. package/codeyam-cli/src/webserver/build/client/assets/{labs-B_IX45ih.js → labs-c3yLxSEp.js} +1 -1
  223. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-De-7qQ2u.js → loader-circle-D-q28GLF.js} +1 -1
  224. package/codeyam-cli/src/webserver/build/client/assets/manifest-79d0d81a.js +1 -0
  225. package/codeyam-cli/src/webserver/build/client/assets/{memory-Cx2xEx7s.js → memory-CEWIUC4t.js} +1 -1
  226. package/codeyam-cli/src/webserver/build/client/assets/{pause-CFxEKL1u.js → pause-BP6fitdh.js} +1 -1
  227. package/codeyam-cli/src/webserver/build/client/assets/root-L2V0jea7.js +80 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/{search-BdBb5aqc.js → search-BooqacKS.js} +1 -1
  229. package/codeyam-cli/src/webserver/build/client/assets/{settings-DdE-Untf.js → settings-BM0nbryO.js} +1 -1
  230. package/codeyam-cli/src/webserver/build/client/assets/{simulations-DSCdE99u.js → simulations-ovy6FjRY.js} +1 -1
  231. package/codeyam-cli/src/webserver/build/client/assets/{terminal-CrplD4b1.js → terminal-DHemCJIs.js} +1 -1
  232. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-DqJ0j69l.js → triangle-alert-D87ekDl8.js} +1 -1
  233. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-DhXHbEjP.js → useCustomSizes-Dk0Tciqg.js} +1 -1
  234. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C8QvIe05.js +2 -0
  235. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-Cy5Qg_UR.js → useReportContext-jkCytuYz.js} +1 -1
  236. package/codeyam-cli/src/webserver/build/client/assets/{useToast-5HR2j9ZE.js → useToast-BgqkixU9.js} +1 -1
  237. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-QgInFGdU.js +16 -0
  238. package/codeyam-cli/src/webserver/build/server/assets/{index-Cd-ufawF.js → index-zblh9auj.js} +1 -1
  239. package/codeyam-cli/src/webserver/build/server/assets/init-DaE0CBjk.js +14 -0
  240. package/codeyam-cli/src/webserver/build/server/assets/server-build-CNvgz1cC.js +853 -0
  241. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  242. package/codeyam-cli/src/webserver/build-info.json +5 -5
  243. package/codeyam-cli/src/webserver/editorProxy.js +310 -23
  244. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -1
  245. package/codeyam-cli/src/webserver/idleDetector.js +27 -3
  246. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -1
  247. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +17 -0
  248. package/codeyam-cli/src/webserver/server.js +119 -14
  249. package/codeyam-cli/src/webserver/server.js.map +1 -1
  250. package/codeyam-cli/src/webserver/terminalServer.js +173 -27
  251. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  252. package/codeyam-cli/templates/codeyam-editor-codex.md +61 -0
  253. package/codeyam-cli/templates/codeyam-editor-gemini.md +59 -0
  254. package/codeyam-cli/templates/codeyam-editor-reference.md +8 -6
  255. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  256. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  257. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  258. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  259. package/codeyam-cli/templates/editor-step-hook.py +25 -4
  260. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +204 -5
  261. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  262. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +6 -3
  263. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  264. package/codeyam-cli/templates/expo-react-native/app.json +11 -0
  265. package/codeyam-cli/templates/expo-react-native/babel.config.js +1 -0
  266. package/codeyam-cli/templates/expo-react-native/gitignore +2 -0
  267. package/codeyam-cli/templates/expo-react-native/global.css +7 -0
  268. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  269. package/codeyam-cli/templates/expo-react-native/package.json +32 -16
  270. package/codeyam-cli/templates/expo-react-native/patches/expo-modules-autolinking+3.0.24.patch +29 -0
  271. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  272. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +1 -0
  273. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +47 -34
  274. package/codeyam-cli/templates/seed-adapters/supabase.ts +271 -78
  275. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +34 -1
  276. package/package.json +1 -1
  277. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  278. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  279. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  280. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  281. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  282. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  283. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +27 -10
  284. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  285. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  286. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  287. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  288. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  289. package/packages/analyze/index.js +1 -1
  290. package/packages/analyze/index.js.map +1 -1
  291. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  292. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  293. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +6 -26
  294. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  295. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -2
  296. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  297. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  298. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  299. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  300. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  301. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  302. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  303. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  304. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  305. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  306. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  307. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  308. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  309. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +120 -28
  310. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  311. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1368 -1193
  312. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  313. package/packages/database/src/lib/loadAnalysis.js +7 -1
  314. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  315. package/packages/database/src/lib/loadEntity.js +5 -5
  316. package/packages/database/src/lib/loadEntity.js.map +1 -1
  317. package/packages/utils/src/lib/fs/rsyncCopy.js +22 -1
  318. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  319. package/codeyam-cli/src/webserver/build/client/assets/Spinner-D0LgAaSa.js +0 -34
  320. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BAdwhyCx.js +0 -43
  321. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  322. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-Gbk_i5Js.js +0 -1
  323. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-CGzKlIHg.js +0 -58
  324. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-oepecPae.js +0 -41
  325. package/codeyam-cli/src/webserver/build/client/assets/globals-Yn9W3zp3.css +0 -1
  326. package/codeyam-cli/src/webserver/build/client/assets/manifest-2ef99f38.js +0 -1
  327. package/codeyam-cli/src/webserver/build/client/assets/root-BxUQigda.js +0 -67
  328. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BNd5hYuW.js +0 -2
  329. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-BPmOG9bE.js +0 -13
  330. package/codeyam-cli/src/webserver/build/server/assets/init-CzeBGOto.js +0 -10
  331. package/codeyam-cli/src/webserver/build/server/assets/server-build-Dht7CKXY.js +0 -552
  332. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +0 -33
  333. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +0 -12
  334. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +0 -12
@@ -2,6 +2,7 @@ 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";
@@ -12,12 +13,51 @@ import { mockStateEventEmitter } from "./mockStateEvents.js";
12
13
  * so it doesn't leak to the user in the fallback timeout path.
13
14
  */
14
15
  export function stripClaudeCommand(output) {
15
- return output.replace(/[^\r\n]*claude\s[^\r\n]*[\r\n]*/, '');
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;
16
56
  }
17
57
  /**
18
58
  * Manages PTY output suppression during Claude startup.
19
59
  *
20
- * Suppresses all output until the `╭` welcome banner arrives, then clears
60
+ * Suppresses all output until the welcome banner arrives, then clears
21
61
  * the screen. The claude command is stripped from any chunk that is forwarded
22
62
  * (both the banner chunk on the normal path and the buffered output on the
23
63
  * fallback timeout path).
@@ -34,7 +74,7 @@ export class StartupOutputFilter {
34
74
  * - `type: 'send'` — send `data` as-is (post-startup)
35
75
  */
36
76
  processChunk(data) {
37
- if (!this.hasClearedScreen && data.includes('╭')) {
77
+ if (!this.hasClearedScreen && isBannerChunk(data)) {
38
78
  this.hasClearedScreen = true;
39
79
  const cleaned = stripClaudeCommand(data);
40
80
  return { type: 'clear-and-send', data: cleaned };
@@ -107,9 +147,25 @@ const ENV_PASSTHROUGH_KEYS = [
107
147
  'HOMEBREW_CELLAR',
108
148
  'HOMEBREW_REPOSITORY',
109
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
+ // Nodist (Windows Node.js version manager)
160
+ 'NODIST_PREFIX',
161
+ 'NODIST_X64',
162
+ ];
110
163
  export function buildPtyEnv(options) {
111
164
  const env = {};
112
- for (const key of ENV_PASSTHROUGH_KEYS) {
165
+ const keys = process.platform === 'win32'
166
+ ? [...ENV_PASSTHROUGH_KEYS, ...WINDOWS_ENV_PASSTHROUGH_KEYS]
167
+ : ENV_PASSTHROUGH_KEYS;
168
+ for (const key of keys) {
113
169
  const val = process.env[key];
114
170
  if (val != null)
115
171
  env[key] = val;
@@ -124,6 +180,49 @@ export function buildPtyEnv(options) {
124
180
  }
125
181
  return env;
126
182
  }
183
+ /**
184
+ * Returns the shell executable and arguments for PTY spawning,
185
+ * handling platform differences (Windows uses cmd.exe, Unix uses $SHELL).
186
+ * cmd.exe is preferred over PowerShell on Windows because:
187
+ * - .cmd shims run in-process (no window flash from subprocess spawning)
188
+ * - No execution policy restrictions blocking .ps1 scripts
189
+ * - Faster startup (no profile loading)
190
+ */
191
+ export function getShellConfig() {
192
+ if (process.platform === 'win32') {
193
+ return { shell: 'cmd.exe', args: [] };
194
+ }
195
+ const defaultShell = process.platform === 'darwin' ? '/bin/zsh' : '/bin/sh';
196
+ return {
197
+ shell: process.env.SHELL || defaultShell,
198
+ args: ['-l'],
199
+ };
200
+ }
201
+ /**
202
+ * Quote a shell argument for the current platform.
203
+ * Unix shells use single quotes; cmd.exe uses double quotes.
204
+ */
205
+ export function shellQuote(arg) {
206
+ if (process.platform === 'win32') {
207
+ return `"${arg.replace(/"/g, '""')}"`;
208
+ }
209
+ return `'${arg}'`;
210
+ }
211
+ /**
212
+ * Returns a safe working directory for the PTY, falling back through
213
+ * CODEYAM_ROOT_PATH → cwd → HOME/USERPROFILE → os.tmpdir().
214
+ */
215
+ export function getSafeCwd() {
216
+ const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
217
+ if (fs.existsSync(cwd))
218
+ return cwd;
219
+ const home = process.platform === 'win32'
220
+ ? process.env.USERPROFILE || process.env.HOME
221
+ : process.env.HOME;
222
+ if (home && fs.existsSync(home))
223
+ return home;
224
+ return os.tmpdir();
225
+ }
127
226
  /**
128
227
  * Convert a name to a safe file name matching CodeYam's convention.
129
228
  * e.g. "Default Scenario" -> "Default_Scenario"
@@ -288,7 +387,8 @@ function writeEditorModeContext(ctx) {
288
387
  '',
289
388
  '## Workflow',
290
389
  '- **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)',
291
- '- Each feature follows 18 steps: `codeyam editor 1` through `codeyam editor 18`',
390
+ '- Each feature follows 18 steps — run `codeyam editor steps` to see what to do next. Never expose `codeyam editor` commands to the user.',
391
+ '- **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.',
292
392
  '- Steps 1, 5, 15, and 18 require user confirmation before proceeding',
293
393
  '',
294
394
  '## Preview Updates',
@@ -300,8 +400,7 @@ function writeEditorModeContext(ctx) {
300
400
  '- Get the dev server URL: `curl -s http://localhost:' +
301
401
  serverPort +
302
402
  '/api/editor-dev-server` → look at the `"url"` field (e.g., `http://localhost:3000`)',
303
- '- Check the page loads: `curl -s -o /dev/null -w "%{http_code}" http://localhost:3000` (use the actual dev server URL, NOT the proxy)',
304
- '- Check API routes work: `curl -s http://localhost:3000/api/your-route` (should return JSON, not "Internal Server Error")',
403
+ '- Verify pages and API routes: `codeyam editor verify-routes \'{"paths":["/"],"apiRoutes":["/api/your-route"]}\'` (checks HTTP status and JSON validity)',
305
404
  '- **NEVER check localhost:' +
306
405
  proxyPort +
307
406
  ' for health** — the proxy returns 200 even when the app is broken',
@@ -314,6 +413,7 @@ function writeEditorModeContext(ctx) {
314
413
  `- **Dev server status:** \`curl http://localhost:${serverPort}/api/editor-dev-server\``,
315
414
  `- **Start dev server:** \`curl -X POST http://localhost:${serverPort}/api/editor-dev-server -H 'Content-Type: application/json' -d '{"action":"start"}'\``,
316
415
  `- **Restart dev server:** \`curl -X POST http://localhost:${serverPort}/api/editor-dev-server -H 'Content-Type: application/json' -d '{"action":"restart"}'\``,
416
+ `- **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.`,
317
417
  `- **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)`,
318
418
  `- **Journal screenshot:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-screenshot -H 'Content-Type: application/json' -d '{"url":"...","filename":"..."}'\``,
319
419
  `- **Journal entry:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-entry -H 'Content-Type: application/json' -d '{"title":"...","type":"feature","description":"..."}'\``,
@@ -331,8 +431,10 @@ function writeEditorModeContext(ctx) {
331
431
  '- Create ONE isolation route page per component:',
332
432
  ' - **Remix:** `app/routes/isolated-components.ComponentName.tsx` → `/isolated-components/ComponentName`',
333
433
  ' - **Next.js:** `app/isolated-components/ComponentName/page.tsx` → `/isolated-components/ComponentName`',
434
+ ' - **Expo:** `app/isolated-components/ComponentName.tsx` → `/isolated-components/ComponentName` (use `useLocalSearchParams` from expo-router)',
334
435
  '- The route defines a `scenarios` object mapping scenario names to props, reads `?s=ScenarioName` from the URL, and renders the component',
335
- '- 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)',
436
+ '- 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)',
437
+ '- For Expo: Wrap with `<View nativeID="codeyam-capture">` (nativeID maps to id on web for screenshot capture)',
336
438
  '- **Create multiple scenarios per component** (like tests): default/happy path, edge cases (empty data, long text, max items), different visual states (loading, error, disabled)',
337
439
  '- 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":[...]}}}}\'`',
338
440
  '- The url is a PATH, not a full URL — the proxy appends it and intercepts API calls the component makes',
@@ -352,9 +454,21 @@ function writeEditorModeContext(ctx) {
352
454
  const hasPackageJson = fs.existsSync(path.join(codeyamRoot, 'package.json'));
353
455
  if (!hasPackageJson) {
354
456
  lines.push('## Status');
355
- lines.push('- **Empty project** — no package.json found. Ask the user what they want to build.');
457
+ lines.push('- **Empty project** — no package.json found. Run `codeyam editor steps` to begin.');
356
458
  lines.push('');
357
459
  }
460
+ // Include handoff context if a provider switch generated one
461
+ try {
462
+ const handoffContextPath = path.join(codeyamRoot, '.codeyam', 'handoff-context.md');
463
+ if (fs.existsSync(handoffContextPath)) {
464
+ lines.push('');
465
+ lines.push(fs.readFileSync(handoffContextPath, 'utf8'));
466
+ lines.push('');
467
+ }
468
+ }
469
+ catch {
470
+ // Non-fatal
471
+ }
358
472
  fs.writeFileSync(contextPath, lines.join('\n'), 'utf8');
359
473
  return true;
360
474
  }
@@ -413,6 +527,7 @@ export function attachTerminalServer(httpServer) {
413
527
  const reconnectId = url.searchParams.get('reconnectId') || '';
414
528
  const claudeStartMode = url.searchParams.get('claudeStartMode') || '';
415
529
  const claudeSessionId = url.searchParams.get('claudeSessionId') || '';
530
+ const editorStepLabel = url.searchParams.get('editorStepLabel') || '';
416
531
  // --- Reconnection: reattach to a detached PTY ---
417
532
  if (reconnectId && detachedPtys.has(reconnectId)) {
418
533
  const detached = detachedPtys.get(reconnectId);
@@ -442,22 +557,24 @@ export function attachTerminalServer(httpServer) {
442
557
  const reconnectIdleDetector = new IdleDetector({
443
558
  onIdle: () => {
444
559
  if (ws.readyState === WebSocket.OPEN) {
560
+ console.log('[terminalServer] Sending claude-idle (reconnected)');
445
561
  ws.send(JSON.stringify({ type: 'claude-idle' }));
446
562
  }
447
563
  },
448
564
  onActive: () => {
449
565
  if (ws.readyState === WebSocket.OPEN) {
566
+ console.log('[terminalServer] Sending claude-active (reconnected)');
450
567
  ws.send(JSON.stringify({ type: 'claude-active' }));
451
568
  }
452
569
  },
453
- }, { activeOutputPattern: /[✶✢]/ });
570
+ }, { activeOutputPattern: /[✶✢·◼]/ });
454
571
  detached.ptyProcess.onData((data) => {
455
572
  if (detachedFlag)
456
573
  return; // Superseded by a newer listener
457
574
  if (ws.readyState === WebSocket.OPEN) {
458
575
  if (!detached.hasClearedScreen &&
459
576
  detached.hasContext &&
460
- data.includes('╭')) {
577
+ isBannerChunk(data)) {
461
578
  detached.hasClearedScreen = true;
462
579
  ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
463
580
  }
@@ -469,7 +586,8 @@ export function attachTerminalServer(httpServer) {
469
586
  }
470
587
  });
471
588
  detached.ptyProcess.onExit(() => {
472
- reconnectIdleDetector.dispose();
589
+ console.log('[terminalServer] PTY exited (reconnected), flushing idle state');
590
+ reconnectIdleDetector.disposeAndFlush();
473
591
  sessions.delete(session);
474
592
  if (ws.readyState === WebSocket.OPEN) {
475
593
  ws.close();
@@ -501,14 +619,12 @@ export function attachTerminalServer(httpServer) {
501
619
  return;
502
620
  }
503
621
  // --- New connection: spawn a fresh PTY ---
504
- const shell = process.env.SHELL || '/bin/zsh';
505
- const cwd = process.env.CODEYAM_ROOT_PATH || process.cwd();
506
- // Verify cwd exists, fall back to HOME
507
- const safeCwd = fs.existsSync(cwd) ? cwd : process.env.HOME || '/tmp';
622
+ const { shell, args: shellArgs } = getShellConfig();
623
+ const safeCwd = getSafeCwd();
508
624
  // Spawn PTY with a clean env (no giant JSON blobs from CODEYAM_PROJECT etc.)
509
625
  let ptyProcess;
510
626
  try {
511
- ptyProcess = pty.spawn(shell, ['-l'], {
627
+ ptyProcess = pty.spawn(shell, shellArgs, {
512
628
  name: 'xterm-256color',
513
629
  cols: 120,
514
630
  rows: 30,
@@ -553,10 +669,11 @@ export function attachTerminalServer(httpServer) {
553
669
  projectSlug,
554
670
  });
555
671
  let hasClearedScreen = false;
556
- const startupFilter = hasContext ? new StartupOutputFilter() : null;
672
+ const filterStartup = shouldFilterStartup({ hasContext, editorMode });
673
+ const startupFilter = filterStartup ? new StartupOutputFilter() : null;
557
674
  // Safety timeout: stop suppressing output after 5s even if ╭ never arrives.
558
675
  // Prevents "Starting Claude..." hanging forever if the banner format changes.
559
- if (hasContext) {
676
+ if (filterStartup) {
560
677
  setTimeout(() => {
561
678
  const output = startupFilter.getTimeoutOutput();
562
679
  if (output !== null) {
@@ -576,15 +693,17 @@ export function attachTerminalServer(httpServer) {
576
693
  const idleDetector = new IdleDetector({
577
694
  onIdle: () => {
578
695
  if (ws.readyState === WebSocket.OPEN) {
696
+ console.log('[terminalServer] Sending claude-idle');
579
697
  ws.send(JSON.stringify({ type: 'claude-idle' }));
580
698
  }
581
699
  },
582
700
  onActive: () => {
583
701
  if (ws.readyState === WebSocket.OPEN) {
702
+ console.log('[terminalServer] Sending claude-active');
584
703
  ws.send(JSON.stringify({ type: 'claude-active' }));
585
704
  }
586
705
  },
587
- }, { activeOutputPattern: /[✶✢]/ });
706
+ }, { activeOutputPattern: /[✶✢·◼]/ });
588
707
  // PTY output -> WebSocket
589
708
  const serverPort = process.env.CODEYAM_PORT || '3111';
590
709
  // Stateful transformer that buffers partial {{scenario:...}} markers
@@ -621,7 +740,8 @@ export function attachTerminalServer(httpServer) {
621
740
  }
622
741
  });
623
742
  ptyProcess.onExit(() => {
624
- idleDetector.dispose();
743
+ console.log('[terminalServer] PTY exited, flushing idle state');
744
+ idleDetector.disposeAndFlush();
625
745
  sessions.delete(session);
626
746
  // Also clean up from detachedPtys if it was detached
627
747
  if (detachedPtys.has(sessionId)) {
@@ -658,7 +778,7 @@ export function attachTerminalServer(httpServer) {
658
778
  // Show a loading indicator while Claude Code starts up.
659
779
  // PTY output is suppressed until Claude's welcome banner (╭) appears
660
780
  // and triggers a screen clear, so the user never sees the raw command.
661
- if (hasContext) {
781
+ if (filterStartup) {
662
782
  ws.send(JSON.stringify({
663
783
  type: 'output',
664
784
  data: '\x1b[2J\x1b[H\r\n\x1b[90m Starting Claude...\x1b[0m\r\n',
@@ -678,16 +798,22 @@ export function attachTerminalServer(httpServer) {
678
798
  setTimeout(() => {
679
799
  if (editorMode && hasContext) {
680
800
  if (claudeStartMode === 'resume' && claudeSessionId) {
681
- ptyProcess.write(`claude --resume '${claudeSessionId}' 'The session was interrupted. Please continue where you left off.'\r`);
801
+ const resumePrompt = editorStepLabel === 'Present'
802
+ ? 'The session was interrupted. Please rerun show-results.'
803
+ : 'The session was interrupted. Please continue where you left off.';
804
+ ptyProcess.write(`claude --resume ${shellQuote(claudeSessionId)} ${shellQuote(resumePrompt)}\r`);
682
805
  }
683
806
  else if (claudeStartMode === 'resume') {
684
807
  // No session ID available — fall back to most recent session
685
- ptyProcess.write("claude --continue 'The session was interrupted. Please continue where you left off.'\r");
808
+ const resumePrompt = editorStepLabel === 'Present'
809
+ ? 'The session was interrupted. Please rerun show-results.'
810
+ : 'The session was interrupted. Please continue where you left off.';
811
+ ptyProcess.write(`claude --continue ${shellQuote(resumePrompt)}\r`);
686
812
  }
687
813
  else {
688
814
  // Fresh session: generate a trackable UUID
689
815
  const newSessionId = crypto.randomUUID();
690
- const sessionIdPath = path.join(cwd, '.codeyam', 'claude-session-id.txt');
816
+ const sessionIdPath = path.join(safeCwd, '.codeyam', 'claude-session-id.txt');
691
817
  try {
692
818
  fs.mkdirSync(path.dirname(sessionIdPath), { recursive: true });
693
819
  fs.writeFileSync(sessionIdPath, newSessionId, 'utf8');
@@ -695,11 +821,11 @@ export function attachTerminalServer(httpServer) {
695
821
  catch (err) {
696
822
  console.error('[terminalServer] Failed to write claude-session-id.txt:', err);
697
823
  }
698
- ptyProcess.write(`claude --session-id '${newSessionId}' '/codeyam-editor'\r`);
824
+ ptyProcess.write(`claude --session-id ${shellQuote(newSessionId)} ${shellQuote('/codeyam-editor')}\r`);
699
825
  }
700
826
  }
701
827
  else if (hasContext) {
702
- ptyProcess.write("claude '/codeyam-dev-mode'\r");
828
+ ptyProcess.write(`claude ${shellQuote('/codeyam-dev-mode')}\r`);
703
829
  }
704
830
  else {
705
831
  ptyProcess.write('claude\r');
@@ -836,6 +962,26 @@ export function broadcastHideResults() {
836
962
  }
837
963
  return count;
838
964
  }
965
+ /**
966
+ * Notify the editor UI that the current feature is complete (after push/skip).
967
+ * The UI shows a transition overlay letting the user start fresh or continue.
968
+ */
969
+ export function broadcastFeatureComplete() {
970
+ const msg = JSON.stringify({ type: 'feature-complete' });
971
+ let count = 0;
972
+ for (const session of sessions) {
973
+ try {
974
+ if (session.ws.readyState === WebSocket.OPEN) {
975
+ session.ws.send(msg);
976
+ count++;
977
+ }
978
+ }
979
+ catch {
980
+ // Ignore send errors
981
+ }
982
+ }
983
+ return count;
984
+ }
839
985
  /**
840
986
  * Send a set-viewport message to all connected terminal WebSocket clients.
841
987
  * The Terminal component relays this to the parent page to update the preview viewport.
@@ -1 +1 @@
1
- {"version":3,"file":"terminalServer.js","sourceRoot":"","sources":["../../../../src/webserver/terminalServer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QACU,qBAAgB,GAAG,KAAK,CAAC;QACzB,qBAAgB,GAAG,EAAE,CAAC;IAiChC,CAAC;IA/BC;;;;;OAKG;IACH,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;CACF;AAwBD,wEAAwE;AACxE,wFAAwF;AACxF,iFAAiF;AACjF,qFAAqF;AACrF,0EAA0E;AAC1E,MAAM,QAAQ,GAAyB,OACrC,UACD,EAAC,yBAAyB,QAAzB,yBAAyB,GAAK,IAAI,GAAG,EAAmB,EAAC,CAAC;AAE5D,+DAA+D;AAC/D,mEAAmE;AACnE,yEAAyE;AACzE,MAAM,YAAY,GAA6B,OAC7C,UACD,EAAC,qBAAqB,QAArB,qBAAqB,GAAK,IAAI,GAAG,EAAuB,EAAC,CAAC;AAE5D,MAAM,gBAAgB,GAAG,KAAM,CAAC;AAChC,MAAM,eAAe,GAAG,KAAM,CAAC;AAC/B,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM;AAE1C,2DAA2D;AAC3D,IAAI,YAAY,GACb,UAAkB,CAAC,qBAAqB,IAAI,IAAI,CAAC;AAEpD,0DAA0D;AAC1D,kEAAkE;AAClE,+DAA+D;AAC/D,MAAM,oBAAoB,GAAG;IAC3B,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,gCAAgC;IAChC,mBAAmB;IACnB,gBAAgB;IAChB,0CAA0C;IAC1C,SAAS;IACT,SAAS;IACT,SAAS;IACT,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAE3B;IACC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClC,CAAC;IACD,+CAA+C;IAC/C,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC3C,wDAAwD;IACxD,yEAAyE;IACzE,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,WAAmB,EACnB,cAAsB,EACtB,YAAoB;IAEpB,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,YAAY,YAAY,MAAM,CAAC;IAEhD,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,QAAQ,CACT,CAAC;gBACF,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,OAAO,SAAS,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,SAAS,SAAS,CAAC,GAAW,EAAE,KAAa;QAC3C,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,IACE,KAAK,KAAK,cAAc;oBACxB,KAAK,KAAK,MAAM;oBAChB,KAAK,KAAK,UAAU;oBAEpB,SAAS;gBACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;oBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;wBAAE,OAAO,SAAS,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;wBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC1C,IAAI,MAAM;4BAAE,OAAO,MAAM,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAS5B;IACC,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAa,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAEnD,iBAAiB;QACjB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,IAAI,GAAG,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,cAAc;YACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,mBAAmB;QACnB,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,mBAAmB;gBACzB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC9D,IAAI,GAAG,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,gBAAgB;QAChB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,0BAA0B,GAAG,CAAC,WAAW,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,GAAG,OAAO,UAAU,CAAC;YACxC,MAAM,YAAY,GAAG,gBAAgB,CACnC,UAAU,EACV,GAAG,CAAC,cAAc,EAClB,GAAG,CAAC,YAAY,CACjB,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,KAAK,CAAC,IAAI,CACR,0CAA0C,YAAY,wCAAwC,UAAU,EAAE,CAC3G,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,WAAW;QACX,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,SAAS;QACT,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,0DAA0D,UAAU,kHAAkH,CACvL,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,uDAAuD,EACvD,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,GAA4B;IAC1D,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAEpE,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC;QACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAa;YACtB,uBAAuB;YACvB,EAAE;YACF,YAAY;YACZ,eAAe,WAAW,EAAE;YAC5B,eAAe,GAAG,CAAC,WAAW,EAAE;YAChC,EAAE;YACF,WAAW;YACX,eAAe,UAAU,EAAE;YAC3B,qCAAqC,UAAU,SAAS;YACxD,iCAAiC,SAAS,mEAAmE;YAC7G,EAAE;YACF,aAAa;YACb,2QAA2Q;YAC3Q,iFAAiF;YACjF,sEAAsE;YACtE,EAAE;YACF,oBAAoB;YACpB,4LAA4L;YAC5L,6DAA6D,UAAU,kHAAkH;YACzL,mEAAmE;YACnE,EAAE;YACF,6BAA6B;YAC7B,sDAAsD;gBACpD,UAAU;gBACV,qFAAqF;YACvF,uIAAuI;YACvI,2HAA2H;YAC3H,4BAA4B;gBAC1B,SAAS;gBACT,mEAAmE;YACrE,EAAE;YACF,kBAAkB;YAClB,8TAA8T;YAC9T,2DAA2D,UAAU,6BAA6B;YAClG,0EAA0E,UAAU,oQAAoQ;YACxV,yDAAyD,UAAU,wEAAwE;YAC3I,oDAAoD,UAAU,0BAA0B;YACxF,2DAA2D,UAAU,sFAAsF;YAC3J,6DAA6D,UAAU,wFAAwF;YAC/J,yEAAyE,UAAU,0JAA0J;YAC7O,6DAA6D,UAAU,0GAA0G;YACjL,wDAAwD,UAAU,2HAA2H;YAC7L,EAAE;YACF,yBAAyB;YACzB,0EAA0E;YAC1E,iGAAiG;YACjG,oGAAoG;YACpG,kFAAkF;YAClF,4DAA4D;YAC5D,EAAE;YACF,+BAA+B;YAC/B,mFAAmF;YACnF,kGAAkG;YAClG,kDAAkD;YAClD,0GAA0G;YAC1G,0GAA0G;YAC1G,2IAA2I;YAC3I,wQAAwQ;YACxQ,mLAAmL;YACnL,wQAAwQ;YACxQ,yGAAyG;YACzG,mGAAmG;YACnG,+EAA+E;YAC/E,oFAAoF;YACpF,EAAE;YACF,UAAU;YACV,mEAAmE;YACnE,qFAAqF;YACrF,sDAAsD;YACtD,qCAAqC;YACrC,gFAAgF;YAChF,EAAE;SACH,CAAC;QAEF,mEAAmE;QACnE,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CACR,oFAAoF,CACrF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,0DAA0D,EAC1D,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAE9E,8BAA8B;IAC9B,kFAAkF;IAClF,IAAI,YAAY;QAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9C,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,0CAA0C;gBAC1C,OAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,CAAC,SAAS,4BAA4B,CAC1E,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpB,UAAkB,CAAC,qBAAqB,GAAG,YAAY,CAAC;IAEzD,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,8BAA8B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/B,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,mBAAmB,GACvB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;QACjE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAEtE,mDAAmD;QACnD,IAAI,WAAW,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAChD,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEjC,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAoB;gBAC/B,EAAE;gBACF,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,OAAO,EAAE,IAAI;aACd,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEtB,yCAAyC;YACzC,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CACrE,CAAC;YAEF,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAChE,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,8EAA8E;YAC9E,8EAA8E;YAC9E,kFAAkF;YAClF,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC;YACzD,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;YAEzE,MAAM,qBAAqB,GAAG,IAAI,YAAY,CAC5C;gBACE,MAAM,EAAE,GAAG,EAAE;oBACX,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;aACF,EACD,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAChC,CAAC;YAEF,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC1C,IAAI,YAAY;oBAAE,OAAO,CAAC,iCAAiC;gBAC3D,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,IACE,CAAC,QAAQ,CAAC,gBAAgB;wBAC1B,QAAQ,CAAC,UAAU;wBACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClB,CAAC;wBACD,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBACjC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;oBACrE,CAAC;oBACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;gBAC9B,qBAAqB,CAAC,OAAO,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,EAAE;gBACxC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACzB,qBAAqB,CAAC,WAAW,EAAE,CAAC;wBACpC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACtC,CAAC;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;wBACzD,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,YAAY,GAAG,IAAI,CAAC;gBACpB,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE3D,uCAAuC;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;QAEtE,6EAA6E;QAC7E,IAAI,UAAoB,CAAC;QACzB,IAAI,CAAC;YACH,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;gBACpC,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACrD,KAAK;gBACL,GAAG,EAAE,OAAO;gBACZ,KAAK;aACN,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iCAAkC,KAAe,CAAC,OAAO,MAAM;aACtE,CAAC,CACH,CAAC;YACF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,OAAO,GAAoB;YAC/B,EAAE;YACF,UAAU;YACV,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtB,wDAAwD;QACxD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAE3D,oEAAoE;QACpE,MAAM,UAAU,GAAG,UAAU;YAC3B,CAAC,CAAC,sBAAsB,CAAC,EAAE,WAAW,EAAE,CAAC;YACzC,CAAC,CAAC,mBAAmB,CAAC;gBAClB,UAAU;gBACV,UAAU;gBACV,SAAS;gBACT,cAAc;gBACd,YAAY;gBACZ,mBAAmB;gBACnB,UAAU;gBACV,WAAW;aACZ,CAAC,CAAC;QACP,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,MAAM,GAAG,aAAc,CAAC,gBAAgB,EAAE,CAAC;gBACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBACrE,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBACrC,yCAAyC;wBACzC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;wBACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC;YACE,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;SACF,EACD,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAChC,CAAC;QAEF,0BAA0B;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC;QACtD,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAC7D,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,oEAAoE;gBACpE,uEAAuE;gBACvE,IAAI,aAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACrC,gBAAgB,GAAG,IAAI,CAAC;wBACxB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;wBACnE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAClD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC3B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;4BACjE,CAAC;wBACH,CAAC;wBACD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBACD,uDAAuD;gBACzD,CAAC;qBAAM,CAAC;oBACN,0EAA0E;oBAC1E,qEAAqE;oBACrE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACrB,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,qDAAqD;YACrD,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,UAAU,CAAC,CAAC;gBACtD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACrC,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEvC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzB,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC3B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACzD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,0DAA0D;aACjE,CAAC,CACH,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,6EAA6E;QAC7E,EAAE;QACF,wCAAwC;QACxC,6EAA6E;QAC7E,kFAAkF;QAClF,oEAAoE;QACpE,gEAAgE;QAChE,EAAE;QACF,0EAA0E;QAC1E,kEAAkE;QAClE,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,eAAe,KAAK,QAAQ,IAAI,eAAe,EAAE,CAAC;oBACpD,UAAU,CAAC,KAAK,CACd,oBAAoB,eAAe,wEAAwE,CAC5G,CAAC;gBACJ,CAAC;qBAAM,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACxC,6DAA6D;oBAC7D,UAAU,CAAC,KAAK,CACd,wFAAwF,CACzF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,2CAA2C;oBAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,GAAG,EACH,UAAU,EACV,uBAAuB,CACxB,CAAC;oBACF,IAAI,CAAC;wBACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/D,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;oBACxD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CACX,yDAAyD,EACzD,GAAG,CACJ,CAAC;oBACJ,CAAC;oBACD,UAAU,CAAC,KAAK,CACd,wBAAwB,YAAY,uBAAuB,CAC5D,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CACpB,OAAwB,EACxB,UAAU,GAAG,KAAK,EAClB,gBAAgB,GAAG,KAAK;IAExB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE1C,+CAA+C;IAC/C,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;IAExC,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,8EAA8E;IAC9E,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACjC,YAAY,IAAI,IAAI,CAAC;QACrB,kBAAkB;QAClB,IAAI,YAAY,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC5C,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,OAAO,CAAC,GAAG,CACT,qDAAqD,SAAS,eAAe,CAC9E,CAAC;QACF,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC,EAAE,eAAe,CAAC,CAAC;IAEpB,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE;QAC1B,UAAU;QACV,SAAS;QACT,UAAU;QACV,YAAY;QACZ,UAAU;QACV,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,4BAA4B,SAAS,iCAAiC,eAAe,GAAG,IAAI,GAAG,CAChG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,UAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAc,EACd,QAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,yBAAyB;QAC/B,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IACH,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAIpC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAClE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,sBAAsB;IACtB,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,YAAY,GAAG,IAAI,CAAC;QACnB,UAAkB,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,2BAA2B;IAC3B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,yBAAyB;IACzB,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"terminalServer.js","sourceRoot":"","sources":["../../../../src/webserver/terminalServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ # CodeYam Editor Project (Codex)
2
+
3
+ This project is being built with CodeYam's Code + Data Editor. The core principle is **code and data are developed together** — every component should have scenario data that drives what it renders.
4
+
5
+ ## Architecture: Components + Scenarios
6
+
7
+ ### Component Structure
8
+
9
+ Build with a clear component hierarchy so individual components can be previewed in isolation:
10
+
11
+ ```
12
+ app/
13
+ components/
14
+ Dashboard.tsx ← page-level component
15
+ TaskList.tsx ← displays a list, gets data from API or props
16
+ TaskCard.tsx ← single item, pure props
17
+ EmptyState.tsx ← shown when no data
18
+ ```
19
+
20
+ ### Scenarios
21
+
22
+ A **scenario** is a named set of data that drives how the app renders. Scenarios exist at two levels:
23
+
24
+ - **App-level scenarios**: Full application state.
25
+ - **Component-level scenarios**: Props for a single component in isolation.
26
+
27
+ **Always register scenarios with CodeYam** using the CLI:
28
+
29
+ ```bash
30
+ codeyam editor register @.codeyam/tmp/scenario.json
31
+ ```
32
+
33
+ **To list existing scenarios:** `codeyam editor scenarios`
34
+
35
+ ## Workflow
36
+
37
+ 1. Build a component
38
+ 2. Create scenarios with rich, realistic data.
39
+ 3. Register the scenarios with CodeYam.
40
+ 4. Preview each scenario to verify the component handles all states.
41
+ 5. Repeat for the next component.
42
+
43
+ ## Key Conventions
44
+
45
+ - Component files go in `app/components/` (or `src/components/`)
46
+ - One component per file, default export.
47
+ - Components accept props that can be provided by scenarios.
48
+
49
+ ## AI Handoff
50
+
51
+ Since you are working in an AI-assisted workflow, you must maintain a handoff summary for other AI agents (or yourself in a later session).
52
+
53
+ **At the end of every step, update the handoff summary:**
54
+
55
+ ```bash
56
+ codeyam editor handoff '{"summary": "Built the X component and registered 3 scenarios. Ready to start on Y."}'
57
+ ```
58
+
59
+ This summary will be displayed when starting a new session or switching between AI providers (Claude <-> Gemini <-> Codex).
60
+
61
+ If `.codeyam/handoff-context.md` exists, read it first — it contains detailed context from a previous provider including a progress timeline, uncommitted changes, and continuation instructions.
@@ -0,0 +1,59 @@
1
+ # CodeYam Editor Project (Gemini)
2
+
3
+ This project is being built with CodeYam's Code + Data Editor. The core principle is **code and data are developed together** — every component should have scenario data that drives what it renders.
4
+
5
+ ## Architecture: Components + Scenarios
6
+
7
+ ### Component Structure
8
+
9
+ Build with a clear component hierarchy so individual components can be previewed in isolation:
10
+
11
+ ```
12
+ app/
13
+ components/
14
+ Dashboard.tsx ← page-level component
15
+ TaskList.tsx ← displays a list, gets data from API or props
16
+ TaskCard.tsx ← single item, pure props
17
+ EmptyState.tsx ← shown when no data
18
+ ```
19
+
20
+ ### Scenarios
21
+
22
+ A **scenario** is a named set of data that drives how the app renders. Scenarios exist at two levels:
23
+
24
+ - **App-level scenarios**: Full application state.
25
+ - **Component-level scenarios**: Props for a single component in isolation.
26
+
27
+ **Always register scenarios with CodeYam** using the CLI:
28
+
29
+ ```bash
30
+ codeyam editor register @.codeyam/tmp/scenario.json
31
+ ```
32
+
33
+ **To list existing scenarios:** `codeyam editor scenarios`
34
+
35
+ ## Workflow
36
+
37
+ 1. Build a component
38
+ 2. Create scenarios with rich, realistic data.
39
+ 3. Register the scenarios with CodeYam.
40
+ 4. Preview each scenario to verify the component handles all states.
41
+ 5. Repeat for the next component.
42
+
43
+ ## Key Conventions
44
+
45
+ - Component files go in `app/components/` (or `src/components/`)
46
+ - One component per file, default export.
47
+ - Components accept props that can be provided by scenarios.
48
+
49
+ ## AI Handoff
50
+
51
+ Since you are working in an AI-assisted workflow, you must maintain a handoff summary for other AI agents (or yourself in a later session).
52
+
53
+ **At the end of every step, update the handoff summary:**
54
+
55
+ ```bash
56
+ codeyam editor handoff '{"summary": "Built the X component and registered 3 scenarios. Ready to start on Y."}'
57
+ ```
58
+
59
+ This summary will be displayed when starting a new session or switching between AI providers (Claude <-> Gemini).