4runr-os 2.1.4 → 2.1.5

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 (566) hide show
  1. package/dist/index.js +16 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/tui_mk1/kernel.d.ts.map +1 -1
  4. package/dist/tui_mk1/kernel.js +107 -4
  5. package/dist/tui_mk1/kernel.js.map +1 -1
  6. package/dist/tui_mk1/layout/layoutEngine.d.ts +38 -19
  7. package/dist/tui_mk1/layout/layoutEngine.d.ts.map +1 -1
  8. package/dist/tui_mk1/layout/layoutEngine.js +521 -228
  9. package/dist/tui_mk1/layout/layoutEngine.js.map +1 -1
  10. package/dist/tui_mk1/log.d.ts +23 -0
  11. package/dist/tui_mk1/log.d.ts.map +1 -0
  12. package/dist/tui_mk1/log.js +125 -0
  13. package/dist/tui_mk1/log.js.map +1 -0
  14. package/dist/tui_mk1/logger.d.ts.map +1 -1
  15. package/dist/tui_mk1/logger.js +20 -10
  16. package/dist/tui_mk1/logger.js.map +1 -1
  17. package/dist/tui_mk1/mk1App.d.ts +13 -18
  18. package/dist/tui_mk1/mk1App.d.ts.map +1 -1
  19. package/dist/tui_mk1/mk1App.js +334 -157
  20. package/dist/tui_mk1/mk1App.js.map +1 -1
  21. package/dist/tui_mk1/resizeController.d.ts.map +1 -1
  22. package/dist/tui_mk1/resizeController.js +15 -1
  23. package/dist/tui_mk1/resizeController.js.map +1 -1
  24. package/dist/tui_mk1/stdoutGuard.d.ts.map +1 -1
  25. package/dist/tui_mk1/stdoutGuard.js +7 -0
  26. package/dist/tui_mk1/stdoutGuard.js.map +1 -1
  27. package/dist/tui_mk1/terminalRestore.d.ts.map +1 -1
  28. package/dist/tui_mk1/terminalRestore.js +19 -1
  29. package/dist/tui_mk1/terminalRestore.js.map +1 -1
  30. package/dist/tui_mk1/ui/offenderScanner.d.ts +31 -0
  31. package/dist/tui_mk1/ui/offenderScanner.d.ts.map +1 -0
  32. package/dist/tui_mk1/ui/offenderScanner.js +80 -0
  33. package/dist/tui_mk1/ui/offenderScanner.js.map +1 -0
  34. package/dist/tui_mk1/ui/safe.d.ts +9 -0
  35. package/dist/tui_mk1/ui/safe.d.ts.map +1 -0
  36. package/dist/tui_mk1/ui/safe.js +29 -0
  37. package/dist/tui_mk1/ui/safe.js.map +1 -0
  38. package/dist/tui_mk1/ui/safeText.d.ts +22 -0
  39. package/dist/tui_mk1/ui/safeText.d.ts.map +1 -0
  40. package/dist/tui_mk1/ui/safeText.js +50 -0
  41. package/dist/tui_mk1/ui/safeText.js.map +1 -0
  42. package/dist/tui_mk1/ui/uiBuilder.d.ts +44 -0
  43. package/dist/tui_mk1/ui/uiBuilder.d.ts.map +1 -0
  44. package/dist/tui_mk1/ui/uiBuilder.js +467 -0
  45. package/dist/tui_mk1/ui/uiBuilder.js.map +1 -0
  46. package/dist/tui_mk1/viewport/safeViewport.d.ts +10 -1
  47. package/dist/tui_mk1/viewport/safeViewport.d.ts.map +1 -1
  48. package/dist/tui_mk1/viewport/safeViewport.js +47 -15
  49. package/dist/tui_mk1/viewport/safeViewport.js.map +1 -1
  50. package/dist/tui_mk2/kernel.d.ts +28 -0
  51. package/dist/tui_mk2/kernel.d.ts.map +1 -0
  52. package/dist/tui_mk2/kernel.js +86 -0
  53. package/dist/tui_mk2/kernel.js.map +1 -0
  54. package/dist/tui_mk2/mk2App.d.ts +33 -0
  55. package/dist/tui_mk2/mk2App.d.ts.map +1 -0
  56. package/dist/tui_mk2/mk2App.js +93 -0
  57. package/dist/tui_mk2/mk2App.js.map +1 -0
  58. package/package.json +8 -7
  59. package/dist/tui_mk1/ui/panels/createSection.d.ts +0 -18
  60. package/dist/tui_mk1/ui/panels/createSection.d.ts.map +0 -1
  61. package/dist/tui_mk1/ui/panels/createSection.js +0 -42
  62. package/dist/tui_mk1/ui/panels/createSection.js.map +0 -1
  63. package/dist/tui_mk1/ui/panels.d.ts +0 -23
  64. package/dist/tui_mk1/ui/panels.d.ts.map +0 -1
  65. package/dist/tui_mk1/ui/panels.js +0 -108
  66. package/dist/tui_mk1/ui/panels.js.map +0 -1
  67. package/dist/tui_mk1/ui/render/sectionRenderer.d.ts +0 -21
  68. package/dist/tui_mk1/ui/render/sectionRenderer.d.ts.map +0 -1
  69. package/dist/tui_mk1/ui/render/sectionRenderer.js +0 -32
  70. package/dist/tui_mk1/ui/render/sectionRenderer.js.map +0 -1
  71. package/dist/tui_mk1/ui/widgetManager.d.ts +0 -58
  72. package/dist/tui_mk1/ui/widgetManager.d.ts.map +0 -1
  73. package/dist/tui_mk1/ui/widgetManager.js +0 -197
  74. package/dist/tui_mk1/ui/widgetManager.js.map +0 -1
  75. package/dist/ui/boot/sequence.d.ts +0 -10
  76. package/dist/ui/boot/sequence.d.ts.map +0 -1
  77. package/dist/ui/boot/sequence.js +0 -171
  78. package/dist/ui/boot/sequence.js.map +0 -1
  79. package/dist/ui/constraints/layoutSpec.d.ts +0 -47
  80. package/dist/ui/constraints/layoutSpec.d.ts.map +0 -1
  81. package/dist/ui/constraints/layoutSpec.js +0 -60
  82. package/dist/ui/constraints/layoutSpec.js.map +0 -1
  83. package/dist/ui/constraints/unknownHandling.d.ts +0 -29
  84. package/dist/ui/constraints/unknownHandling.d.ts.map +0 -1
  85. package/dist/ui/constraints/unknownHandling.js +0 -60
  86. package/dist/ui/constraints/unknownHandling.js.map +0 -1
  87. package/dist/ui/drilldowns/feed.d.ts +0 -11
  88. package/dist/ui/drilldowns/feed.d.ts.map +0 -1
  89. package/dist/ui/drilldowns/feed.js +0 -68
  90. package/dist/ui/drilldowns/feed.js.map +0 -1
  91. package/dist/ui/drilldowns/index.d.ts +0 -7
  92. package/dist/ui/drilldowns/index.d.ts.map +0 -1
  93. package/dist/ui/drilldowns/index.js +0 -8
  94. package/dist/ui/drilldowns/index.js.map +0 -1
  95. package/dist/ui/drilldowns/posture.d.ts +0 -11
  96. package/dist/ui/drilldowns/posture.d.ts.map +0 -1
  97. package/dist/ui/drilldowns/posture.js +0 -74
  98. package/dist/ui/drilldowns/posture.js.map +0 -1
  99. package/dist/ui/intelligence-posture-view.d.ts +0 -22
  100. package/dist/ui/intelligence-posture-view.d.ts.map +0 -1
  101. package/dist/ui/intelligence-posture-view.js +0 -169
  102. package/dist/ui/intelligence-posture-view.js.map +0 -1
  103. package/dist/ui/navigation/keymaps.d.ts +0 -26
  104. package/dist/ui/navigation/keymaps.d.ts.map +0 -1
  105. package/dist/ui/navigation/keymaps.js +0 -135
  106. package/dist/ui/navigation/keymaps.js.map +0 -1
  107. package/dist/ui/navigation/palette.d.ts +0 -10
  108. package/dist/ui/navigation/palette.d.ts.map +0 -1
  109. package/dist/ui/navigation/palette.js +0 -133
  110. package/dist/ui/navigation/palette.js.map +0 -1
  111. package/dist/ui/navigation/state.d.ts +0 -47
  112. package/dist/ui/navigation/state.d.ts.map +0 -1
  113. package/dist/ui/navigation/state.js +0 -84
  114. package/dist/ui/navigation/state.js.map +0 -1
  115. package/dist/ui/navigation/types.d.ts +0 -38
  116. package/dist/ui/navigation/types.d.ts.map +0 -1
  117. package/dist/ui/navigation/types.js +0 -36
  118. package/dist/ui/navigation/types.js.map +0 -1
  119. package/dist/ui/panels/active-assets.d.ts +0 -12
  120. package/dist/ui/panels/active-assets.d.ts.map +0 -1
  121. package/dist/ui/panels/active-assets.js +0 -83
  122. package/dist/ui/panels/active-assets.js.map +0 -1
  123. package/dist/ui/panels/capability-flags.d.ts +0 -12
  124. package/dist/ui/panels/capability-flags.d.ts.map +0 -1
  125. package/dist/ui/panels/capability-flags.js +0 -59
  126. package/dist/ui/panels/capability-flags.js.map +0 -1
  127. package/dist/ui/panels/command-surface.d.ts +0 -12
  128. package/dist/ui/panels/command-surface.d.ts.map +0 -1
  129. package/dist/ui/panels/command-surface.js +0 -55
  130. package/dist/ui/panels/command-surface.js.map +0 -1
  131. package/dist/ui/panels/network-origin.d.ts +0 -12
  132. package/dist/ui/panels/network-origin.d.ts.map +0 -1
  133. package/dist/ui/panels/network-origin.js +0 -79
  134. package/dist/ui/panels/network-origin.js.map +0 -1
  135. package/dist/ui/panels/operations-feed.d.ts +0 -12
  136. package/dist/ui/panels/operations-feed.d.ts.map +0 -1
  137. package/dist/ui/panels/operations-feed.js +0 -90
  138. package/dist/ui/panels/operations-feed.js.map +0 -1
  139. package/dist/ui/panels/posture.d.ts +0 -12
  140. package/dist/ui/panels/posture.d.ts.map +0 -1
  141. package/dist/ui/panels/posture.js +0 -84
  142. package/dist/ui/panels/posture.js.map +0 -1
  143. package/dist/ui/panels/resources.d.ts +0 -11
  144. package/dist/ui/panels/resources.d.ts.map +0 -1
  145. package/dist/ui/panels/resources.js +0 -88
  146. package/dist/ui/panels/resources.js.map +0 -1
  147. package/dist/ui/primitives/Panel.d.ts +0 -25
  148. package/dist/ui/primitives/Panel.d.ts.map +0 -1
  149. package/dist/ui/primitives/Panel.js +0 -59
  150. package/dist/ui/primitives/Panel.js.map +0 -1
  151. package/dist/ui/rendering/metricRenderer.d.ts +0 -24
  152. package/dist/ui/rendering/metricRenderer.d.ts.map +0 -1
  153. package/dist/ui/rendering/metricRenderer.js +0 -86
  154. package/dist/ui/rendering/metricRenderer.js.map +0 -1
  155. package/dist/ui/runtime/hub.d.ts +0 -12
  156. package/dist/ui/runtime/hub.d.ts.map +0 -1
  157. package/dist/ui/runtime/hub.js +0 -486
  158. package/dist/ui/runtime/hub.js.map +0 -1
  159. package/dist/ui/runtime/hubValidation.d.ts +0 -23
  160. package/dist/ui/runtime/hubValidation.d.ts.map +0 -1
  161. package/dist/ui/runtime/hubValidation.js +0 -90
  162. package/dist/ui/runtime/hubValidation.js.map +0 -1
  163. package/dist/ui/runtime/index.d.ts +0 -29
  164. package/dist/ui/runtime/index.d.ts.map +0 -1
  165. package/dist/ui/runtime/index.js +0 -297
  166. package/dist/ui/runtime/index.js.map +0 -1
  167. package/dist/ui/runtime/no-tui.d.ts +0 -12
  168. package/dist/ui/runtime/no-tui.d.ts.map +0 -1
  169. package/dist/ui/runtime/no-tui.js +0 -77
  170. package/dist/ui/runtime/no-tui.js.map +0 -1
  171. package/dist/ui/runtime/state-builder.d.ts +0 -13
  172. package/dist/ui/runtime/state-builder.d.ts.map +0 -1
  173. package/dist/ui/runtime/state-builder.js +0 -114
  174. package/dist/ui/runtime/state-builder.js.map +0 -1
  175. package/dist/ui/runtime/terminalSizeCheck.d.ts +0 -10
  176. package/dist/ui/runtime/terminalSizeCheck.d.ts.map +0 -1
  177. package/dist/ui/runtime/terminalSizeCheck.js +0 -51
  178. package/dist/ui/runtime/terminalSizeCheck.js.map +0 -1
  179. package/dist/ui/runtime/tuiLogGate.d.ts +0 -22
  180. package/dist/ui/runtime/tuiLogGate.d.ts.map +0 -1
  181. package/dist/ui/runtime/tuiLogGate.js +0 -68
  182. package/dist/ui/runtime/tuiLogGate.js.map +0 -1
  183. package/dist/ui/state/types.d.ts +0 -72
  184. package/dist/ui/state/types.d.ts.map +0 -1
  185. package/dist/ui/state/types.js +0 -6
  186. package/dist/ui/state/types.js.map +0 -1
  187. package/dist/ui/theme/borders.d.ts +0 -20
  188. package/dist/ui/theme/borders.d.ts.map +0 -1
  189. package/dist/ui/theme/borders.js +0 -55
  190. package/dist/ui/theme/borders.js.map +0 -1
  191. package/dist/ui/theme/tokens.d.ts +0 -28
  192. package/dist/ui/theme/tokens.d.ts.map +0 -1
  193. package/dist/ui/theme/tokens.js +0 -50
  194. package/dist/ui/theme/tokens.js.map +0 -1
  195. package/dist/ui/theme/typography.d.ts +0 -14
  196. package/dist/ui/theme/typography.d.ts.map +0 -1
  197. package/dist/ui/theme/typography.js +0 -30
  198. package/dist/ui/theme/typography.js.map +0 -1
  199. package/dist/ui/v3/collectors/assets.collector.d.ts +0 -20
  200. package/dist/ui/v3/collectors/assets.collector.d.ts.map +0 -1
  201. package/dist/ui/v3/collectors/assets.collector.js +0 -80
  202. package/dist/ui/v3/collectors/assets.collector.js.map +0 -1
  203. package/dist/ui/v3/collectors/capabilities.collector.d.ts +0 -18
  204. package/dist/ui/v3/collectors/capabilities.collector.d.ts.map +0 -1
  205. package/dist/ui/v3/collectors/capabilities.collector.js +0 -113
  206. package/dist/ui/v3/collectors/capabilities.collector.js.map +0 -1
  207. package/dist/ui/v3/collectors/network.collector.d.ts +0 -18
  208. package/dist/ui/v3/collectors/network.collector.d.ts.map +0 -1
  209. package/dist/ui/v3/collectors/network.collector.js +0 -37
  210. package/dist/ui/v3/collectors/network.collector.js.map +0 -1
  211. package/dist/ui/v3/collectors/posture.derive.d.ts +0 -24
  212. package/dist/ui/v3/collectors/posture.derive.d.ts.map +0 -1
  213. package/dist/ui/v3/collectors/posture.derive.js +0 -57
  214. package/dist/ui/v3/collectors/posture.derive.js.map +0 -1
  215. package/dist/ui/v3/collectors/resources.d.ts +0 -23
  216. package/dist/ui/v3/collectors/resources.d.ts.map +0 -1
  217. package/dist/ui/v3/collectors/resources.js +0 -136
  218. package/dist/ui/v3/collectors/resources.js.map +0 -1
  219. package/dist/ui/v3/commands/commandEngine.d.ts +0 -77
  220. package/dist/ui/v3/commands/commandEngine.d.ts.map +0 -1
  221. package/dist/ui/v3/commands/commandEngine.js +0 -3289
  222. package/dist/ui/v3/commands/commandEngine.js.map +0 -1
  223. package/dist/ui/v3/commands/commandResult.d.ts +0 -25
  224. package/dist/ui/v3/commands/commandResult.d.ts.map +0 -1
  225. package/dist/ui/v3/commands/commandResult.js +0 -19
  226. package/dist/ui/v3/commands/commandResult.js.map +0 -1
  227. package/dist/ui/v3/commands/diagnose.d.ts +0 -17
  228. package/dist/ui/v3/commands/diagnose.d.ts.map +0 -1
  229. package/dist/ui/v3/commands/diagnose.js +0 -62
  230. package/dist/ui/v3/commands/diagnose.js.map +0 -1
  231. package/dist/ui/v3/commands/errorClassifier.d.ts +0 -23
  232. package/dist/ui/v3/commands/errorClassifier.d.ts.map +0 -1
  233. package/dist/ui/v3/commands/errorClassifier.js +0 -63
  234. package/dist/ui/v3/commands/errorClassifier.js.map +0 -1
  235. package/dist/ui/v3/commands/parser.d.ts +0 -14
  236. package/dist/ui/v3/commands/parser.d.ts.map +0 -1
  237. package/dist/ui/v3/commands/parser.js +0 -29
  238. package/dist/ui/v3/commands/parser.js.map +0 -1
  239. package/dist/ui/v3/commands/router.d.ts +0 -13
  240. package/dist/ui/v3/commands/router.d.ts.map +0 -1
  241. package/dist/ui/v3/commands/router.js +0 -150
  242. package/dist/ui/v3/commands/router.js.map +0 -1
  243. package/dist/ui/v3/config/gateway.d.ts +0 -40
  244. package/dist/ui/v3/config/gateway.d.ts.map +0 -1
  245. package/dist/ui/v3/config/gateway.js +0 -113
  246. package/dist/ui/v3/config/gateway.js.map +0 -1
  247. package/dist/ui/v3/core/event.d.ts +0 -19
  248. package/dist/ui/v3/core/event.d.ts.map +0 -1
  249. package/dist/ui/v3/core/event.js +0 -7
  250. package/dist/ui/v3/core/event.js.map +0 -1
  251. package/dist/ui/v3/core/eventBus.d.ts +0 -39
  252. package/dist/ui/v3/core/eventBus.d.ts.map +0 -1
  253. package/dist/ui/v3/core/eventBus.js +0 -79
  254. package/dist/ui/v3/core/eventBus.js.map +0 -1
  255. package/dist/ui/v3/core/feedStore.d.ts +0 -34
  256. package/dist/ui/v3/core/feedStore.d.ts.map +0 -1
  257. package/dist/ui/v3/core/feedStore.js +0 -46
  258. package/dist/ui/v3/core/feedStore.js.map +0 -1
  259. package/dist/ui/v3/core/logger.d.ts +0 -40
  260. package/dist/ui/v3/core/logger.d.ts.map +0 -1
  261. package/dist/ui/v3/core/logger.js +0 -191
  262. package/dist/ui/v3/core/logger.js.map +0 -1
  263. package/dist/ui/v3/core/opEvent.d.ts +0 -15
  264. package/dist/ui/v3/core/opEvent.d.ts.map +0 -1
  265. package/dist/ui/v3/core/opEvent.js +0 -7
  266. package/dist/ui/v3/core/opEvent.js.map +0 -1
  267. package/dist/ui/v3/index.d.ts +0 -8
  268. package/dist/ui/v3/index.d.ts.map +0 -1
  269. package/dist/ui/v3/index.js +0 -51
  270. package/dist/ui/v3/index.js.map +0 -1
  271. package/dist/ui/v3/runtime/moduleConfig.d.ts +0 -21
  272. package/dist/ui/v3/runtime/moduleConfig.d.ts.map +0 -1
  273. package/dist/ui/v3/runtime/moduleConfig.js +0 -41
  274. package/dist/ui/v3/runtime/moduleConfig.js.map +0 -1
  275. package/dist/ui/v3/section0/index.d.ts +0 -22
  276. package/dist/ui/v3/section0/index.d.ts.map +0 -1
  277. package/dist/ui/v3/section0/index.js +0 -88
  278. package/dist/ui/v3/section0/index.js.map +0 -1
  279. package/dist/ui/v3/section0/runtime/createScreen.d.ts +0 -27
  280. package/dist/ui/v3/section0/runtime/createScreen.d.ts.map +0 -1
  281. package/dist/ui/v3/section0/runtime/createScreen.js +0 -55
  282. package/dist/ui/v3/section0/runtime/createScreen.js.map +0 -1
  283. package/dist/ui/v3/section0/runtime/lifecycle.d.ts +0 -53
  284. package/dist/ui/v3/section0/runtime/lifecycle.d.ts.map +0 -1
  285. package/dist/ui/v3/section0/runtime/lifecycle.js +0 -172
  286. package/dist/ui/v3/section0/runtime/lifecycle.js.map +0 -1
  287. package/dist/ui/v3/section1/index.d.ts +0 -19
  288. package/dist/ui/v3/section1/index.d.ts.map +0 -1
  289. package/dist/ui/v3/section1/index.js +0 -413
  290. package/dist/ui/v3/section1/index.js.map +0 -1
  291. package/dist/ui/v3/section1/runtime/commandLine.d.ts +0 -49
  292. package/dist/ui/v3/section1/runtime/commandLine.d.ts.map +0 -1
  293. package/dist/ui/v3/section1/runtime/commandLine.js +0 -183
  294. package/dist/ui/v3/section1/runtime/commandLine.js.map +0 -1
  295. package/dist/ui/v3/section1/runtime/focusLock.d.ts +0 -24
  296. package/dist/ui/v3/section1/runtime/focusLock.d.ts.map +0 -1
  297. package/dist/ui/v3/section1/runtime/focusLock.js +0 -44
  298. package/dist/ui/v3/section1/runtime/focusLock.js.map +0 -1
  299. package/dist/ui/v3/state/assertUiState.d.ts +0 -27
  300. package/dist/ui/v3/state/assertUiState.d.ts.map +0 -1
  301. package/dist/ui/v3/state/assertUiState.js +0 -89
  302. package/dist/ui/v3/state/assertUiState.js.map +0 -1
  303. package/dist/ui/v3/state/capabilitiesStore.d.ts +0 -54
  304. package/dist/ui/v3/state/capabilitiesStore.d.ts.map +0 -1
  305. package/dist/ui/v3/state/capabilitiesStore.js +0 -76
  306. package/dist/ui/v3/state/capabilitiesStore.js.map +0 -1
  307. package/dist/ui/v3/state/defaultState.d.ts +0 -19
  308. package/dist/ui/v3/state/defaultState.d.ts.map +0 -1
  309. package/dist/ui/v3/state/defaultState.js +0 -28
  310. package/dist/ui/v3/state/defaultState.js.map +0 -1
  311. package/dist/ui/v3/state/gatewayConnectionStore.d.ts +0 -72
  312. package/dist/ui/v3/state/gatewayConnectionStore.d.ts.map +0 -1
  313. package/dist/ui/v3/state/gatewayConnectionStore.js +0 -108
  314. package/dist/ui/v3/state/gatewayConnectionStore.js.map +0 -1
  315. package/dist/ui/v3/state/initializePostureState.d.ts +0 -23
  316. package/dist/ui/v3/state/initializePostureState.d.ts.map +0 -1
  317. package/dist/ui/v3/state/initializePostureState.js +0 -41
  318. package/dist/ui/v3/state/initializePostureState.js.map +0 -1
  319. package/dist/ui/v3/state/panelStore.d.ts +0 -80
  320. package/dist/ui/v3/state/panelStore.d.ts.map +0 -1
  321. package/dist/ui/v3/state/panelStore.js +0 -131
  322. package/dist/ui/v3/state/panelStore.js.map +0 -1
  323. package/dist/ui/v3/state/resourcesData.d.ts +0 -15
  324. package/dist/ui/v3/state/resourcesData.d.ts.map +0 -1
  325. package/dist/ui/v3/state/resourcesData.js +0 -7
  326. package/dist/ui/v3/state/resourcesData.js.map +0 -1
  327. package/dist/ui/v3/state/uiState.d.ts +0 -22
  328. package/dist/ui/v3/state/uiState.d.ts.map +0 -1
  329. package/dist/ui/v3/state/uiState.js +0 -13
  330. package/dist/ui/v3/state/uiState.js.map +0 -1
  331. package/dist/ui/v3/state/uiStateBuilder.d.ts +0 -32
  332. package/dist/ui/v3/state/uiStateBuilder.d.ts.map +0 -1
  333. package/dist/ui/v3/state/uiStateBuilder.js +0 -73
  334. package/dist/ui/v3/state/uiStateBuilder.js.map +0 -1
  335. package/dist/ui/v3/state/uiStateTypes.d.ts +0 -59
  336. package/dist/ui/v3/state/uiStateTypes.d.ts.map +0 -1
  337. package/dist/ui/v3/state/uiStateTypes.js +0 -8
  338. package/dist/ui/v3/state/uiStateTypes.js.map +0 -1
  339. package/dist/ui/v3/state/value.d.ts +0 -80
  340. package/dist/ui/v3/state/value.d.ts.map +0 -1
  341. package/dist/ui/v3/state/value.js +0 -96
  342. package/dist/ui/v3/state/value.js.map +0 -1
  343. package/dist/ui/v3/tui/geometry.d.ts +0 -83
  344. package/dist/ui/v3/tui/geometry.d.ts.map +0 -1
  345. package/dist/ui/v3/tui/geometry.js +0 -201
  346. package/dist/ui/v3/tui/geometry.js.map +0 -1
  347. package/dist/ui/v3/tui/startTui.d.ts +0 -37
  348. package/dist/ui/v3/tui/startTui.d.ts.map +0 -1
  349. package/dist/ui/v3/tui/startTui.js +0 -61
  350. package/dist/ui/v3/tui/startTui.js.map +0 -1
  351. package/dist/ui/v3/tui/terminalMode.d.ts +0 -31
  352. package/dist/ui/v3/tui/terminalMode.d.ts.map +0 -1
  353. package/dist/ui/v3/tui/terminalMode.js +0 -76
  354. package/dist/ui/v3/tui/terminalMode.js.map +0 -1
  355. package/dist/ui/v3/ui/debugUtils.d.ts +0 -67
  356. package/dist/ui/v3/ui/debugUtils.d.ts.map +0 -1
  357. package/dist/ui/v3/ui/debugUtils.js +0 -238
  358. package/dist/ui/v3/ui/debugUtils.js.map +0 -1
  359. package/dist/ui/v3/ui/focus.d.ts +0 -28
  360. package/dist/ui/v3/ui/focus.d.ts.map +0 -1
  361. package/dist/ui/v3/ui/focus.js +0 -38
  362. package/dist/ui/v3/ui/focus.js.map +0 -1
  363. package/dist/ui/v3/ui/layout/hubLayout.d.ts +0 -43
  364. package/dist/ui/v3/ui/layout/hubLayout.d.ts.map +0 -1
  365. package/dist/ui/v3/ui/layout/hubLayout.js +0 -170
  366. package/dist/ui/v3/ui/layout/hubLayout.js.map +0 -1
  367. package/dist/ui/v3/ui/layout/phase1Layout.d.ts +0 -63
  368. package/dist/ui/v3/ui/layout/phase1Layout.d.ts.map +0 -1
  369. package/dist/ui/v3/ui/layout/phase1Layout.js +0 -274
  370. package/dist/ui/v3/ui/layout/phase1Layout.js.map +0 -1
  371. package/dist/ui/v3/ui/layout/phase1Layout.test.d.ts +0 -5
  372. package/dist/ui/v3/ui/layout/phase1Layout.test.d.ts.map +0 -1
  373. package/dist/ui/v3/ui/layout/phase1Layout.test.js +0 -120
  374. package/dist/ui/v3/ui/layout/phase1Layout.test.js.map +0 -1
  375. package/dist/ui/v3/ui/minimalRuntime.d.ts +0 -14
  376. package/dist/ui/v3/ui/minimalRuntime.d.ts.map +0 -1
  377. package/dist/ui/v3/ui/minimalRuntime.js +0 -111
  378. package/dist/ui/v3/ui/minimalRuntime.js.map +0 -1
  379. package/dist/ui/v3/ui/panels/AssetsPanel.d.ts +0 -17
  380. package/dist/ui/v3/ui/panels/AssetsPanel.d.ts.map +0 -1
  381. package/dist/ui/v3/ui/panels/AssetsPanel.js +0 -53
  382. package/dist/ui/v3/ui/panels/AssetsPanel.js.map +0 -1
  383. package/dist/ui/v3/ui/panels/CapabilitiesPanel.d.ts +0 -20
  384. package/dist/ui/v3/ui/panels/CapabilitiesPanel.d.ts.map +0 -1
  385. package/dist/ui/v3/ui/panels/CapabilitiesPanel.js +0 -67
  386. package/dist/ui/v3/ui/panels/CapabilitiesPanel.js.map +0 -1
  387. package/dist/ui/v3/ui/panels/NetworkPanel.d.ts +0 -31
  388. package/dist/ui/v3/ui/panels/NetworkPanel.d.ts.map +0 -1
  389. package/dist/ui/v3/ui/panels/NetworkPanel.js +0 -153
  390. package/dist/ui/v3/ui/panels/NetworkPanel.js.map +0 -1
  391. package/dist/ui/v3/ui/panels/PosturePanel.d.ts +0 -16
  392. package/dist/ui/v3/ui/panels/PosturePanel.d.ts.map +0 -1
  393. package/dist/ui/v3/ui/panels/PosturePanel.js +0 -60
  394. package/dist/ui/v3/ui/panels/PosturePanel.js.map +0 -1
  395. package/dist/ui/v3/ui/panels/ResourcesPanel.d.ts +0 -20
  396. package/dist/ui/v3/ui/panels/ResourcesPanel.d.ts.map +0 -1
  397. package/dist/ui/v3/ui/panels/ResourcesPanel.js +0 -66
  398. package/dist/ui/v3/ui/panels/ResourcesPanel.js.map +0 -1
  399. package/dist/ui/v3/ui/phase1Runtime.d.ts +0 -29
  400. package/dist/ui/v3/ui/phase1Runtime.d.ts.map +0 -1
  401. package/dist/ui/v3/ui/phase1Runtime.js +0 -1648
  402. package/dist/ui/v3/ui/phase1Runtime.js.map +0 -1
  403. package/dist/ui/v3/ui/phase1RuntimeClean.d.ts +0 -34
  404. package/dist/ui/v3/ui/phase1RuntimeClean.d.ts.map +0 -1
  405. package/dist/ui/v3/ui/phase1RuntimeClean.js +0 -1841
  406. package/dist/ui/v3/ui/phase1RuntimeClean.js.map +0 -1
  407. package/dist/ui/v3/ui/primitives/Panel.d.ts +0 -39
  408. package/dist/ui/v3/ui/primitives/Panel.d.ts.map +0 -1
  409. package/dist/ui/v3/ui/primitives/Panel.js +0 -105
  410. package/dist/ui/v3/ui/primitives/Panel.js.map +0 -1
  411. package/dist/ui/v3/ui/theme.d.ts +0 -37
  412. package/dist/ui/v3/ui/theme.d.ts.map +0 -1
  413. package/dist/ui/v3/ui/theme.js +0 -40
  414. package/dist/ui/v3/ui/theme.js.map +0 -1
  415. package/dist/ui/v3/ui/uiRuntime.d.ts +0 -40
  416. package/dist/ui/v3/ui/uiRuntime.d.ts.map +0 -1
  417. package/dist/ui/v3/ui/uiRuntime.js +0 -60
  418. package/dist/ui/v3/ui/uiRuntime.js.map +0 -1
  419. package/dist/ui/v3/ui/widgets/CommandLine.d.ts +0 -26
  420. package/dist/ui/v3/ui/widgets/CommandLine.d.ts.map +0 -1
  421. package/dist/ui/v3/ui/widgets/CommandLine.js +0 -67
  422. package/dist/ui/v3/ui/widgets/CommandLine.js.map +0 -1
  423. package/dist/ui/v3/v1Adapters/agents.d.ts +0 -72
  424. package/dist/ui/v3/v1Adapters/agents.d.ts.map +0 -1
  425. package/dist/ui/v3/v1Adapters/agents.js +0 -182
  426. package/dist/ui/v3/v1Adapters/agents.js.map +0 -1
  427. package/dist/ui/v3/v1Adapters/config.d.ts +0 -67
  428. package/dist/ui/v3/v1Adapters/config.d.ts.map +0 -1
  429. package/dist/ui/v3/v1Adapters/config.js +0 -78
  430. package/dist/ui/v3/v1Adapters/config.js.map +0 -1
  431. package/dist/ui/v3/v1Adapters/connect.d.ts +0 -77
  432. package/dist/ui/v3/v1Adapters/connect.d.ts.map +0 -1
  433. package/dist/ui/v3/v1Adapters/connect.js +0 -576
  434. package/dist/ui/v3/v1Adapters/connect.js.map +0 -1
  435. package/dist/ui/v3/v1Adapters/httpDebug.d.ts +0 -19
  436. package/dist/ui/v3/v1Adapters/httpDebug.d.ts.map +0 -1
  437. package/dist/ui/v3/v1Adapters/httpDebug.js +0 -60
  438. package/dist/ui/v3/v1Adapters/httpDebug.js.map +0 -1
  439. package/dist/ui/v3/v1Adapters/runs.d.ts +0 -77
  440. package/dist/ui/v3/v1Adapters/runs.d.ts.map +0 -1
  441. package/dist/ui/v3/v1Adapters/runs.js +0 -339
  442. package/dist/ui/v3/v1Adapters/runs.js.map +0 -1
  443. package/dist/ui/v4/engine/renderFrame.d.ts +0 -47
  444. package/dist/ui/v4/engine/renderFrame.d.ts.map +0 -1
  445. package/dist/ui/v4/engine/renderFrame.js +0 -653
  446. package/dist/ui/v4/engine/renderFrame.js.map +0 -1
  447. package/dist/ui/v4/engine/resizeController.d.ts +0 -48
  448. package/dist/ui/v4/engine/resizeController.d.ts.map +0 -1
  449. package/dist/ui/v4/engine/resizeController.js +0 -285
  450. package/dist/ui/v4/engine/resizeController.js.map +0 -1
  451. package/dist/ui/v4/engine/safeViewport.d.ts +0 -47
  452. package/dist/ui/v4/engine/safeViewport.d.ts.map +0 -1
  453. package/dist/ui/v4/engine/safeViewport.js +0 -123
  454. package/dist/ui/v4/engine/safeViewport.js.map +0 -1
  455. package/dist/ui/v4/engine/terminalProfile.d.ts +0 -56
  456. package/dist/ui/v4/engine/terminalProfile.d.ts.map +0 -1
  457. package/dist/ui/v4/engine/terminalProfile.js +0 -115
  458. package/dist/ui/v4/engine/terminalProfile.js.map +0 -1
  459. package/dist/ui/v4/index.d.ts +0 -28
  460. package/dist/ui/v4/index.d.ts.map +0 -1
  461. package/dist/ui/v4/index.js +0 -993
  462. package/dist/ui/v4/index.js.map +0 -1
  463. package/dist/ui/v4/layout/layoutEngine.d.ts +0 -62
  464. package/dist/ui/v4/layout/layoutEngine.d.ts.map +0 -1
  465. package/dist/ui/v4/layout/layoutEngine.js +0 -294
  466. package/dist/ui/v4/layout/layoutEngine.js.map +0 -1
  467. package/dist/ui/v4/runtime/keepAlive.d.ts +0 -21
  468. package/dist/ui/v4/runtime/keepAlive.d.ts.map +0 -1
  469. package/dist/ui/v4/runtime/keepAlive.js +0 -149
  470. package/dist/ui/v4/runtime/keepAlive.js.map +0 -1
  471. package/dist/ui/v4/runtime/logger.d.ts +0 -35
  472. package/dist/ui/v4/runtime/logger.d.ts.map +0 -1
  473. package/dist/ui/v4/runtime/logger.js +0 -109
  474. package/dist/ui/v4/runtime/logger.js.map +0 -1
  475. package/dist/ui/v5/debug/assertNoOverflow.d.ts +0 -28
  476. package/dist/ui/v5/debug/assertNoOverflow.d.ts.map +0 -1
  477. package/dist/ui/v5/debug/assertNoOverflow.js +0 -63
  478. package/dist/ui/v5/debug/assertNoOverflow.js.map +0 -1
  479. package/dist/ui/v5/debug/debugCommands.d.ts +0 -20
  480. package/dist/ui/v5/debug/debugCommands.d.ts.map +0 -1
  481. package/dist/ui/v5/debug/debugCommands.js +0 -461
  482. package/dist/ui/v5/debug/debugCommands.js.map +0 -1
  483. package/dist/ui/v5/debugCommands.d.ts +0 -20
  484. package/dist/ui/v5/debugCommands.d.ts.map +0 -1
  485. package/dist/ui/v5/debugCommands.js +0 -81
  486. package/dist/ui/v5/debugCommands.js.map +0 -1
  487. package/dist/ui/v5/guardrails/stdoutGuard.d.ts +0 -23
  488. package/dist/ui/v5/guardrails/stdoutGuard.d.ts.map +0 -1
  489. package/dist/ui/v5/guardrails/stdoutGuard.js +0 -94
  490. package/dist/ui/v5/guardrails/stdoutGuard.js.map +0 -1
  491. package/dist/ui/v5/guardrails/terminalRestore.d.ts +0 -17
  492. package/dist/ui/v5/guardrails/terminalRestore.d.ts.map +0 -1
  493. package/dist/ui/v5/guardrails/terminalRestore.js +0 -47
  494. package/dist/ui/v5/guardrails/terminalRestore.js.map +0 -1
  495. package/dist/ui/v5/index.d.ts +0 -30
  496. package/dist/ui/v5/index.d.ts.map +0 -1
  497. package/dist/ui/v5/index.js +0 -243
  498. package/dist/ui/v5/index.js.map +0 -1
  499. package/dist/ui/v5/kernel/kernel.d.ts +0 -81
  500. package/dist/ui/v5/kernel/kernel.d.ts.map +0 -1
  501. package/dist/ui/v5/kernel/kernel.js +0 -339
  502. package/dist/ui/v5/kernel/kernel.js.map +0 -1
  503. package/dist/ui/v5/kernel.d.ts +0 -75
  504. package/dist/ui/v5/kernel.d.ts.map +0 -1
  505. package/dist/ui/v5/kernel.js +0 -289
  506. package/dist/ui/v5/kernel.js.map +0 -1
  507. package/dist/ui/v5/layout/clampRect.d.ts +0 -28
  508. package/dist/ui/v5/layout/clampRect.d.ts.map +0 -1
  509. package/dist/ui/v5/layout/clampRect.js +0 -45
  510. package/dist/ui/v5/layout/clampRect.js.map +0 -1
  511. package/dist/ui/v5/layout/layoutEngine.d.ts +0 -16
  512. package/dist/ui/v5/layout/layoutEngine.d.ts.map +0 -1
  513. package/dist/ui/v5/layout/layoutEngine.js +0 -99
  514. package/dist/ui/v5/layout/layoutEngine.js.map +0 -1
  515. package/dist/ui/v5/renderGate.d.ts +0 -19
  516. package/dist/ui/v5/renderGate.d.ts.map +0 -1
  517. package/dist/ui/v5/renderGate.js +0 -36
  518. package/dist/ui/v5/renderGate.js.map +0 -1
  519. package/dist/ui/v5/resize/resizeController.d.ts +0 -62
  520. package/dist/ui/v5/resize/resizeController.d.ts.map +0 -1
  521. package/dist/ui/v5/resize/resizeController.js +0 -141
  522. package/dist/ui/v5/resize/resizeController.js.map +0 -1
  523. package/dist/ui/v5/resizeController.d.ts +0 -55
  524. package/dist/ui/v5/resizeController.d.ts.map +0 -1
  525. package/dist/ui/v5/resizeController.js +0 -124
  526. package/dist/ui/v5/resizeController.js.map +0 -1
  527. package/dist/ui/v5/runtime/keepAlive.d.ts +0 -37
  528. package/dist/ui/v5/runtime/keepAlive.d.ts.map +0 -1
  529. package/dist/ui/v5/runtime/keepAlive.js +0 -122
  530. package/dist/ui/v5/runtime/keepAlive.js.map +0 -1
  531. package/dist/ui/v5/runtime/restoreTerminal.d.ts +0 -34
  532. package/dist/ui/v5/runtime/restoreTerminal.d.ts.map +0 -1
  533. package/dist/ui/v5/runtime/restoreTerminal.js +0 -100
  534. package/dist/ui/v5/runtime/restoreTerminal.js.map +0 -1
  535. package/dist/ui/v5/runtime/stdoutGuard.d.ts +0 -42
  536. package/dist/ui/v5/runtime/stdoutGuard.d.ts.map +0 -1
  537. package/dist/ui/v5/runtime/stdoutGuard.js +0 -156
  538. package/dist/ui/v5/runtime/stdoutGuard.js.map +0 -1
  539. package/dist/ui/v5/viewport/getViewport.d.ts +0 -23
  540. package/dist/ui/v5/viewport/getViewport.d.ts.map +0 -1
  541. package/dist/ui/v5/viewport/getViewport.js +0 -117
  542. package/dist/ui/v5/viewport/getViewport.js.map +0 -1
  543. package/dist/ui/v5/viewport.d.ts +0 -41
  544. package/dist/ui/v5/viewport.d.ts.map +0 -1
  545. package/dist/ui/v5/viewport.js +0 -90
  546. package/dist/ui/v5/viewport.js.map +0 -1
  547. package/dist/ui/widgets/flagRow.d.ts +0 -25
  548. package/dist/ui/widgets/flagRow.d.ts.map +0 -1
  549. package/dist/ui/widgets/flagRow.js +0 -57
  550. package/dist/ui/widgets/flagRow.js.map +0 -1
  551. package/dist/ui/widgets/index.d.ts +0 -9
  552. package/dist/ui/widgets/index.d.ts.map +0 -1
  553. package/dist/ui/widgets/index.js +0 -9
  554. package/dist/ui/widgets/index.js.map +0 -1
  555. package/dist/ui/widgets/meter.d.ts +0 -18
  556. package/dist/ui/widgets/meter.d.ts.map +0 -1
  557. package/dist/ui/widgets/meter.js +0 -38
  558. package/dist/ui/widgets/meter.js.map +0 -1
  559. package/dist/ui/widgets/miniMap.d.ts +0 -26
  560. package/dist/ui/widgets/miniMap.d.ts.map +0 -1
  561. package/dist/ui/widgets/miniMap.js +0 -94
  562. package/dist/ui/widgets/miniMap.js.map +0 -1
  563. package/dist/ui/widgets/sparkline.d.ts +0 -17
  564. package/dist/ui/widgets/sparkline.d.ts.map +0 -1
  565. package/dist/ui/widgets/sparkline.js +0 -65
  566. package/dist/ui/widgets/sparkline.js.map +0 -1
