@codeyam/codeyam-cli 0.1.0-staging.9574237 → 0.1.0-staging.a2f381a

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 (392) 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 +24 -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.isolateArgs.test.js +51 -0
  53. package/codeyam-cli/src/commands/__tests__/editor.isolateArgs.test.js.map +1 -0
  54. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js +55 -0
  55. package/codeyam-cli/src/commands/__tests__/editor.statePersistence.test.js.map +1 -0
  56. package/codeyam-cli/src/commands/__tests__/editor.stepDispatch.test.js +9 -9
  57. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js +39 -3
  58. package/codeyam-cli/src/commands/__tests__/init.gitignore.test.js.map +1 -1
  59. package/codeyam-cli/src/commands/editor.js +2497 -467
  60. package/codeyam-cli/src/commands/editor.js.map +1 -1
  61. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js +23 -0
  62. package/codeyam-cli/src/commands/editorAnalyzeImportsArgs.js.map +1 -0
  63. package/codeyam-cli/src/commands/editorIsolateArgs.js +25 -0
  64. package/codeyam-cli/src/commands/editorIsolateArgs.js.map +1 -0
  65. package/codeyam-cli/src/commands/init.js +21 -0
  66. package/codeyam-cli/src/commands/init.js.map +1 -1
  67. package/codeyam-cli/src/commands/telemetry.js +37 -0
  68. package/codeyam-cli/src/commands/telemetry.js.map +1 -0
  69. package/codeyam-cli/src/data/designSystems.js +27 -0
  70. package/codeyam-cli/src/data/designSystems.js.map +1 -0
  71. package/codeyam-cli/src/data/techStacks.js +1 -1
  72. package/codeyam-cli/src/utils/__tests__/devServerState.test.js +93 -1
  73. package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -1
  74. package/codeyam-cli/src/utils/__tests__/editorApi.test.js +44 -0
  75. package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -1
  76. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +3174 -1
  77. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  78. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js +137 -0
  79. package/codeyam-cli/src/utils/__tests__/editorCaptureScenarioSeeding.test.js.map +1 -0
  80. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +70 -0
  81. package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -1
  82. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js +163 -4
  83. package/codeyam-cli/src/utils/__tests__/editorEntityHelpers.test.js.map +1 -1
  84. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js +67 -0
  85. package/codeyam-cli/src/utils/__tests__/editorGuardMiddleware.test.js.map +1 -0
  86. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +11 -3
  87. package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -1
  88. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js +98 -1
  89. package/codeyam-cli/src/utils/__tests__/editorProxySession.test.js.map +1 -1
  90. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js +1108 -0
  91. package/codeyam-cli/src/utils/__tests__/editorRoadmap.test.js.map +1 -0
  92. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +190 -0
  93. package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -1
  94. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +344 -7
  95. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  96. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +134 -1
  97. package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -1
  98. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +294 -2
  99. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -1
  100. package/codeyam-cli/src/utils/__tests__/envFile.test.js +125 -0
  101. package/codeyam-cli/src/utils/__tests__/envFile.test.js.map +1 -0
  102. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js +177 -0
  103. package/codeyam-cli/src/utils/__tests__/glossaryAdd.test.js.map +1 -0
  104. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js +500 -0
  105. package/codeyam-cli/src/utils/__tests__/handoffContext.test.js.map +1 -0
  106. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +16 -1
  107. package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -1
  108. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js +302 -0
  109. package/codeyam-cli/src/utils/__tests__/manualEntityAnalysis.test.js.map +1 -0
  110. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js +127 -0
  111. package/codeyam-cli/src/utils/__tests__/registerScenarioResult.test.js.map +1 -0
  112. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js +57 -0
  113. package/codeyam-cli/src/utils/__tests__/scenarioCoverage.test.js.map +1 -1
  114. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +180 -1
  115. package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -1
  116. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js +84 -0
  117. package/codeyam-cli/src/utils/__tests__/screenshotHash.test.js.map +1 -0
  118. package/codeyam-cli/src/utils/__tests__/telemetry.test.js +159 -0
  119. package/codeyam-cli/src/utils/__tests__/telemetry.test.js.map +1 -0
  120. package/codeyam-cli/src/utils/__tests__/testRunner.test.js +216 -0
  121. package/codeyam-cli/src/utils/__tests__/testRunner.test.js.map +1 -0
  122. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js +6 -0
  123. package/codeyam-cli/src/utils/__tests__/webappDetection.test.js.map +1 -1
  124. package/codeyam-cli/src/utils/analysisRunner.js +36 -7
  125. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  126. package/codeyam-cli/src/utils/analyzer.js +11 -1
  127. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  128. package/codeyam-cli/src/utils/backgroundServer.js +1 -1
  129. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  130. package/codeyam-cli/src/utils/designSystemShowcase.js +810 -0
  131. package/codeyam-cli/src/utils/designSystemShowcase.js.map +1 -0
  132. package/codeyam-cli/src/utils/devServerState.js +32 -0
  133. package/codeyam-cli/src/utils/devServerState.js.map +1 -1
  134. package/codeyam-cli/src/utils/editorApi.js +16 -0
  135. package/codeyam-cli/src/utils/editorApi.js.map +1 -1
  136. package/codeyam-cli/src/utils/editorAudit.js +649 -10
  137. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  138. package/codeyam-cli/src/utils/editorEntityChangeStatus.js +13 -7
  139. package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -1
  140. package/codeyam-cli/src/utils/editorEntityHelpers.js +18 -3
  141. package/codeyam-cli/src/utils/editorEntityHelpers.js.map +1 -1
  142. package/codeyam-cli/src/utils/editorGuard.js +36 -0
  143. package/codeyam-cli/src/utils/editorGuard.js.map +1 -0
  144. package/codeyam-cli/src/utils/editorPreview.js +5 -3
  145. package/codeyam-cli/src/utils/editorPreview.js.map +1 -1
  146. package/codeyam-cli/src/utils/editorRecapture.js +109 -0
  147. package/codeyam-cli/src/utils/editorRecapture.js.map +1 -0
  148. package/codeyam-cli/src/utils/editorRoadmap.js +574 -0
  149. package/codeyam-cli/src/utils/editorRoadmap.js.map +1 -0
  150. package/codeyam-cli/src/utils/editorScenarioSwitch.js +39 -2
  151. package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -1
  152. package/codeyam-cli/src/utils/editorScenarios.js +181 -17
  153. package/codeyam-cli/src/utils/editorScenarios.js.map +1 -1
  154. package/codeyam-cli/src/utils/editorSeedAdapter.js +69 -16
  155. package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -1
  156. package/codeyam-cli/src/utils/entityChangeStatus.js +39 -5
  157. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -1
  158. package/codeyam-cli/src/utils/entityChangeStatus.server.js +31 -0
  159. package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -1
  160. package/codeyam-cli/src/utils/envFile.js +90 -0
  161. package/codeyam-cli/src/utils/envFile.js.map +1 -0
  162. package/codeyam-cli/src/utils/fileWatcher.js +38 -0
  163. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  164. package/codeyam-cli/src/utils/glossaryAdd.js +74 -0
  165. package/codeyam-cli/src/utils/glossaryAdd.js.map +1 -0
  166. package/codeyam-cli/src/utils/handoffContext.js +257 -0
  167. package/codeyam-cli/src/utils/handoffContext.js.map +1 -0
  168. package/codeyam-cli/src/utils/install-skills.js +41 -6
  169. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  170. package/codeyam-cli/src/utils/manualEntityAnalysis.js +196 -0
  171. package/codeyam-cli/src/utils/manualEntityAnalysis.js.map +1 -0
  172. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js +159 -0
  173. package/codeyam-cli/src/utils/queue/__tests__/job.interactiveStart.test.js.map +1 -0
  174. package/codeyam-cli/src/utils/queue/job.js +35 -6
  175. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  176. package/codeyam-cli/src/utils/registerScenarioResult.js +52 -0
  177. package/codeyam-cli/src/utils/registerScenarioResult.js.map +1 -0
  178. package/codeyam-cli/src/utils/scenarioCoverage.js +4 -1
  179. package/codeyam-cli/src/utils/scenarioCoverage.js.map +1 -1
  180. package/codeyam-cli/src/utils/scenariosManifest.js +66 -2
  181. package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -1
  182. package/codeyam-cli/src/utils/screenshotHash.js +26 -0
  183. package/codeyam-cli/src/utils/screenshotHash.js.map +1 -0
  184. package/codeyam-cli/src/utils/simulationGateMiddleware.js +9 -0
  185. package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -1
  186. package/codeyam-cli/src/utils/techStackConfig.js +38 -0
  187. package/codeyam-cli/src/utils/techStackConfig.js.map +1 -0
  188. package/codeyam-cli/src/utils/techStackConfig.test.js +85 -0
  189. package/codeyam-cli/src/utils/techStackConfig.test.js.map +1 -0
  190. package/codeyam-cli/src/utils/telemetry.js +106 -0
  191. package/codeyam-cli/src/utils/telemetry.js.map +1 -0
  192. package/codeyam-cli/src/utils/telemetryMiddleware.js +22 -0
  193. package/codeyam-cli/src/utils/telemetryMiddleware.js.map +1 -0
  194. package/codeyam-cli/src/utils/testResultCache.js +53 -0
  195. package/codeyam-cli/src/utils/testResultCache.js.map +1 -0
  196. package/codeyam-cli/src/utils/testResultCache.server.js +81 -0
  197. package/codeyam-cli/src/utils/testResultCache.server.js.map +1 -0
  198. package/codeyam-cli/src/utils/testResultCache.server.test.js +187 -0
  199. package/codeyam-cli/src/utils/testResultCache.server.test.js.map +1 -0
  200. package/codeyam-cli/src/utils/testResultCache.test.js +230 -0
  201. package/codeyam-cli/src/utils/testResultCache.test.js.map +1 -0
  202. package/codeyam-cli/src/utils/testRunner.js +193 -1
  203. package/codeyam-cli/src/utils/testRunner.js.map +1 -1
  204. package/codeyam-cli/src/utils/webappDetection.js +4 -2
  205. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  206. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js +99 -0
  207. package/codeyam-cli/src/webserver/__tests__/api.interactive-switch-scenario.test.js.map +1 -0
  208. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js +119 -1
  209. package/codeyam-cli/src/webserver/__tests__/buildPtyEnv.test.js.map +1 -1
  210. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js +68 -1
  211. package/codeyam-cli/src/webserver/__tests__/clientErrors.test.js.map +1 -1
  212. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js +442 -9
  213. package/codeyam-cli/src/webserver/__tests__/editorProxy.test.js.map +1 -1
  214. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js +190 -21
  215. package/codeyam-cli/src/webserver/__tests__/idleDetector.test.js.map +1 -1
  216. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js +135 -0
  217. package/codeyam-cli/src/webserver/__tests__/stripClaudeCommand.test.js.map +1 -0
  218. package/codeyam-cli/src/webserver/app/lib/clientErrors.js +22 -1
  219. package/codeyam-cli/src/webserver/app/lib/clientErrors.js.map +1 -1
  220. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  221. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js +34 -0
  222. package/codeyam-cli/src/webserver/app/routes/api.interactive-switch-scenario.js.map +1 -0
  223. package/codeyam-cli/src/webserver/backgroundServer.js +42 -57
  224. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  225. package/codeyam-cli/src/webserver/build/client/assets/{CopyButton-CzTDWkF2.js → CopyButton-DTBZZfSk.js} +1 -1
  226. package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-BFbq6iFk.js → EntityItem-BxclONWq.js} +1 -1
  227. package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-B6OMi58N.js → EntityTypeIcon-BsnEOJZ_.js} +1 -1
  228. package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-DuYodzo1.js → InlineSpinner-ByaELMbv.js} +1 -1
  229. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CXo9EeCl.js → InteractivePreview-6WjVfhxX.js} +2 -2
  230. package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-DYCNb2It.js → LibraryFunctionPreview-ChX-Hp7W.js} +1 -1
  231. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CZgY3sxX.js → LogViewer-C-9zQdXg.js} +1 -1
  232. package/codeyam-cli/src/webserver/build/client/assets/MiniClaudeChat-Bs2_Oua4.js +36 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-CnYYwRDw.js → ReportIssueModal-DQsceHVv.js} +1 -1
  234. package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CDoF7ZpU.js → SafeScreenshot-DThcm_9M.js} +1 -1
  235. package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-DrnfvaLL.js → ScenarioViewer-Cl4oOA3A.js} +1 -1
  236. package/codeyam-cli/src/webserver/build/client/assets/Spinner-CIil5-gb.js +34 -0
  237. package/codeyam-cli/src/webserver/build/client/assets/{ViewportInspectBar-DRKR9T0U.js → ViewportInspectBar-BqkA9zyZ.js} +1 -1
  238. package/codeyam-cli/src/webserver/build/client/assets/{_index-ClR-g3tY.js → _index-DnOgyseQ.js} +1 -1
  239. package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-DTH6ydEA.js → activity.(_tab)-DqM9hbNE.js} +1 -1
  240. package/codeyam-cli/src/webserver/build/client/assets/{addon-web-links-74hnHF59.js → addon-web-links-C58dYPwR.js} +1 -1
  241. package/codeyam-cli/src/webserver/build/client/assets/{agent-transcripts-B8CYhCO9.js → agent-transcripts-B8NCeOrm.js} +1 -1
  242. package/codeyam-cli/src/webserver/build/client/assets/api.editor-database-verify-l0sNRNKZ.js +1 -0
  243. package/codeyam-cli/src/webserver/build/client/assets/api.editor-github-verify-l0sNRNKZ.js +1 -0
  244. package/codeyam-cli/src/webserver/build/client/assets/api.editor-handoff-l0sNRNKZ.js +1 -0
  245. package/codeyam-cli/src/webserver/build/client/assets/api.editor-hosting-verify-l0sNRNKZ.js +1 -0
  246. package/codeyam-cli/src/webserver/build/client/assets/api.editor-recapture-stale-l0sNRNKZ.js +1 -0
  247. package/codeyam-cli/src/webserver/build/client/assets/api.editor-roadmap-l0sNRNKZ.js +1 -0
  248. package/codeyam-cli/src/webserver/build/client/assets/api.editor-save-scenario-data-l0sNRNKZ.js +1 -0
  249. package/codeyam-cli/src/webserver/build/client/assets/api.editor-schema-l0sNRNKZ.js +1 -0
  250. package/codeyam-cli/src/webserver/build/client/assets/api.editor-verify-routes-l0sNRNKZ.js +1 -0
  251. package/codeyam-cli/src/webserver/build/client/assets/api.interactive-switch-scenario-l0sNRNKZ.js +1 -0
  252. package/codeyam-cli/src/webserver/build/client/assets/{book-open-CLaoh4ac.js → book-open-BFSIqZgO.js} +1 -1
  253. package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BZ2DZxbW.js → chevron-down-B9fDzFVh.js} +1 -1
  254. package/codeyam-cli/src/webserver/build/client/assets/chunk-UVKPFVEO-Bmq2apuh.js +43 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CT4unAk-.js → circle-check-DLPObLUx.js} +1 -1
  256. package/codeyam-cli/src/webserver/build/client/assets/{copy-zK0B6Nu-.js → copy-DXEmO0TD.js} +1 -1
  257. package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-DJB0YQJL.js → createLucideIcon-BwyFiRot.js} +1 -1
  258. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-Coe5NhbS.js +1 -0
  259. package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-CCKUIm0S.svg → cy-logo-cli-DoA97ML3.svg} +2 -2
  260. package/codeyam-cli/src/webserver/build/client/assets/{dev.empty-CkXFP_i-.js → dev.empty-iRhRIFlp.js} +1 -1
  261. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-BZPBzV73.js +1 -0
  262. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-DhtVC4aI.js +161 -0
  263. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-C6fEYHrh.js +41 -0
  264. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-BqAN7hyG.js → entity._sha._-pc-vc6wO.js} +13 -12
  265. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.dev-BOi8kpwd.js → entity._sha.scenarios._scenarioId.dev-C8AyYgYT.js} +1 -1
  266. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-Dg1NhIms.js → entity._sha.scenarios._scenarioId.fullscreen-DziaVQX1.js} +1 -1
  267. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-CJX6kkkV.js → entity._sha_.create-scenario-BTcpgIpC.js} +1 -1
  268. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BhVjZhKg.js → entity._sha_.edit._scenarioId-D_O_ajfZ.js} +1 -1
  269. package/codeyam-cli/src/webserver/build/client/assets/{entry.client-_gzKltPN.js → entry.client-j1Vi0bco.js} +6 -6
  270. package/codeyam-cli/src/webserver/build/client/assets/{files-CV_17tZS.js → files-kuny2Q_s.js} +1 -1
  271. package/codeyam-cli/src/webserver/build/client/assets/{git-D-YXmMbR.js → git-DgCZPMie.js} +1 -1
  272. package/codeyam-cli/src/webserver/build/client/assets/globals-L-aUIeux.css +1 -0
  273. package/codeyam-cli/src/webserver/build/client/assets/{index-CCrgCshv.js → index-BliGSSpl.js} +1 -1
  274. package/codeyam-cli/src/webserver/build/client/assets/{index-Blo6EK8G.js → index-SqjQKTdH.js} +1 -1
  275. package/codeyam-cli/src/webserver/build/client/assets/{index-BsX0F-9C.js → index-vyrZD2g4.js} +1 -1
  276. package/codeyam-cli/src/webserver/build/client/assets/{labs-Byazq8Pv.js → labs-c3yLxSEp.js} +1 -1
  277. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-DVQ0oHR7.js → loader-circle-D-q28GLF.js} +1 -1
  278. package/codeyam-cli/src/webserver/build/client/assets/manifest-79d0d81a.js +1 -0
  279. package/codeyam-cli/src/webserver/build/client/assets/{memory-b-VmA2Vj.js → memory-CEWIUC4t.js} +1 -1
  280. package/codeyam-cli/src/webserver/build/client/assets/{pause-DGcndCAa.js → pause-BP6fitdh.js} +1 -1
  281. package/codeyam-cli/src/webserver/build/client/assets/root-L2V0jea7.js +80 -0
  282. package/codeyam-cli/src/webserver/build/client/assets/{search-C0Uw0bcK.js → search-BooqacKS.js} +1 -1
  283. package/codeyam-cli/src/webserver/build/client/assets/{settings-OoNgHIfW.js → settings-BM0nbryO.js} +1 -1
  284. package/codeyam-cli/src/webserver/build/client/assets/{simulations-Bcemfu8a.js → simulations-ovy6FjRY.js} +1 -1
  285. package/codeyam-cli/src/webserver/build/client/assets/{terminal-BgMmG7R9.js → terminal-DHemCJIs.js} +1 -1
  286. package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-Cs87hJYK.js → triangle-alert-D87ekDl8.js} +1 -1
  287. package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-BR3Rs7JY.js → useCustomSizes-Dk0Tciqg.js} +1 -1
  288. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C8QvIe05.js +2 -0
  289. package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-BermyNU5.js → useReportContext-jkCytuYz.js} +1 -1
  290. package/codeyam-cli/src/webserver/build/client/assets/{useToast-a_QN_W9_.js → useToast-BgqkixU9.js} +1 -1
  291. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-QgInFGdU.js +16 -0
  292. package/codeyam-cli/src/webserver/build/server/assets/{index-CHSrVJtC.js → index-zblh9auj.js} +1 -1
  293. package/codeyam-cli/src/webserver/build/server/assets/init-DaE0CBjk.js +14 -0
  294. package/codeyam-cli/src/webserver/build/server/assets/server-build-CNvgz1cC.js +853 -0
  295. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  296. package/codeyam-cli/src/webserver/build-info.json +5 -5
  297. package/codeyam-cli/src/webserver/editorProxy.js +388 -26
  298. package/codeyam-cli/src/webserver/editorProxy.js.map +1 -1
  299. package/codeyam-cli/src/webserver/idleDetector.js +65 -8
  300. package/codeyam-cli/src/webserver/idleDetector.js.map +1 -1
  301. package/codeyam-cli/src/webserver/scripts/journalCapture.ts +53 -0
  302. package/codeyam-cli/src/webserver/server.js +151 -14
  303. package/codeyam-cli/src/webserver/server.js.map +1 -1
  304. package/codeyam-cli/src/webserver/terminalServer.js +253 -41
  305. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  306. package/codeyam-cli/templates/__tests__/editor-step-hook.prompt-capture.test.ts +118 -0
  307. package/codeyam-cli/templates/codeyam-editor-claude.md +2 -0
  308. package/codeyam-cli/templates/codeyam-editor-codex.md +61 -0
  309. package/codeyam-cli/templates/codeyam-editor-gemini.md +59 -0
  310. package/codeyam-cli/templates/codeyam-editor-reference.md +216 -0
  311. package/codeyam-cli/templates/design-systems/clean-dashboard-design-system.md +255 -0
  312. package/codeyam-cli/templates/design-systems/editorial-design-system.md +267 -0
  313. package/codeyam-cli/templates/design-systems/mono-brutalist-design-system.md +256 -0
  314. package/codeyam-cli/templates/design-systems/neo-brutalist-design-system.md +294 -0
  315. package/codeyam-cli/templates/editor-step-hook.py +93 -46
  316. package/codeyam-cli/templates/expo-react-native/MOBILE_SETUP.md +204 -5
  317. package/codeyam-cli/templates/expo-react-native/__tests__/.gitkeep +0 -0
  318. package/codeyam-cli/templates/expo-react-native/app/_layout.tsx +6 -3
  319. package/codeyam-cli/templates/expo-react-native/app/index.tsx +36 -0
  320. package/codeyam-cli/templates/expo-react-native/app.json +11 -0
  321. package/codeyam-cli/templates/expo-react-native/babel.config.js +1 -0
  322. package/codeyam-cli/templates/expo-react-native/gitignore +2 -0
  323. package/codeyam-cli/templates/expo-react-native/global.css +7 -0
  324. package/codeyam-cli/templates/expo-react-native/lib/theme.ts +73 -0
  325. package/codeyam-cli/templates/expo-react-native/package.json +32 -16
  326. package/codeyam-cli/templates/expo-react-native/patches/expo-modules-autolinking+3.0.24.patch +29 -0
  327. package/codeyam-cli/templates/isolation-route/expo-router.tsx.template +54 -0
  328. package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +1 -0
  329. package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +1 -1
  330. package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +47 -34
  331. package/codeyam-cli/templates/nextjs-prisma-supabase/package.json +1 -1
  332. package/codeyam-cli/templates/seed-adapters/supabase.ts +271 -78
  333. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +34 -1
  334. package/package.json +2 -1
  335. package/packages/ai/src/lib/astScopes/methodSemantics.js +99 -0
  336. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  337. package/packages/ai/src/lib/astScopes/nodeToSource.js +16 -0
  338. package/packages/ai/src/lib/astScopes/nodeToSource.js.map +1 -1
  339. package/packages/ai/src/lib/astScopes/paths.js +12 -3
  340. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  341. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +27 -10
  342. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  343. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js +9 -2
  344. package/packages/ai/src/lib/dataStructure/equivalencyManagers/ParentScopeManager.js.map +1 -1
  345. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +14 -4
  346. package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
  347. package/packages/analyze/index.js +1 -1
  348. package/packages/analyze/index.js.map +1 -1
  349. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +16 -2
  350. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  351. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +6 -26
  352. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  353. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -2
  354. package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
  355. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +9 -7
  356. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  357. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +14 -0
  358. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  359. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +44 -11
  360. package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
  361. package/packages/analyze/src/lib/files/analyzeChange.js +1 -0
  362. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  363. package/packages/analyze/src/lib/files/analyzeInitial.js +1 -0
  364. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  365. package/packages/analyze/src/lib/files/analyzeNextRoute.js +5 -1
  366. package/packages/analyze/src/lib/files/analyzeNextRoute.js.map +1 -1
  367. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +120 -28
  368. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  369. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +1368 -1193
  370. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  371. package/packages/database/src/lib/loadAnalysis.js +7 -1
  372. package/packages/database/src/lib/loadAnalysis.js.map +1 -1
  373. package/packages/database/src/lib/loadEntity.js +5 -5
  374. package/packages/database/src/lib/loadEntity.js.map +1 -1
  375. package/packages/utils/src/lib/fs/rsyncCopy.js +22 -1
  376. package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
  377. package/codeyam-cli/src/webserver/build/client/assets/Spinner-Df3UCi8k.js +0 -34
  378. package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-BBXArFPl.js +0 -43
  379. package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +0 -1
  380. package/codeyam-cli/src/webserver/build/client/assets/editor._tab-DPw7NZHc.js +0 -1
  381. package/codeyam-cli/src/webserver/build/client/assets/editor.entity.(_sha)-Dmg9cGK3.js +0 -58
  382. package/codeyam-cli/src/webserver/build/client/assets/editorPreview-DBa7T2FK.js +0 -41
  383. package/codeyam-cli/src/webserver/build/client/assets/globals-Bqg9V6XV.css +0 -1
  384. package/codeyam-cli/src/webserver/build/client/assets/manifest-422a3551.js +0 -1
  385. package/codeyam-cli/src/webserver/build/client/assets/root-ue8uWVRS.js +0 -67
  386. package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-BxxP_XF9.js +0 -2
  387. package/codeyam-cli/src/webserver/build/server/assets/analysisRunner-DXQyOV0G.js +0 -13
  388. package/codeyam-cli/src/webserver/build/server/assets/init-DL8vWZ6m.js +0 -10
  389. package/codeyam-cli/src/webserver/build/server/assets/server-build-BUKVjBSZ.js +0 -501
  390. package/codeyam-cli/templates/expo-react-native/app/(tabs)/_layout.tsx +0 -33
  391. package/codeyam-cli/templates/expo-react-native/app/(tabs)/index.tsx +0 -12
  392. package/codeyam-cli/templates/expo-react-native/app/(tabs)/settings.tsx +0 -12
