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,289 +0,0 @@
1
- /**
2
- * V5 UI Kernel
3
- *
4
- * Owns the screen and all widgets. Provides atomic rebuild capability.
5
- *
6
- * HARD RULE: Never resize/move existing widgets.
7
- * On every committed resize: destroy all widgets and recreate them.
8
- */
9
- import blessed from 'neo-blessed';
10
- import { safeStderrWrite } from './runtime/stdoutGuard.js';
11
- import { setLayoutVersion } from './renderGate.js';
12
- import { computeViewport, assertRect } from './viewport.js';
13
- export class UIKernel {
14
- screen;
15
- widgets = null;
16
- layoutVersion = 0;
17
- isRebuilding = false;
18
- pendingRebuild = null;
19
- debugOverlayVisible = false;
20
- constructor(screen) {
21
- this.screen = screen;
22
- }
23
- /**
24
- * Get current layout version (for render gating)
25
- */
26
- getLayoutVersion() {
27
- return this.layoutVersion;
28
- }
29
- /**
30
- * Boot the kernel - initial mount
31
- */
32
- boot() {
33
- if (this.widgets) {
34
- throw new Error('Kernel already booted');
35
- }
36
- const vp = computeViewport(this.screen);
37
- this.widgets = this.createWidgets(vp);
38
- this.layoutVersion = 1;
39
- setLayoutVersion(this.layoutVersion);
40
- // Force a render after a small delay to ensure screen is ready
41
- setImmediate(() => {
42
- this.screen.render();
43
- });
44
- }
45
- /**
46
- * Rebuild the UI - atomic destroy and recreate
47
- */
48
- rebuild(options) {
49
- // A) Block re-entrant rebuild
50
- if (this.isRebuilding) {
51
- this.pendingRebuild = options;
52
- return;
53
- }
54
- this.isRebuilding = true;
55
- try {
56
- // B) Clear the terminal buffer
57
- const program = this.screen.program;
58
- if (program) {
59
- if (typeof program.clear === 'function') {
60
- program.clear();
61
- }
62
- if (typeof program.flush === 'function') {
63
- program.flush();
64
- }
65
- }
66
- // C) Destroy everything currently mounted (hard)
67
- this.destroyAllChildren();
68
- // D) Compute viewport (single source of truth)
69
- const vp = computeViewport(this.screen);
70
- // E) Recreate widgets fresh using safe dimensions
71
- this.widgets = this.createWidgets(vp);
72
- this.layoutVersion = options.version;
73
- setLayoutVersion(this.layoutVersion);
74
- // F) Render once
75
- this.screen.render();
76
- // Update debug overlay if visible
77
- this.updateDebugOverlay(options);
78
- // G) Restore input focus
79
- if (this.widgets.commandInput) {
80
- this.widgets.commandInput.focus();
81
- this.screen.render();
82
- }
83
- safeStderrWrite(`[V5] Rebuilt layout v${options.version} (raw: ${vp.rawCols}x${vp.rawRows}, safe: ${vp.safeCols}x${vp.safeRows}) from ${options.source} (burst: ${options.burstCount})\n`);
84
- }
85
- finally {
86
- this.isRebuilding = false;
87
- // Process pending rebuild if one was queued
88
- if (this.pendingRebuild) {
89
- const pending = this.pendingRebuild;
90
- this.pendingRebuild = null;
91
- // Use setImmediate to avoid re-entrancy issues
92
- setImmediate(() => this.rebuild(pending));
93
- }
94
- }
95
- }
96
- /**
97
- * Destroy the kernel and all widgets
98
- */
99
- destroy() {
100
- this.destroyAllChildren();
101
- this.widgets = null;
102
- }
103
- /**
104
- * Get current widgets (for external access)
105
- */
106
- getWidgets() {
107
- return this.widgets;
108
- }
109
- /**
110
- * Get operations panel (for debug commands)
111
- */
112
- getOperationsPanel() {
113
- return this.widgets?.operationsPanel;
114
- }
115
- /**
116
- * Toggle debug overlay
117
- */
118
- toggleDebugOverlay(options) {
119
- this.debugOverlayVisible = !this.debugOverlayVisible;
120
- if (this.widgets) {
121
- if (this.debugOverlayVisible) {
122
- // Create or update debug overlay
123
- if (this.widgets.debugOverlay) {
124
- if (typeof this.widgets.debugOverlay.detach === 'function') {
125
- this.widgets.debugOverlay.detach();
126
- }
127
- }
128
- const vp = computeViewport(this.screen);
129
- const overlayWidth = vp.safeCols;
130
- this.widgets.debugOverlay = blessed.box({
131
- top: 0,
132
- left: 0,
133
- width: overlayWidth,
134
- height: 1,
135
- content: `raw: ${vp.rawCols}x${vp.rawRows} safe: ${vp.safeCols}x${vp.safeRows} | v${options.version} | burst: ${options.burstCount} | ${options.source}`,
136
- style: {
137
- fg: 'yellow',
138
- },
139
- });
140
- assertRect('debugOverlay', { x: 0, y: 0, w: overlayWidth, h: 1 }, vp);
141
- this.screen.append(this.widgets.debugOverlay);
142
- }
143
- else {
144
- // Remove debug overlay
145
- if (this.widgets.debugOverlay) {
146
- if (typeof this.widgets.debugOverlay.detach === 'function') {
147
- this.widgets.debugOverlay.detach();
148
- }
149
- if (typeof this.widgets.debugOverlay.destroy === 'function') {
150
- this.widgets.debugOverlay.destroy();
151
- }
152
- this.widgets.debugOverlay = undefined;
153
- }
154
- }
155
- this.screen.render();
156
- }
157
- }
158
- /**
159
- * Update debug overlay with new info
160
- */
161
- updateDebugOverlay(options) {
162
- if (this.debugOverlayVisible && this.widgets?.debugOverlay) {
163
- const vp = computeViewport(this.screen);
164
- this.widgets.debugOverlay.setContent(`raw: ${vp.rawCols}x${vp.rawRows} safe: ${vp.safeCols}x${vp.safeRows} | v${options.version} | burst: ${options.burstCount} | ${options.source}`);
165
- this.screen.render();
166
- }
167
- }
168
- /**
169
- * Destroy all children widgets (hard destroy)
170
- */
171
- destroyAllChildren() {
172
- // Copy list first because detach mutates
173
- const kids = [...this.screen.children];
174
- for (const k of kids) {
175
- try {
176
- if (typeof k.detach === 'function') {
177
- k.detach();
178
- }
179
- }
180
- catch (e) {
181
- // Ignore detach errors
182
- }
183
- try {
184
- if (typeof k.destroy === 'function') {
185
- k.destroy();
186
- }
187
- }
188
- catch (e) {
189
- // Ignore destroy errors
190
- }
191
- }
192
- // Remove from screen.children manually (blessed sometimes doesn't clean up)
193
- const screenChildren = this.screen.children || [];
194
- while (screenChildren.length > 0) {
195
- screenChildren.pop();
196
- }
197
- }
198
- /**
199
- * Create all widgets fresh
200
- *
201
- * CRITICAL: Uses safeCols/safeRows to prevent overflow
202
- */
203
- createWidgets(vp) {
204
- // Use explicit pixel dimensions - use ~95% of SAFE viewport
205
- const boxWidth = Math.floor(vp.safeCols * 0.95);
206
- const boxHeight = Math.floor(vp.safeRows * 0.95);
207
- const boxLeft = Math.floor((vp.safeCols - boxWidth) / 2);
208
- const boxTop = Math.floor((vp.safeRows - boxHeight) / 2);
209
- // Assert no overflow
210
- assertRect('testBox', { x: boxLeft, y: boxTop, w: boxWidth, h: boxHeight }, vp);
211
- const testBox = blessed.box({
212
- top: boxTop,
213
- left: boxLeft,
214
- width: boxWidth,
215
- height: boxHeight,
216
- content: 'V5 Kernel - Phase 1\n\nGuardrails Active:\n✓ Stdout guard\n✓ Keep-alive\n✓ Terminal restore\n✓ Atomic resize\n✓ Safe viewport\n\nPress Ctrl+C to exit',
217
- border: {
218
- type: 'line',
219
- },
220
- style: {
221
- border: {
222
- fg: 'green',
223
- },
224
- },
225
- });
226
- // V5 Watermark - top right corner (within safe bounds)
227
- const watermarkLeft = vp.safeCols - 10;
228
- const watermark = blessed.box({
229
- top: 0,
230
- left: watermarkLeft,
231
- width: 10,
232
- height: 1,
233
- content: '{cyan-fg}V5{/cyan-fg}',
234
- style: {
235
- fg: 'cyan',
236
- },
237
- tags: true,
238
- });
239
- assertRect('watermark', { x: watermarkLeft, y: 0, w: 10, h: 1 }, vp);
240
- // Operations panel (for debug output) - hidden initially, shown when dbg:size is used
241
- // Position it below the testBox so it doesn't overlap
242
- const opsTop = boxTop + boxHeight + 1;
243
- const opsHeight = 5;
244
- const operationsPanel = blessed.box({
245
- top: opsTop,
246
- left: boxLeft,
247
- width: boxWidth,
248
- height: opsHeight,
249
- content: '',
250
- scrollable: true,
251
- alwaysScroll: true,
252
- keys: true,
253
- mouse: true,
254
- hidden: true, // Hidden by default
255
- style: {
256
- fg: 'white',
257
- },
258
- });
259
- // Only assert if panel would be visible (not hidden)
260
- // assertRect('operationsPanel', { x: boxLeft, y: opsTop, w: boxWidth, h: opsHeight }, vp);
261
- // Command input (for future use) - use box instead of textbox
262
- const cmdTop = vp.safeRows - 3;
263
- const cmdLeft = 1;
264
- const cmdWidth = vp.safeCols - 2;
265
- const commandInput = blessed.box({
266
- top: cmdTop,
267
- left: cmdLeft,
268
- width: cmdWidth,
269
- height: 1,
270
- keys: true,
271
- input: true,
272
- style: {
273
- fg: 'white',
274
- },
275
- });
276
- assertRect('commandInput', { x: cmdLeft, y: cmdTop, w: cmdWidth, h: 1 }, vp);
277
- this.screen.append(testBox);
278
- this.screen.append(watermark);
279
- this.screen.append(operationsPanel);
280
- this.screen.append(commandInput);
281
- return {
282
- testBox,
283
- watermark,
284
- commandInput,
285
- operationsPanel,
286
- };
287
- }
288
- }
289
- //# sourceMappingURL=kernel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../src/ui/v5/kernel.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * V5 Rect Clamping
3
- *
4
- * Hard requirement: Every single widget rect must pass through clampRect.
5
- * No exceptions.
6
- */
7
- export type Rect = {
8
- x: number;
9
- y: number;
10
- w: number;
11
- h: number;
12
- };
13
- /**
14
- * Clamp rectangle to fit within safe bounds
15
- *
16
- * CRITICAL RULE: x + w <= safeCols - buffer
17
- *
18
- * For right-edge panels: buffer = 3 (aggressive)
19
- * For command panel: buffer = 1 (less aggressive, needs full width)
20
- * For other panels: buffer = 2 (moderate)
21
- *
22
- * Rules:
23
- * 1) Clamp x/y within bounds
24
- * 2) Clamp w/h so x+w <= safeCols-buffer and y+h <= safeRows-buffer
25
- * 3) Enforce w>=1, h>=1
26
- */
27
- export declare function clampRect(r: Rect, safeCols: number, safeRows: number, panelId?: string): Rect;
28
- //# sourceMappingURL=clampRect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clampRect.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA4B7F"}
@@ -1,45 +0,0 @@
1
- /**
2
- * V5 Rect Clamping
3
- *
4
- * Hard requirement: Every single widget rect must pass through clampRect.
5
- * No exceptions.
6
- */
7
- /**
8
- * Clamp rectangle to fit within safe bounds
9
- *
10
- * CRITICAL RULE: x + w <= safeCols - buffer
11
- *
12
- * For right-edge panels: buffer = 3 (aggressive)
13
- * For command panel: buffer = 1 (less aggressive, needs full width)
14
- * For other panels: buffer = 2 (moderate)
15
- *
16
- * Rules:
17
- * 1) Clamp x/y within bounds
18
- * 2) Clamp w/h so x+w <= safeCols-buffer and y+h <= safeRows-buffer
19
- * 3) Enforce w>=1, h>=1
20
- */
21
- export function clampRect(r, safeCols, safeRows, panelId) {
22
- let { x, y, w, h } = r;
23
- // Clamp x/y to non-negative
24
- x = Math.max(0, x);
25
- y = Math.max(0, y);
26
- // Determine buffer based on panel type
27
- let buffer = 2; // Default moderate buffer
28
- if (panelId === 'command') {
29
- buffer = 3; // Command panel also needs aggressive buffer to prevent scrollbar
30
- }
31
- else if (panelId === 'network' || panelId === 'capabilities') {
32
- buffer = 3; // Right-edge panels need aggressive buffer
33
- }
34
- // CRITICAL: Clamp width so x+w <= safeCols-buffer
35
- const maxW = Math.max(1, safeCols - buffer - x);
36
- w = Math.min(w, maxW);
37
- // CRITICAL: Clamp height so y+h <= safeRows-buffer
38
- const maxH = Math.max(1, safeRows - buffer - y);
39
- h = Math.min(h, maxH);
40
- // Enforce minimums
41
- w = Math.max(1, w);
42
- h = Math.max(1, h);
43
- return { x, y, w, h };
44
- }
45
- //# sourceMappingURL=clampRect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clampRect.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,CAAO,EAAE,QAAgB,EAAE,QAAgB,EAAE,OAAgB;IACrF,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvB,4BAA4B;IAC5B,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,uCAAuC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,CAAC,CAAC,kEAAkE;IAChF,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/D,MAAM,GAAG,CAAC,CAAC,CAAC,2CAA2C;IACzD,CAAC;IAED,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtB,mDAAmD;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtB,mBAAmB;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * V5 Layout Engine
3
- *
4
- * Simple + deterministic layout with normal/narrow modes.
5
- */
6
- import type { Rect } from './clampRect.js';
7
- export type PanelId = 'posture' | 'resources' | 'assets' | 'operations' | 'network' | 'capabilities' | 'command';
8
- export type Layout = {
9
- mode: 'normal' | 'narrow';
10
- rects: Record<PanelId, Rect>;
11
- };
12
- /**
13
- * Compute layout from safe viewport dimensions
14
- */
15
- export declare function computeLayout(safeCols: number, safeRows: number): Layout;
16
- //# sourceMappingURL=layoutEngine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layoutEngine.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/layout/layoutEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;AAEjH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;CAC9B,CAAC;AAKF;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0BxE"}
@@ -1,99 +0,0 @@
1
- /**
2
- * V5 Layout Engine
3
- *
4
- * Simple + deterministic layout with normal/narrow modes.
5
- */
6
- import { clampRect } from './clampRect.js';
7
- const CMD_HEIGHT = 5; // Increased from 3 to make command panel more visible
8
- const MIN_CENTER_WIDTH = 40;
9
- /**
10
- * Compute layout from safe viewport dimensions
11
- */
12
- export function computeLayout(safeCols, safeRows) {
13
- const mainH = safeRows - CMD_HEIGHT;
14
- // Compute column widths with integer math
15
- const leftW = Math.max(30, Math.floor(safeCols * 0.22));
16
- const rightW = Math.max(34, Math.floor(safeCols * 0.27));
17
- const centerW = safeCols - leftW - rightW;
18
- // Check if we need narrow mode
19
- if (centerW < MIN_CENTER_WIDTH) {
20
- return computeNarrowLayout(safeCols, safeRows);
21
- }
22
- // Normal mode - 3 columns
23
- const leftX = 0;
24
- const centerX = leftW;
25
- const rightX = leftW + centerW;
26
- // Verify right edge
27
- if (rightX + rightW > safeCols) {
28
- // Adjust if needed
29
- const adjustedRightW = safeCols - rightX;
30
- return computeNormalLayout(safeCols, safeRows, leftW, adjustedRightW);
31
- }
32
- return computeNormalLayout(safeCols, safeRows, leftW, rightW);
33
- }
34
- /**
35
- * Compute normal layout (3 columns)
36
- */
37
- function computeNormalLayout(safeCols, safeRows, leftW, rightW) {
38
- const mainH = safeRows - CMD_HEIGHT;
39
- const centerW = safeCols - leftW - rightW;
40
- const leftX = 0;
41
- const centerX = leftW;
42
- const rightX = leftW + centerW;
43
- // Left stack: posture, resources, assets split equally
44
- const leftPanelH = Math.floor(mainH / 3);
45
- const leftRemainder = mainH - (leftPanelH * 3);
46
- // Right stack: network (50%), capabilities (remainder)
47
- const netH = Math.floor(mainH * 0.5);
48
- const capH = mainH - netH;
49
- const rects = {
50
- // Left column
51
- posture: { x: leftX, y: 0, w: leftW, h: leftPanelH + (leftRemainder > 0 ? 1 : 0) },
52
- resources: { x: leftX, y: leftPanelH + (leftRemainder > 0 ? 1 : 0), w: leftW, h: leftPanelH + (leftRemainder > 1 ? 1 : 0) },
53
- assets: { x: leftX, y: (leftPanelH * 2) + Math.min(leftRemainder, 2), w: leftW, h: leftPanelH + (leftRemainder > 2 ? 1 : 0) },
54
- // Center column
55
- operations: { x: centerX, y: 0, w: centerW, h: mainH },
56
- // Right column (clampRect will handle -1 buffer for borders)
57
- network: { x: rightX, y: 0, w: rightW, h: netH },
58
- capabilities: { x: rightX, y: netH, w: rightW, h: capH },
59
- // Command line
60
- command: { x: 0, y: mainH, w: safeCols, h: CMD_HEIGHT },
61
- };
62
- // Clamp all rects (pass panelId for context-aware clamping)
63
- const clampedRects = {};
64
- for (const [id, rect] of Object.entries(rects)) {
65
- clampedRects[id] = clampRect(rect, safeCols, safeRows, id);
66
- }
67
- return {
68
- mode: 'normal',
69
- rects: clampedRects,
70
- };
71
- }
72
- /**
73
- * Compute narrow layout (fallback for small terminals)
74
- */
75
- function computeNarrowLayout(safeCols, safeRows) {
76
- const mainH = safeRows - CMD_HEIGHT;
77
- // Narrow mode: single column, stack vertically
78
- const panelH = Math.floor(mainH / 6);
79
- const remainder = mainH - (panelH * 6);
80
- const rects = {
81
- posture: { x: 0, y: 0, w: safeCols, h: panelH + (remainder > 0 ? 1 : 0) },
82
- resources: { x: 0, y: panelH + (remainder > 0 ? 1 : 0), w: safeCols, h: panelH + (remainder > 1 ? 1 : 0) },
83
- assets: { x: 0, y: (panelH * 2) + Math.min(remainder, 2), w: safeCols, h: panelH + (remainder > 2 ? 1 : 0) },
84
- operations: { x: 0, y: (panelH * 3) + Math.min(remainder, 3), w: safeCols, h: panelH + (remainder > 3 ? 1 : 0) },
85
- network: { x: 0, y: (panelH * 4) + Math.min(remainder, 4), w: safeCols, h: panelH + (remainder > 4 ? 1 : 0) },
86
- capabilities: { x: 0, y: (panelH * 5) + Math.min(remainder, 5), w: safeCols, h: panelH + (remainder > 5 ? 1 : 0) },
87
- command: { x: 0, y: mainH, w: safeCols, h: CMD_HEIGHT },
88
- };
89
- // Clamp all rects (pass panelId for context-aware clamping)
90
- const clampedRects = {};
91
- for (const [id, rect] of Object.entries(rects)) {
92
- clampedRects[id] = clampRect(rect, safeCols, safeRows, id);
93
- }
94
- return {
95
- mode: 'narrow',
96
- rects: clampedRects,
97
- };
98
- }
99
- //# sourceMappingURL=layoutEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layoutEngine.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/layoutEngine.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * V5 Render Gating
3
- *
4
- * Prevents stale renders from async events.
5
- * Any render that can happen asynchronously must be gated.
6
- */
7
- /**
8
- * Set the current layout version (called by kernel)
9
- */
10
- export declare function setLayoutVersion(version: number): void;
11
- /**
12
- * Get the current layout version
13
- */
14
- export declare function getLayoutVersion(): number;
15
- /**
16
- * Safe render - only renders if version matches
17
- */
18
- export declare function safeRender(screen: any, expectedVersion: number, renderFn?: () => void): boolean;
19
- //# sourceMappingURL=renderGate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderGate.d.ts","sourceRoot":"","sources":["../../../src/ui/v5/renderGate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,OAAO,CAaT"}
@@ -1,36 +0,0 @@
1
- /**
2
- * V5 Render Gating
3
- *
4
- * Prevents stale renders from async events.
5
- * Any render that can happen asynchronously must be gated.
6
- */
7
- let currentLayoutVersion = 0;
8
- /**
9
- * Set the current layout version (called by kernel)
10
- */
11
- export function setLayoutVersion(version) {
12
- currentLayoutVersion = version;
13
- }
14
- /**
15
- * Get the current layout version
16
- */
17
- export function getLayoutVersion() {
18
- return currentLayoutVersion;
19
- }
20
- /**
21
- * Safe render - only renders if version matches
22
- */
23
- export function safeRender(screen, expectedVersion, renderFn) {
24
- if (expectedVersion !== currentLayoutVersion) {
25
- // Stale render - ignore
26
- return false;
27
- }
28
- if (renderFn) {
29
- renderFn();
30
- }
31
- else {
32
- screen.render();
33
- }
34
- return true;
35
- }
36
- //# sourceMappingURL=renderGate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderGate.js","sourceRoot":"","sources":["../../../src/ui/v5/renderGate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,IAAI,oBAAoB,GAAW,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,oBAAoB,GAAG,OAAO,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAW,EACX,eAAuB,EACvB,QAAqB;IAErB,IAAI,eAAe,KAAK,oBAAoB,EAAE,CAAC;QAC7C,wBAAwB;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC;IACb,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,62 +0,0 @@
1
- /**
2
- * V5 Atomic Resize Controller
3
- *
4
- * Debounced resize handling with atomic rebuild strategy.
5
- *
6
- * Strategy: rebuild children on resize (remove/destroy all, recreate fresh)
7
- * This avoids "ghost borders" and duplicated panels.
8
- */
9
- import type { Widgets } from 'neo-blessed';
10
- import type { UIKernel } from '../kernel/kernel.js';
11
- export declare class ResizeController {
12
- private screen;
13
- private kernel;
14
- private timer;
15
- private layoutVersion;
16
- private lastCommitted;
17
- private pending;
18
- private burstCount;
19
- private lastResizeTs;
20
- private lastSource;
21
- constructor(screen: Widgets.Screen, kernel: UIKernel);
22
- /**
23
- * Start listening to resize events
24
- */
25
- start(): void;
26
- /**
27
- * Stop listening to resize events
28
- */
29
- stop(): void;
30
- /**
31
- * Get current layout version
32
- */
33
- getLayoutVersion(): number;
34
- /**
35
- * Get last committed size
36
- */
37
- getLastCommitted(): {
38
- cols: number;
39
- rows: number;
40
- };
41
- /**
42
- * Get burst count
43
- */
44
- getBurstCount(): number;
45
- /**
46
- * Get last resize timestamp
47
- */
48
- getLastResizeTs(): number;
49
- /**
50
- * Get last resize source
51
- */
52
- getLastSource(): string;
53
- /**
54
- * Handle resize event (debounced)
55
- */
56
- private onResizeEvent;
57
- /**
58
- * Commit resize (atomic)
59
- */
60
- private commitResize;
61
- }
62
- //# sourceMappingURL=resizeController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resizeController.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/resize/resizeController.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,OAAO,CAAwD;IACvE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,UAAU,CAAc;gBAEpB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ;IAKpD;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,IAAI,IAAI,IAAI;IAeZ;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,gBAAgB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAIlD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,YAAY;CA4CrB"}