@@ -1,172 +0,0 @@
1
- /**
2
- * Section 0 - Lifecycle Management
3
- *
4
- * Responsibilities:
5
- * - Attach exit handlers (single registration, guarded)
6
- * - Implement safe shutdown that always restores terminal
7
- * - Track handler attachment to prevent duplicates
8
- */
9
- import { getScreen } from './createScreen.js';
10
- // Guards to prevent duplicate handler attachment
11
- let screenHandlersAttached = false;
12
- let processHandlersAttached = false;
13
- let shuttingDown = false;
14
- // Internal debug counters (NOT console.log - for checkpoint verification)
15
- // These track handler attachment and shutdown calls
16
- let shutdownCallCount = 0;
17
- let screenHandlerAttachmentCount = 0;
18
- let processHandlerAttachmentCount = 0;
19
- // Track attached process listeners for cleanup
20
- const attachedProcessListeners = [];
21
- /**
22
- * Shutdown function that always restores terminal state
23
- *
24
- * Rules:
25
- * - Must run exactly once (protected by shuttingDown guard)
26
- * - Steps (in order):
27
- * 1. screen.program.showCursor()
28
- * 2. screen.destroy() (restores terminal modes)
29
- * 3. Remove any process listeners we attached
30
- * 4. process.exit(0)
31
- */
32
- function shutdown(reason) {
33
- // Internal debug counter
34
- shutdownCallCount++;
35
- // Guard: ensure shutdown runs exactly once
36
- if (shuttingDown) {
37
- return;
38
- }
39
- shuttingDown = true;
40
- const screen = getScreen();
41
- if (screen) {
42
- try {
43
- // Step 1: Show cursor
44
- if (screen.program && screen.program.showCursor) {
45
- screen.program.showCursor();
46
- }
47
- else if (process.stdout.isTTY) {
48
- process.stdout.write('\x1b[?25h'); // ANSI show cursor
49
- }
50
- // Step 2: Destroy screen (restores terminal modes)
51
- screen.destroy();
52
- }
53
- catch (e) {
54
- // Ignore destroy errors, but ensure cursor is shown
55
- if (process.stdout.isTTY) {
56
- process.stdout.write('\x1b[?25h');
57
- process.stdout.write('\x1b[?1049l'); // Exit alternate screen if needed
58
- }
59
- }
60
- }
61
- else {
62
- // No screen, but ensure cursor is visible
63
- if (process.stdout.isTTY) {
64
- process.stdout.write('\x1b[?25h');
65
- process.stdout.write('\x1b[?1049l');
66
- }
67
- }
68
- // Step 3: Remove process listeners we attached
69
- for (const { event, listener } of attachedProcessListeners) {
70
- try {
71
- process.removeListener(event, listener);
72
- }
73
- catch (e) {
74
- // Ignore removal errors
75
- }
76
- }
77
- attachedProcessListeners.length = 0;
78
- // Step 4: Exit
79
- process.exit(0);
80
- }
81
- /**
82
- * Attach exit handlers to screen
83
- *
84
- * Rules:
85
- * - Must attach handlers exactly once (protected by exitHandlersAttached guard)
86
- * - If called again, must no-op
87
- * - Registers: q → exit, C-c → exit, escape → exit (optional)
88
- */
89
- export function attachExitHandlers(screen) {
90
- // Guard: ensure handlers are attached exactly once
91
- if (screenHandlersAttached) {
92
- return;
93
- }
94
- screenHandlersAttached = true;
95
- screenHandlerAttachmentCount++;
96
- // q → exit
97
- screen.key(['q', 'Q'], () => {
98
- shutdown('q pressed');
99
- });
100
- // C-c → exit
101
- screen.key(['C-c'], () => {
102
- shutdown('Ctrl+C pressed');
103
- });
104
- // escape → exit (optional, as requested)
105
- screen.key(['escape'], () => {
106
- shutdown('Escape pressed');
107
- });
108
- }
109
- /**
110
- * Attach process-level exit handlers
111
- *
112
- * Rules:
113
- * - Must attach handlers exactly once (protected by exitHandlersAttached guard)
114
- * - If called again, must no-op
115
- * - Registers: SIGINT, SIGTERM
116
- * - Tracks listeners for cleanup
117
- */
118
- export function attachProcessExitHandlers() {
119
- // Guard: ensure handlers are attached exactly once
120
- if (processHandlersAttached) {
121
- return;
122
- }
123
- processHandlersAttached = true;
124
- processHandlerAttachmentCount++;
125
- const sigintHandler = () => {
126
- shutdown('SIGINT received');
127
- };
128
- const sigtermHandler = () => {
129
- shutdown('SIGTERM received');
130
- };
131
- process.on('SIGINT', sigintHandler);
132
- process.on('SIGTERM', sigtermHandler);
133
- attachedProcessListeners.push({ event: 'SIGINT', listener: sigintHandler }, { event: 'SIGTERM', listener: sigtermHandler });
134
- }
135
- /**
136
- * Initialize all exit handlers (screen + process)
137
- *
138
- * This is the main entry point for lifecycle setup.
139
- */
140
- export function initializeLifecycle(screen) {
141
- attachExitHandlers(screen);
142
- attachProcessExitHandlers();
143
- }
144
- /**
145
- * Get internal debug counters (for checkpoint verification)
146
- *
147
- * These counters verify:
148
- * - Exit handlers attach exactly once
149
- * - Shutdown runs exactly once
150
- *
151
- * Example expectation: Pressing q triggers exactly one shutdown path.
152
- */
153
- export function getDebugCounters() {
154
- return {
155
- shutdownCallCount,
156
- screenHandlerAttachmentCount,
157
- processHandlerAttachmentCount,
158
- };
159
- }
160
- /**
161
- * Reset lifecycle state (for testing only)
162
- */
163
- export function resetLifecycle() {
164
- screenHandlersAttached = false;
165
- processHandlersAttached = false;
166
- shuttingDown = false;
167
- attachedProcessListeners.length = 0;
168
- shutdownCallCount = 0;
169
- screenHandlerAttachmentCount = 0;
170
- processHandlerAttachmentCount = 0;
171
- }
172
- //# sourceMappingURL=lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../../../src/ui/v3/section0/runtime/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Section 1 - Command Line is the Only Input
4
- *
5
- * Clean implementation that fixes:
6
- * - "typing 4x" → typing appears exactly once
7
- * - Cursor offset → cursor aligned immediately after prompt
8
- * - Focus leaks → focus locked to command input
9
- *
10
- * Layout: 3 widgets at bottom
11
- * - Label box: "4runr> " (read-only)
12
- * - Input textbox: only focusable + only writable
13
- * - Status strip: read-only status info
14
- */
15
- /**
16
- * Start Section 1 runtime
17
- */
18
- export declare function startSection1(): Promise<void>;
19
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAyGH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAoVnD"}
@@ -1,413 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Section 1 - Command Line is the Only Input
4
- *
5
- * Clean implementation that fixes:
6
- * - "typing 4x" → typing appears exactly once
7
- * - Cursor offset → cursor aligned immediately after prompt
8
- * - Focus leaks → focus locked to command input
9
- *
10
- * Layout: 3 widgets at bottom
11
- * - Label box: "4runr> " (read-only)
12
- * - Input textbox: only focusable + only writable
13
- * - Status strip: read-only status info
14
- */
15
- import blessed from 'neo-blessed';
16
- import { createScreen } from '../section0/runtime/createScreen.js';
17
- import { initializeLifecycle } from '../section0/runtime/lifecycle.js';
18
- import { computePhase1Layout } from '../ui/layout/phase1Layout.js';
19
- import { createCommandLineWidgets, focusCommandInput, attachCommandLineHandlers, updateStatusStrip, resetCommandLineHandlers } from './runtime/commandLine.js';
20
- import { lockAllPanelsFocus, overrideTabNavigation } from './runtime/focusLock.js';
21
- const blessedLib = blessed;
22
- let screen = null;
23
- let panels = [];
24
- let commandLineWidgets = null;
25
- // Command history
26
- const commandHistory = [];
27
- let historyIndex = -1;
28
- // Manual input tracking (for screen-level keypress handler - works even when textbox breaks)
29
- let manualInputValue = '';
30
- /**
31
- * Create all panels (read-only, non-focusable)
32
- */
33
- function createPanels(screen, layout) {
34
- if (!layout)
35
- return [];
36
- const panelNames = ['POSTURE', 'RESOURCES', 'ASSETS', 'OPERATIONS', 'NETWORK', 'CAPABILITIES'];
37
- const panelRects = [
38
- layout.posture,
39
- layout.resources,
40
- layout.assets,
41
- layout.operations,
42
- layout.network,
43
- layout.capabilities,
44
- ];
45
- const createdPanels = [];
46
- for (let i = 0; i < panelNames.length; i++) {
47
- const rect = panelRects[i];
48
- const name = panelNames[i];
49
- const panel = blessedLib.box({
50
- top: rect.top,
51
- left: rect.left,
52
- width: rect.width,
53
- height: rect.height,
54
- border: { type: 'line' },
55
- tags: true,
56
- content: `\n ${name} Panel\n\n Content will appear here...`,
57
- style: {
58
- border: { fg: 'cyan' },
59
- fg: 'white',
60
- },
61
- // All panels are non-focusable (will be locked by focusLock)
62
- focusable: false,
63
- keyable: false,
64
- mouse: false,
65
- clickable: false,
66
- keys: false,
67
- input: false,
68
- });
69
- panel.setLabel(` {cyan-fg}${name}{/}`);
70
- screen.append(panel);
71
- createdPanels.push(panel);
72
- }
73
- return createdPanels;
74
- }
75
- /**
76
- * Handle command submission
77
- */
78
- function handleCommandSubmit(value) {
79
- // Add to history
80
- if (value.trim()) {
81
- commandHistory.push(value);
82
- if (commandHistory.length > 100) {
83
- commandHistory.shift(); // Keep last 100
84
- }
85
- historyIndex = -1; // Reset history index
86
- }
87
- // TODO: Route command (will be implemented in Section 2)
88
- // For now, just log to operations panel
89
- const operationsPanel = panels[3]; // OPERATIONS is index 3
90
- if (operationsPanel) {
91
- const timestamp = new Date().toISOString();
92
- const newLine = `[${timestamp}] Command: ${value}`;
93
- // Get existing content via getContent() or track separately
94
- const existingContent = operationsPanel.content || '';
95
- operationsPanel.setContent(existingContent + '\n' + newLine);
96
- }
97
- // Update status strip
98
- if (commandLineWidgets) {
99
- updateStatusStrip(commandLineWidgets, `MODE: LOCAL | LAST: ${value.substring(0, 20)} | POSTURE: OK`);
100
- }
101
- }
102
- /**
103
- * Start Section 1 runtime
104
- */
105
- export async function startSection1() {
106
- // Suppress console.log during TUI
107
- const originalLog = console.log;
108
- console.log = () => { };
109
- try {
110
- // Create screen (from Section 0)
111
- screen = createScreen();
112
- if (!screen) {
113
- throw new Error('Failed to create screen');
114
- }
115
- // CRITICAL: Set up raw input handling BEFORE anything else
116
- // This ensures we always receive input, even when blessed breaks
117
- if (process.stdin.isTTY) {
118
- process.stdin.setRawMode(true);
119
- process.stdin.resume();
120
- process.stdin.setEncoding('utf8');
121
- }
122
- // Initialize lifecycle (exit handlers from Section 0)
123
- initializeLifecycle(screen);
124
- // Compute layout
125
- const layoutResult = computePhase1Layout(screen.width, screen.height);
126
- if (!layoutResult.ok || !layoutResult.layout) {
127
- throw new Error(layoutResult.errorMessage || 'Failed to compute layout');
128
- }
129
- const layout = layoutResult.layout;
130
- // Create panels (read-only)
131
- panels = createPanels(screen, layout);
132
- // Create command line widgets (3 widgets: label, input, status)
133
- const commandLineRect = layout.commandLine;
134
- commandLineWidgets = createCommandLineWidgets(screen, commandLineRect.top, commandLineRect.left, commandLineRect.width, 1 // Height is 1 for single-line input
135
- );
136
- // Lock focus on all panels (they redirect clicks to input)
137
- lockAllPanelsFocus(panels, () => {
138
- if (commandLineWidgets) {
139
- focusCommandInput(commandLineWidgets, 'panel-click');
140
- }
141
- });
142
- // Override Tab navigation to refocus input
143
- overrideTabNavigation(screen, () => {
144
- if (commandLineWidgets) {
145
- focusCommandInput(commandLineWidgets, 'tab');
146
- }
147
- });
148
- // Attach command line handlers (deduplicated)
149
- attachCommandLineHandlers(screen, commandLineWidgets, handleCommandSubmit);
150
- // Handle resize (CRITICAL: Recreate textbox widget - blessed loses internal state on resize)
151
- screen.on('resize', () => {
152
- if (!screen || !commandLineWidgets)
153
- return;
154
- // CRITICAL: Save current input value before recreating widget
155
- // Use manualInputValue if available, otherwise get from textbox
156
- const currentValue = (typeof manualInputValue !== 'undefined' ? manualInputValue : commandLineWidgets.inputTextbox.value) || '';
157
- // Recompute layout
158
- const newLayoutResult = computePhase1Layout(screen.width, screen.height);
159
- if (!newLayoutResult.ok || !newLayoutResult.layout) {
160
- return; // Can't resize, keep current layout
161
- }
162
- const newLayout = newLayoutResult.layout;
163
- // Update panel positions
164
- const panelRects = [
165
- newLayout.posture,
166
- newLayout.resources,
167
- newLayout.assets,
168
- newLayout.operations,
169
- newLayout.network,
170
- newLayout.capabilities,
171
- ];
172
- for (let i = 0; i < panels.length && i < panelRects.length; i++) {
173
- const panel = panels[i];
174
- const rect = panelRects[i];
175
- panel.top = rect.top;
176
- panel.left = rect.left;
177
- panel.width = rect.width;
178
- panel.height = rect.height;
179
- }
180
- // Update command line widgets positions
181
- const commandLineRect = newLayout.commandLine;
182
- const statusWidth = 40;
183
- const promptWidth = 8; // "4runr> "
184
- const gap = 1;
185
- const inputWidth = commandLineRect.width - promptWidth - gap - statusWidth - gap;
186
- // Update label and status strip positions
187
- commandLineWidgets.labelBox.top = commandLineRect.top;
188
- commandLineWidgets.labelBox.left = commandLineRect.left;
189
- commandLineWidgets.statusStrip.top = commandLineRect.top;
190
- commandLineWidgets.statusStrip.left = commandLineRect.left + promptWidth + gap + inputWidth + gap;
191
- // CRITICAL: Remove old textbox and create new one (blessed loses internal state on resize)
192
- const oldTextbox = commandLineWidgets.inputTextbox;
193
- screen.remove(oldTextbox);
194
- // Create new textbox with same properties
195
- const newTextbox = blessedLib.textbox({
196
- top: commandLineRect.top,
197
- left: commandLineRect.left + promptWidth + gap,
198
- width: inputWidth,
199
- height: 1,
200
- inputOnFocus: true,
201
- keys: true,
202
- mouse: true,
203
- censor: false,
204
- padding: {
205
- left: 0,
206
- right: 0,
207
- top: 0,
208
- bottom: 0,
209
- },
210
- style: {
211
- fg: 'white',
212
- focus: {
213
- fg: 'white',
214
- },
215
- },
216
- });
217
- // Restore input value
218
- if (currentValue) {
219
- newTextbox.setValue(currentValue);
220
- manualInputValue = currentValue; // Update manual tracking
221
- }
222
- else {
223
- manualInputValue = ''; // Reset if no value
224
- }
225
- // Append new textbox to screen
226
- screen.append(newTextbox);
227
- // Update commandLineWidgets reference
228
- commandLineWidgets.inputTextbox = newTextbox;
229
- // CRITICAL: Ensure screen can still receive keypress events after resize
230
- screen.grabKeys = true;
231
- screen.keyable = true;
232
- // CRITICAL: Reset handlers and re-attach to new textbox
233
- resetCommandLineHandlers();
234
- attachCommandLineHandlers(screen, commandLineWidgets, handleCommandSubmit, undefined, // onCancel
235
- true // forceReattach
236
- );
237
- // CRITICAL: Render first, then refocus (blessed needs render before focus works)
238
- screen.render();
239
- // CRITICAL: Refocus new textbox after resize
240
- setImmediate(() => {
241
- if (commandLineWidgets) {
242
- try {
243
- commandLineWidgets.inputTextbox.focus();
244
- if (screen) {
245
- screen.focused = commandLineWidgets.inputTextbox;
246
- }
247
- }
248
- catch (e) {
249
- // Ignore
250
- }
251
- }
252
- });
253
- // Force focus again after a delay
254
- setTimeout(() => {
255
- if (commandLineWidgets) {
256
- try {
257
- commandLineWidgets.inputTextbox.focus();
258
- if (screen) {
259
- screen.focused = commandLineWidgets.inputTextbox;
260
- }
261
- }
262
- catch (e) {
263
- // Ignore
264
- }
265
- }
266
- }, 100);
267
- });
268
- // Add screen-level Ctrl+C handler (CRITICAL: Must work always)
269
- // Blessed uses 'C-c' for Ctrl+C
270
- screen.key(['C-c'], () => {
271
- // Direct shutdown - don't rely on process handlers
272
- if (screen) {
273
- try {
274
- // Show cursor
275
- if (screen.program && screen.program.showCursor) {
276
- screen.program.showCursor();
277
- }
278
- else if (process.stdout.isTTY) {
279
- process.stdout.write('\x1b[?25h');
280
- }
281
- screen.destroy();
282
- }
283
- catch (e) {
284
- // Ignore
285
- }
286
- }
287
- if (process.stdout.isTTY) {
288
- process.stdout.write('\x1b[?25h');
289
- process.stdout.write('\x1b[?1049l');
290
- }
291
- process.exit(0);
292
- });
293
- // Also handle Ctrl+C at process level (backup)
294
- // This should already be handled by Section 0, but ensure it works
295
- const ctrlCHandler = () => {
296
- if (screen) {
297
- try {
298
- if (screen.program && screen.program.showCursor) {
299
- screen.program.showCursor();
300
- }
301
- else if (process.stdout.isTTY) {
302
- process.stdout.write('\x1b[?25h');
303
- }
304
- screen.destroy();
305
- }
306
- catch (e) {
307
- // Ignore
308
- }
309
- }
310
- if (process.stdout.isTTY) {
311
- process.stdout.write('\x1b[?25h');
312
- process.stdout.write('\x1b[?1049l');
313
- }
314
- process.exit(0);
315
- };
316
- process.on('SIGINT', ctrlCHandler);
317
- process.on('SIGTERM', ctrlCHandler);
318
- // CRITICAL: Use RAW stdin handler (blessed is unreliable after resize)
319
- // This bypasses blessed completely and reads directly from stdin
320
- process.stdin.on('data', (data) => {
321
- if (!commandLineWidgets || !screen)
322
- return;
323
- const input = data.toString();
324
- // Handle Ctrl+C (ASCII 3)
325
- if (input === '\x03') {
326
- // Direct shutdown
327
- if (screen) {
328
- try {
329
- if (screen.program && screen.program.showCursor) {
330
- screen.program.showCursor();
331
- }
332
- screen.destroy();
333
- }
334
- catch (e) {
335
- // Ignore
336
- }
337
- }
338
- if (process.stdout.isTTY) {
339
- process.stdout.write('\x1b[?25h');
340
- process.stdout.write('\x1b[?1049l');
341
- }
342
- process.exit(0);
343
- }
344
- // Handle Enter (ASCII 13 or 10)
345
- if (input === '\r' || input === '\n') {
346
- const trimmed = manualInputValue.trim();
347
- if (trimmed) {
348
- handleCommandSubmit(trimmed);
349
- manualInputValue = '';
350
- commandLineWidgets.inputTextbox.clearValue();
351
- }
352
- screen.render();
353
- return;
354
- }
355
- // Handle Backspace (ASCII 127 or 8)
356
- if (input === '\x7f' || input === '\x08') {
357
- if (manualInputValue.length > 0) {
358
- manualInputValue = manualInputValue.slice(0, -1);
359
- commandLineWidgets.inputTextbox.setValue(manualInputValue);
360
- screen.render();
361
- }
362
- return;
363
- }
364
- // Handle Escape (ASCII 27)
365
- if (input === '\x1b') {
366
- manualInputValue = '';
367
- commandLineWidgets.inputTextbox.clearValue();
368
- screen.render();
369
- return;
370
- }
371
- // Handle printable characters
372
- if (input.length === 1 && input >= ' ' && input <= '~') {
373
- manualInputValue += input;
374
- commandLineWidgets.inputTextbox.setValue(manualInputValue);
375
- screen.render();
376
- }
377
- });
378
- // Also keep textbox handlers as backup (but screen handler is primary)
379
- // The screen handler will work even when textbox handlers break
380
- // Initial focus (once on startup, after render)
381
- // Use setImmediate to ensure focus happens after initial render
382
- setImmediate(() => {
383
- if (commandLineWidgets) {
384
- focusCommandInput(commandLineWidgets, 'startup');
385
- }
386
- });
387
- // Initial render
388
- screen.render();
389
- }
390
- catch (error) {
391
- // Restore console.error for error output
392
- console.error = originalLog;
393
- console.error('FATAL: Section 1 failed:', error);
394
- // Ensure terminal is restored
395
- if (process.stdout.isTTY) {
396
- process.stdout.write('\x1b[?25h');
397
- process.stdout.write('\x1b[?1049l');
398
- }
399
- process.exit(1);
400
- }
401
- }
402
- // If run directly (not imported), start the TUI
403
- const scriptPath = process.argv[1]?.replace(/\\/g, '/') || '';
404
- const isMainModule = scriptPath.includes('section1/index.js') ||
405
- scriptPath.includes('section1/index.ts') ||
406
- import.meta.url.includes('section1/index');
407
- if (isMainModule) {
408
- startSection1().catch((error) => {
409
- console.error('FATAL: Section 1 failed:', error);
410
- process.exit(1);
411
- });
412
- }
413
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/v3/section1/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC/J,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGnF,MAAM,UAAU,GAAG,OAAc,CAAC;AAElC,IAAI,MAAM,GAA0B,IAAI,CAAC;AACzC,IAAI,MAAM,GAAkB,EAAE,CAAC;AAC/B,IAAI,kBAAkB,GAA8B,IAAI,CAAC;AAEzD,kBAAkB;AAClB,MAAM,cAAc,GAAa,EAAE,CAAC;AACpC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;AAEtB,6FAA6F;AAC7F,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAE1B;;GAEG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,MAAwD;IACpG,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAG;QACjB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,UAAU;QACjB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,YAAY;KACpB,CAAC;IAEF,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,MAAM,IAAI,wCAAwC;YAC3D,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;gBACtB,EAAE,EAAE,OAAO;aACZ;YACD,6DAA6D;YAC7D,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,CAAgB,CAAC;QAElB,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,iBAAiB;IACjB,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB;QAC1C,CAAC;QACD,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAC3C,CAAC;IAED,yDAAyD;IACzD,wCAAwC;IACxC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;IAC3D,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,SAAS,cAAc,KAAK,EAAE,CAAC;QACnD,4DAA4D;QAC5D,MAAM,eAAe,GAAI,eAAuB,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/D,eAAe,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,sBAAsB;IACtB,IAAI,kBAAkB,EAAE,CAAC;QACvB,iBAAiB,CAAC,kBAAkB,EAAE,uBAAuB,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,kCAAkC;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAEvB,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,GAAG,YAAY,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,2DAA2D;QAC3D,iEAAiE;QACjE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,sDAAsD;QACtD,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5B,iBAAiB;QACjB,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,IAAI,0BAA0B,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,4BAA4B;QAC5B,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,gEAAgE;QAChE,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;QAC3C,kBAAkB,GAAG,wBAAwB,CAC3C,MAAM,EACN,eAAe,CAAC,GAAG,EACnB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,KAAK,EACrB,CAAC,CAAC,oCAAoC;SACvC,CAAC;QAEF,2DAA2D;QAC3D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,IAAI,kBAAkB,EAAE,CAAC;gBACvB,iBAAiB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,yBAAyB,CACvB,MAAM,EACN,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;QAEF,6FAA6F;QAC7F,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YAE3C,8DAA8D;YAC9D,gEAAgE;YAChE,MAAM,YAAY,GAAG,CAAC,OAAO,gBAAgB,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAE,kBAAkB,CAAC,YAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAEzI,mBAAmB;YACnB,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACzE,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBACnD,OAAO,CAAC,oCAAoC;YAC9C,CAAC;YACD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;YAEzC,yBAAyB;YACzB,MAAM,UAAU,GAAG;gBACjB,SAAS,CAAC,OAAO;gBACjB,SAAS,CAAC,SAAS;gBACnB,SAAS,CAAC,MAAM;gBAChB,SAAS,CAAC,UAAU;gBACpB,SAAS,CAAC,OAAO;gBACjB,SAAS,CAAC,YAAY;aACvB,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;gBACrB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7B,CAAC;YAED,wCAAwC;YACxC,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC;YAC9C,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC;YACd,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,GAAG,WAAW,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;YAEjF,0CAA0C;YAC1C,kBAAkB,CAAC,QAAQ,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;YACtD,kBAAkB,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;YAExD,kBAAkB,CAAC,WAAW,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;YACzD,kBAAkB,CAAC,WAAW,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,GAAG,WAAW,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC;YAElG,2FAA2F;YAC3F,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1B,0CAA0C;YAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;gBACpC,GAAG,EAAE,eAAe,CAAC,GAAG;gBACxB,IAAI,EAAE,eAAe,CAAC,IAAI,GAAG,WAAW,GAAG,GAAG;gBAC9C,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,CAAC;iBACV;gBACD,KAAK,EAAE;oBACL,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE;wBACL,EAAE,EAAE,OAAO;qBACZ;iBACF;aACF,CAAoB,CAAC;YAEtB,sBAAsB;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAClC,gBAAgB,GAAG,YAAY,CAAC,CAAC,yBAAyB;YAC5D,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,EAAE,CAAC,CAAC,oBAAoB;YAC7C,CAAC;YAED,+BAA+B;YAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1B,sCAAsC;YACtC,kBAAkB,CAAC,YAAY,GAAG,UAAU,CAAC;YAE7C,yEAAyE;YACxE,MAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC/B,MAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAE/B,wDAAwD;YACxD,wBAAwB,EAAE,CAAC;YAC3B,yBAAyB,CACvB,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EAAE,WAAW;YACtB,IAAI,CAAC,gBAAgB;aACtB,CAAC;YAEF,iFAAiF;YACjF,MAAM,CAAC,MAAM,EAAE,CAAC;YAEhB,6CAA6C;YAC7C,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,kBAAkB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxC,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,kCAAkC;YAClC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,kBAAkB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxC,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,gCAAgC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;YACvB,mDAAmD;YACnD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,cAAc;oBACd,IAAK,MAAc,CAAC,OAAO,IAAK,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBACjE,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvC,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACpC,CAAC;oBACD,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,mEAAmE;QACnE,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,IAAK,MAAc,CAAC,OAAO,IAAK,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBACjE,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvC,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACpC,CAAC;oBACD,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEpC,uEAAuE;QACvE,iEAAiE;QACjE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAqB,EAAE,EAAE;YACjD,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM;gBAAE,OAAO;YAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE9B,0BAA0B;YAC1B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,kBAAkB;gBAClB,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,IAAK,MAAc,CAAC,OAAO,IAAK,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;4BACjE,MAAc,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBACvC,CAAC;wBACD,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACtC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,gCAAgC;YAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,OAAO,EAAE,CAAC;oBACZ,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBAC7B,gBAAgB,GAAG,EAAE,CAAC;oBACtB,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC/C,CAAC;gBACD,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACzC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjD,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBAC3D,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC7C,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACvD,gBAAgB,IAAI,KAAK,CAAC;gBAC1B,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,gEAAgE;QAEhE,gDAAgD;QAChD,gEAAgE;QAChE,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,kBAAkB,EAAE,CAAC;gBACvB,iBAAiB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,CAAC,MAAM,EAAE,CAAC;IAElB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yCAAyC;QACzC,OAAO,CAAC,KAAK,GAAI,WAAmB,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QAEjD,8BAA8B;QAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACxC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAEhE,IAAI,YAAY,EAAE,CAAC;IACjB,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}