@@ -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,25 @@ 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
+ // Nodist (Windows Node.js version manager)
160
+ 'NODIST_PREFIX',
161
+ 'NODIST_X64',
162
+ ];
57
163
  export function buildPtyEnv(options) {
58
164
  const env = {};
59
- 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) {
60
169
  const val = process.env[key];
61
170
  if (val != null)
62
171
  env[key] = val;
@@ -71,6 +180,49 @@ export function buildPtyEnv(options) {
71
180
  }
72
181
  return env;
73
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
+ }
74
226
  /**
75
227
  * Convert a name to a safe file name matching CodeYam's convention.
76
228
  * e.g. "Default Scenario" -> "Default_Scenario"
@@ -234,9 +386,10 @@ function writeEditorModeContext(ctx) {
234
386
  `- **Proxy:** http://localhost:${proxyPort} (used by the browser iframe only — do NOT use for health checks)`,
235
387
  '',
236
388
  '## 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',
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)',
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.',
392
+ '- Steps 1, 5, 15, and 18 require user confirmation before proceeding',
240
393
  '',
241
394
  '## Preview Updates',
242
395
  '- **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 +400,7 @@ function writeEditorModeContext(ctx) {
247
400
  '- Get the dev server URL: `curl -s http://localhost:' +
248
401
  serverPort +
249
402
  '/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")',
403
+ '- Verify pages and API routes: `codeyam editor verify-routes \'{"paths":["/"],"apiRoutes":["/api/your-route"]}\'` (checks HTTP status and JSON validity)',
252
404
  '- **NEVER check localhost:' +
253
405
  proxyPort +
254
406
  ' for health** — the proxy returns 200 even when the app is broken',
@@ -261,6 +413,7 @@ function writeEditorModeContext(ctx) {
261
413
  `- **Dev server status:** \`curl http://localhost:${serverPort}/api/editor-dev-server\``,
262
414
  `- **Start dev server:** \`curl -X POST http://localhost:${serverPort}/api/editor-dev-server -H 'Content-Type: application/json' -d '{"action":"start"}'\``,
263
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.`,
264
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)`,
265
418
  `- **Journal screenshot:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-screenshot -H 'Content-Type: application/json' -d '{"url":"...","filename":"..."}'\``,
266
419
  `- **Journal entry:** \`curl -X POST http://localhost:${serverPort}/api/editor-journal-entry -H 'Content-Type: application/json' -d '{"title":"...","type":"feature","description":"..."}'\``,
@@ -278,8 +431,10 @@ function writeEditorModeContext(ctx) {
278
431
  '- Create ONE isolation route page per component:',
279
432
  ' - **Remix:** `app/routes/isolated-components.ComponentName.tsx` → `/isolated-components/ComponentName`',
280
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)',
281
435
  '- 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;padding:20px"><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)',
283
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)',
284
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":[...]}}}}\'`',
285
440
  '- The url is a PATH, not a full URL — the proxy appends it and intercepts API calls the component makes',
@@ -299,9 +454,21 @@ function writeEditorModeContext(ctx) {
299
454
  const hasPackageJson = fs.existsSync(path.join(codeyamRoot, 'package.json'));
300
455
  if (!hasPackageJson) {
301
456
  lines.push('## Status');
302
- 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.');
303
458
  lines.push('');
304
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
+ }
305
472
  fs.writeFileSync(contextPath, lines.join('\n'), 'utf8');
306
473
  return true;
307
474
  }
@@ -360,6 +527,7 @@ export function attachTerminalServer(httpServer) {
360
527
  const reconnectId = url.searchParams.get('reconnectId') || '';
361
528
  const claudeStartMode = url.searchParams.get('claudeStartMode') || '';
362
529
  const claudeSessionId = url.searchParams.get('claudeSessionId') || '';
530
+ const editorStepLabel = url.searchParams.get('editorStepLabel') || '';
363
531
  // --- Reconnection: reattach to a detached PTY ---
364
532
  if (reconnectId && detachedPtys.has(reconnectId)) {
365
533
  const detached = detachedPtys.get(reconnectId);
@@ -389,22 +557,24 @@ export function attachTerminalServer(httpServer) {
389
557
  const reconnectIdleDetector = new IdleDetector({
390
558
  onIdle: () => {
391
559
  if (ws.readyState === WebSocket.OPEN) {
560
+ console.log('[terminalServer] Sending claude-idle (reconnected)');
392
561
  ws.send(JSON.stringify({ type: 'claude-idle' }));
393
562
  }
394
563
  },
395
564
  onActive: () => {
396
565
  if (ws.readyState === WebSocket.OPEN) {
566
+ console.log('[terminalServer] Sending claude-active (reconnected)');
397
567
  ws.send(JSON.stringify({ type: 'claude-active' }));
398
568
  }
399
569
  },
400
- });
570
+ }, { activeOutputPattern: /[✶✢·◼]/ });
401
571
  detached.ptyProcess.onData((data) => {
402
572
  if (detachedFlag)
403
573
  return; // Superseded by a newer listener
404
574
  if (ws.readyState === WebSocket.OPEN) {
405
575
  if (!detached.hasClearedScreen &&
406
576
  detached.hasContext &&
407
- data.includes('╭')) {
577
+ isBannerChunk(data)) {
408
578
  detached.hasClearedScreen = true;
409
579
  ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
410
580
  }
@@ -412,11 +582,12 @@ export function attachTerminalServer(httpServer) {
412
582
  if (transformed.length > 0) {
413
583
  ws.send(JSON.stringify({ type: 'output', data: transformed }));
414
584
  }
415
- reconnectIdleDetector.onPtyOutput(data.length);
585
+ reconnectIdleDetector.onPtyOutput(data);
416
586
  }
417
587
  });
418
588
  detached.ptyProcess.onExit(() => {
419
- reconnectIdleDetector.dispose();
589
+ console.log('[terminalServer] PTY exited (reconnected), flushing idle state');
590
+ reconnectIdleDetector.disposeAndFlush();
420
591
  sessions.delete(session);
421
592
  if (ws.readyState === WebSocket.OPEN) {
422
593
  ws.close();
@@ -448,14 +619,12 @@ export function attachTerminalServer(httpServer) {
448
619
  return;
449
620
  }
450
621
  // --- 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';
622
+ const { shell, args: shellArgs } = getShellConfig();
623
+ const safeCwd = getSafeCwd();
455
624
  // Spawn PTY with a clean env (no giant JSON blobs from CODEYAM_PROJECT etc.)
456
625
  let ptyProcess;
457
626
  try {
458
- ptyProcess = pty.spawn(shell, ['-l'], {
627
+ ptyProcess = pty.spawn(shell, shellArgs, {
459
628
  name: 'xterm-256color',
460
629
  cols: 120,
461
630
  rows: 30,
@@ -500,28 +669,41 @@ export function attachTerminalServer(httpServer) {
500
669
  projectSlug,
501
670
  });
502
671
  let hasClearedScreen = false;
672
+ const filterStartup = shouldFilterStartup({ hasContext, editorMode });
673
+ const startupFilter = filterStartup ? new StartupOutputFilter() : null;
503
674
  // Safety timeout: stop suppressing output after 5s even if ╭ never arrives.
504
675
  // Prevents "Starting Claude..." hanging forever if the banner format changes.
505
- if (hasContext) {
676
+ if (filterStartup) {
506
677
  setTimeout(() => {
507
- if (!hasClearedScreen) {
678
+ const output = startupFilter.getTimeoutOutput();
679
+ if (output !== null) {
508
680
  hasClearedScreen = true;
509
681
  console.log('[terminalServer] Suppression timeout — showing output');
682
+ if (ws.readyState === WebSocket.OPEN) {
683
+ // Clear the "Starting Claude..." message
684
+ ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
685
+ const transformed = transformMarkers(output);
686
+ if (transformed.length > 0) {
687
+ ws.send(JSON.stringify({ type: 'output', data: transformed }));
688
+ }
689
+ }
510
690
  }
511
691
  }, 5000);
512
692
  }
513
693
  const idleDetector = new IdleDetector({
514
694
  onIdle: () => {
515
695
  if (ws.readyState === WebSocket.OPEN) {
696
+ console.log('[terminalServer] Sending claude-idle');
516
697
  ws.send(JSON.stringify({ type: 'claude-idle' }));
517
698
  }
518
699
  },
519
700
  onActive: () => {
520
701
  if (ws.readyState === WebSocket.OPEN) {
702
+ console.log('[terminalServer] Sending claude-active');
521
703
  ws.send(JSON.stringify({ type: 'claude-active' }));
522
704
  }
523
705
  },
524
- });
706
+ }, { activeOutputPattern: /[✶✢·◼]/ });
525
707
  // PTY output -> WebSocket
526
708
  const serverPort = process.env.CODEYAM_PORT || '3111';
527
709
  // Stateful transformer that buffers partial {{scenario:...}} markers
@@ -529,19 +711,22 @@ export function attachTerminalServer(httpServer) {
529
711
  const transformMarkers = createMarkerTransformer(serverPort);
530
712
  ptyProcess.onData((data) => {
531
713
  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.
714
+ // During startup, suppress output until Claude's welcome banner (╭)
715
+ // arrives, then clear screen and strip the raw command from the chunk.
716
+ if (startupFilter && !hasClearedScreen) {
717
+ const result = startupFilter.processChunk(data);
718
+ if (result.type === 'clear-and-send') {
719
+ hasClearedScreen = true;
720
+ ws.send(JSON.stringify({ type: 'output', data: '\x1b[2J\x1b[H' }));
721
+ if (result.data.length > 0) {
722
+ const transformed = transformMarkers(result.data);
723
+ if (transformed.length > 0) {
724
+ ws.send(JSON.stringify({ type: 'output', data: transformed }));
725
+ }
726
+ }
727
+ idleDetector.onPtyOutput(data);
728
+ }
729
+ // type === 'suppress': skip sending and idle detection
545
730
  }
546
731
  else {
547
732
  // Transform {{scenario:Name:ID}} markers into OSC 8 clickable hyperlinks.
@@ -550,12 +735,13 @@ export function attachTerminalServer(httpServer) {
550
735
  if (transformed.length > 0) {
551
736
  ws.send(JSON.stringify({ type: 'output', data: transformed }));
552
737
  }
553
- idleDetector.onPtyOutput(data.length);
738
+ idleDetector.onPtyOutput(data);
554
739
  }
555
740
  }
556
741
  });
557
742
  ptyProcess.onExit(() => {
558
- idleDetector.dispose();
743
+ console.log('[terminalServer] PTY exited, flushing idle state');
744
+ idleDetector.disposeAndFlush();
559
745
  sessions.delete(session);
560
746
  // Also clean up from detachedPtys if it was detached
561
747
  if (detachedPtys.has(sessionId)) {
@@ -592,7 +778,7 @@ export function attachTerminalServer(httpServer) {
592
778
  // Show a loading indicator while Claude Code starts up.
593
779
  // PTY output is suppressed until Claude's welcome banner (╭) appears
594
780
  // and triggers a screen clear, so the user never sees the raw command.
595
- if (hasContext) {
781
+ if (filterStartup) {
596
782
  ws.send(JSON.stringify({
597
783
  type: 'output',
598
784
  data: '\x1b[2J\x1b[H\r\n\x1b[90m Starting Claude...\x1b[0m\r\n',
@@ -612,16 +798,22 @@ export function attachTerminalServer(httpServer) {
612
798
  setTimeout(() => {
613
799
  if (editorMode && hasContext) {
614
800
  if (claudeStartMode === 'resume' && claudeSessionId) {
615
- 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`);
616
805
  }
617
806
  else if (claudeStartMode === 'resume') {
618
807
  // 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");
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`);
620
812
  }
621
813
  else {
622
814
  // Fresh session: generate a trackable UUID
623
815
  const newSessionId = crypto.randomUUID();
624
- const sessionIdPath = path.join(cwd, '.codeyam', 'claude-session-id.txt');
816
+ const sessionIdPath = path.join(safeCwd, '.codeyam', 'claude-session-id.txt');
625
817
  try {
626
818
  fs.mkdirSync(path.dirname(sessionIdPath), { recursive: true });
627
819
  fs.writeFileSync(sessionIdPath, newSessionId, 'utf8');
@@ -629,11 +821,11 @@ export function attachTerminalServer(httpServer) {
629
821
  catch (err) {
630
822
  console.error('[terminalServer] Failed to write claude-session-id.txt:', err);
631
823
  }
632
- ptyProcess.write(`claude --session-id '${newSessionId}' '/codeyam-editor'\r`);
824
+ ptyProcess.write(`claude --session-id ${shellQuote(newSessionId)} ${shellQuote('/codeyam-editor')}\r`);
633
825
  }
634
826
  }
635
827
  else if (hasContext) {
636
- ptyProcess.write("claude '/codeyam-dev-mode'\r");
828
+ ptyProcess.write(`claude ${shellQuote('/codeyam-dev-mode')}\r`);
637
829
  }
638
830
  else {
639
831
  ptyProcess.write('claude\r');
@@ -770,6 +962,26 @@ export function broadcastHideResults() {
770
962
  }
771
963
  return count;
772
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
+ }
773
985
  /**
774
986
  * Send a set-viewport message to all connected terminal WebSocket clients.
775
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;AAmB1D,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,8OAA8O;YAC9O,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,qRAAqR;YACrR,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,CAAC;gBAC7C,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,CAAC,CAAC;YAEH,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,MAAM,CAAC,CAAC;gBACjD,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,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,GAAG,IAAI,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,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,CAAC,CAAC;QAEH,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,yEAAyE;gBACzE,kDAAkD;gBAClD,IAAI,CAAC,gBAAgB,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1D,gBAAgB,GAAG,IAAI,CAAC;oBACxB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,kEAAkE;gBAClE,wEAAwE;gBACxE,IAAI,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC;oBACpC,oEAAoE;oBACpE,qEAAqE;oBACrE,oEAAoE;oBACpE,oEAAoE;gBACtE,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,MAAM,CAAC,CAAC;gBACxC,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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"}