4runr-os 2.1.4 → 2.1.6

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 +138 -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 +135 -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,42 +0,0 @@
1
- /**
2
- * V5 Stdout Guard - Hard Enforcement
3
- *
4
- * Prevents Failure Mode B: Stdout logging while blessed owns stdout (glyph soup)
5
- *
6
- * Once TUI starts, block or redirect:
7
- * - console.log
8
- * - process.stdout.write
9
- *
10
- * Redirect them to process.stderr.write (or file).
11
- * If TUI_STRICT=1, throw an error when stdout is used (but still recover by showing an error panel).
12
- *
13
- * This is to stop "weird symbols" forever.
14
- */
15
- /**
16
- * Initialize stdout guard
17
- *
18
- * Once called, all stdout writes are redirected to stderr or a log file.
19
- */
20
- export declare function initStdoutGuard(options?: {
21
- strict?: boolean;
22
- logFile?: string;
23
- }): void;
24
- /**
25
- * Restore original stdout behavior
26
- *
27
- * Call this on TUI shutdown to restore normal stdout.
28
- */
29
- export declare function restoreStdout(): void;
30
- /**
31
- * Check if stdout guard is active
32
- */
33
- export declare function isStdoutGuardActive(): boolean;
34
- /**
35
- * Safe write to stderr (always allowed, even with guard active)
36
- */
37
- export declare function safeStderrWrite(message: string): void;
38
- /**
39
- * Safe write to log file (if configured)
40
- */
41
- export declare function safeLogWrite(message: string): void;
42
- //# sourceMappingURL=stdoutGuard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stdoutGuard.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/runtime/stdoutGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CA2FZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAkBpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMlD"}
@@ -1,156 +0,0 @@
1
- /**
2
- * V5 Stdout Guard - Hard Enforcement
3
- *
4
- * Prevents Failure Mode B: Stdout logging while blessed owns stdout (glyph soup)
5
- *
6
- * Once TUI starts, block or redirect:
7
- * - console.log
8
- * - process.stdout.write
9
- *
10
- * Redirect them to process.stderr.write (or file).
11
- * If TUI_STRICT=1, throw an error when stdout is used (but still recover by showing an error panel).
12
- *
13
- * This is to stop "weird symbols" forever.
14
- */
15
- import * as fs from 'fs';
16
- import * as path from 'path';
17
- let stdoutGuardActive = false;
18
- let originalConsoleLog;
19
- let originalStdoutWrite;
20
- let logFile = null;
21
- /**
22
- * Initialize stdout guard
23
- *
24
- * Once called, all stdout writes are redirected to stderr or a log file.
25
- */
26
- export function initStdoutGuard(options = {}) {
27
- if (stdoutGuardActive) {
28
- return; // Already active
29
- }
30
- stdoutGuardActive = true;
31
- const strict = options.strict || process.env.TUI_STRICT === '1';
32
- // TUI_DEBUG=1 -> write to /tmp/tui_v5.log, otherwise use provided logFile or stderr
33
- const logFilePath = options.logFile || process.env.TUI_V5_LOG_FILE ||
34
- (process.env.TUI_DEBUG === '1' ? '/tmp/tui_v5.log' : undefined);
35
- // Store originals
36
- originalConsoleLog = console.log;
37
- originalStdoutWrite = process.stdout.write.bind(process.stdout);
38
- // Open log file if specified
39
- if (logFilePath) {
40
- try {
41
- const logDir = path.dirname(logFilePath);
42
- if (!fs.existsSync(logDir)) {
43
- fs.mkdirSync(logDir, { recursive: true });
44
- }
45
- logFile = fs.createWriteStream(logFilePath, { flags: 'a' });
46
- logFile.write(`\n=== V5 TUI Log Started ${new Date().toISOString()} ===\n`);
47
- }
48
- catch (error) {
49
- // Fallback to stderr if file can't be opened
50
- process.stderr.write(`[V5] Failed to open log file: ${logFilePath}\n`);
51
- }
52
- }
53
- // Redirect console.log to stderr or file
54
- console.log = (...args) => {
55
- const message = args.map(a => String(a)).join(' ');
56
- const timestamp = new Date().toISOString();
57
- const logLine = `[${timestamp}] [V5 BLOCKED console.log] ${message}\n`;
58
- if (logFile) {
59
- logFile.write(logLine);
60
- }
61
- else {
62
- process.stderr.write(logLine);
63
- }
64
- if (strict) {
65
- // In strict mode, also throw (but catch it to prevent crash)
66
- const error = new Error('console.log called after TUI init (strict mode)');
67
- error.name = 'StdoutGuardViolation';
68
- // Don't throw - just log the violation
69
- if (logFile) {
70
- logFile.write(`[${timestamp}] [V5 STRICT] ${error.stack}\n`);
71
- }
72
- else {
73
- process.stderr.write(`[V5 STRICT] ${error.stack}\n`);
74
- }
75
- }
76
- };
77
- // Redirect process.stdout.write to stderr or file
78
- process.stdout.write = function (chunk, encoding, callback) {
79
- const str = typeof chunk === 'string' ? chunk : chunk.toString();
80
- const timestamp = new Date().toISOString();
81
- const logLine = `[${timestamp}] [V5 BLOCKED stdout.write] ${str}`;
82
- if (logFile) {
83
- logFile.write(logLine);
84
- }
85
- else {
86
- process.stderr.write(logLine);
87
- }
88
- if (strict) {
89
- const error = new Error('process.stdout.write called after TUI init (strict mode)');
90
- error.name = 'StdoutGuardViolation';
91
- if (logFile) {
92
- logFile.write(`[${timestamp}] [V5 STRICT] ${error.stack}\n`);
93
- }
94
- else {
95
- process.stderr.write(`[V5 STRICT] ${error.stack}\n`);
96
- }
97
- }
98
- // Call callback if provided (to prevent hanging)
99
- if (typeof callback === 'function') {
100
- callback(null);
101
- }
102
- return true; // Pretend write succeeded
103
- };
104
- // Log initialization
105
- const initMsg = `[V5] Stdout guard activated (strict=${strict}, logFile=${logFilePath || 'stderr'})\n`;
106
- if (logFile) {
107
- logFile.write(initMsg);
108
- }
109
- else {
110
- process.stderr.write(initMsg);
111
- }
112
- }
113
- /**
114
- * Restore original stdout behavior
115
- *
116
- * Call this on TUI shutdown to restore normal stdout.
117
- */
118
- export function restoreStdout() {
119
- if (!stdoutGuardActive) {
120
- return;
121
- }
122
- stdoutGuardActive = false;
123
- // Restore originals
124
- console.log = originalConsoleLog;
125
- process.stdout.write = originalStdoutWrite;
126
- // Close log file
127
- if (logFile) {
128
- logFile.end();
129
- logFile = null;
130
- }
131
- process.stderr.write('[V5] Stdout guard deactivated\n');
132
- }
133
- /**
134
- * Check if stdout guard is active
135
- */
136
- export function isStdoutGuardActive() {
137
- return stdoutGuardActive;
138
- }
139
- /**
140
- * Safe write to stderr (always allowed, even with guard active)
141
- */
142
- export function safeStderrWrite(message) {
143
- process.stderr.write(message);
144
- }
145
- /**
146
- * Safe write to log file (if configured)
147
- */
148
- export function safeLogWrite(message) {
149
- if (logFile) {
150
- logFile.write(message);
151
- }
152
- else {
153
- process.stderr.write(message);
154
- }
155
- }
156
- //# sourceMappingURL=stdoutGuard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stdoutGuard.js","sourceRoot":"","sources":["../../../../src/ui/v5/runtime/stdoutGuard.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * V5 Viewport Detection
3
- *
4
- * Returns safe viewport dimensions with proper browser terminal detection.
5
- */
6
- export type Viewport = {
7
- rawCols: number;
8
- rawRows: number;
9
- ttyCols: number;
10
- ttyRows: number;
11
- effectiveCols: number;
12
- effectiveRows: number;
13
- safeCols: number;
14
- safeRows: number;
15
- marginRight: number;
16
- marginBottom: number;
17
- isBrowserTerminal: boolean;
18
- };
19
- /**
20
- * Get viewport dimensions
21
- */
22
- export declare function getViewport(screen: any): Viewport;
23
- //# sourceMappingURL=getViewport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getViewport.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/viewport/getViewport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAsCF;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,CAyFjD"}
@@ -1,117 +0,0 @@
1
- /**
2
- * V5 Viewport Detection
3
- *
4
- * Returns safe viewport dimensions with proper browser terminal detection.
5
- */
6
- /**
7
- * Detect if running in browser terminal (AWS web console, etc.)
8
- */
9
- function detectBrowserTerminal(screen) {
10
- // Forced flag
11
- if (process.env.TUI_BROWSER === '1') {
12
- return true;
13
- }
14
- // Heuristic 1: SSH_CONNECTION present AND TERM=xterm (common in AWS web console)
15
- if (process.env.SSH_CONNECTION && (process.env.TERM || '').toLowerCase().includes('xterm')) {
16
- return true;
17
- }
18
- // Heuristic 2: TERM_PROGRAM missing + unusually large cols
19
- if (!process.env.TERM_PROGRAM) {
20
- const cols = screen?.program?.cols || screen?.width || process.stdout.columns || 80;
21
- if (cols > 120) {
22
- // Large terminal without TERM_PROGRAM suggests browser
23
- return true;
24
- }
25
- }
26
- // Heuristic 3: AWS-specific env vars
27
- if (process.env.AWS_REGION ||
28
- process.env.CLOUDSHELL ||
29
- process.env.AWS_EXECUTION_ENV ||
30
- process.env.EC2_INSTANCE_ID) {
31
- return true;
32
- }
33
- return false;
34
- }
35
- /**
36
- * Get viewport dimensions
37
- */
38
- export function getViewport(screen) {
39
- // CRITICAL: Use blessed's actual screen dimensions as the base
40
- // This ensures our layout matches what blessed sees
41
- const program = screen?.program;
42
- let cols;
43
- let rows;
44
- // Priority 1: screen.program.cols/rows (blessed's internal dimensions - most accurate)
45
- if (program && typeof program.cols === 'number' && program.cols > 0) {
46
- cols = program.cols;
47
- rows = program.rows;
48
- }
49
- // Priority 2: screen.width/height (blessed API)
50
- else if (typeof screen.width === 'number' && typeof screen.height === 'number' && screen.width > 0 && screen.height > 0) {
51
- cols = screen.width;
52
- rows = screen.height;
53
- }
54
- // Priority 3: screen.cols/rows (alternative blessed API)
55
- else if (typeof screen.cols === 'number' && typeof screen.rows === 'number') {
56
- cols = screen.cols;
57
- rows = screen.rows;
58
- }
59
- // Priority 4: Fallback to stdout (shouldn't happen if blessed initialized correctly)
60
- else {
61
- cols = process.stdout.columns || 80;
62
- rows = process.stdout.rows || 24;
63
- }
64
- // Detect browser terminal
65
- const isBrowserTerminal = detectBrowserTerminal(screen);
66
- // Determine margins
67
- let marginRight = 0;
68
- let marginBottom = 0;
69
- if (isBrowserTerminal) {
70
- // Browser terminals (AWS EC2 Instance Connect) have hidden gutters
71
- // Increased margin to account for border rendering + hidden gutter
72
- marginRight = 12; // Increased from 10 to 12 - very aggressive overflow prevention
73
- marginBottom = 3;
74
- }
75
- // Allow override
76
- if (process.env.TUI_SAFE_MARGIN_RIGHT) {
77
- marginRight = Number(process.env.TUI_SAFE_MARGIN_RIGHT);
78
- }
79
- if (process.env.TUI_SAFE_MARGIN_BOTTOM) {
80
- marginBottom = Number(process.env.TUI_SAFE_MARGIN_BOTTOM);
81
- }
82
- // Get TTY dimensions (may differ from screen dimensions in browser terminals)
83
- const ttyCols = process.stdout.columns || cols;
84
- const ttyRows = process.stdout.rows || rows;
85
- // CRITICAL: Use the SMALLER of blessed's screen vs stdout dimensions
86
- // In browser terminals, blessed might report width that includes scrollbar area,
87
- // but stdout.columns is closer to the actual visible width
88
- // Using Math.min() ensures we don't exceed the visible area
89
- const effectiveCols = Math.min(cols, ttyCols);
90
- const effectiveRows = Math.min(rows, ttyRows);
91
- // Compute safe dimensions by applying margins to the effective (visible) dimensions
92
- let safeCols = effectiveCols - marginRight;
93
- let safeRows = effectiveRows - marginBottom;
94
- // Clamp minimums (fail into narrow mode if too small)
95
- const MIN_SAFE_COLS = 40;
96
- const MIN_SAFE_ROWS = 15;
97
- if (safeCols < MIN_SAFE_COLS) {
98
- safeCols = MIN_SAFE_COLS;
99
- }
100
- if (safeRows < MIN_SAFE_ROWS) {
101
- safeRows = MIN_SAFE_ROWS;
102
- }
103
- return {
104
- rawCols: cols,
105
- rawRows: rows,
106
- ttyCols,
107
- ttyRows,
108
- effectiveCols,
109
- effectiveRows,
110
- safeCols,
111
- safeRows,
112
- marginRight,
113
- marginBottom,
114
- isBrowserTerminal,
115
- };
116
- }
117
- //# sourceMappingURL=getViewport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getViewport.js","sourceRoot":"","sources":["../../../../src/ui/v5/viewport/getViewport.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * V5 Safe Viewport Module
3
- *
4
- * Single source of truth for terminal dimensions.
5
- * Always use safeCols/safeRows for layout to prevent overflow.
6
- *
7
- * Rules:
8
- * - Never place any widget whose right edge touches screen.cols
9
- * - Default margin: right=1, bottom=1
10
- * - For AWS web terminals, default margin: right=3, bottom=2
11
- * - Allow override via env vars
12
- */
13
- export type Viewport = {
14
- rawCols: number;
15
- rawRows: number;
16
- safeCols: number;
17
- safeRows: number;
18
- marginRight: number;
19
- marginBottom: number;
20
- isBrowserLikely: boolean;
21
- };
22
- /**
23
- * Compute safe viewport from screen
24
- *
25
- * This is the single source of truth for terminal dimensions.
26
- * Always use safeCols/safeRows for layout calculations.
27
- */
28
- export declare function computeViewport(screen: any): Viewport;
29
- /**
30
- * Assert that a rectangle fits within safe viewport bounds
31
- *
32
- * Throws in debug mode if overflow detected.
33
- * This prevents accidental regressions.
34
- */
35
- export declare function assertRect(name: string, r: {
36
- x: number;
37
- y: number;
38
- w: number;
39
- h: number;
40
- }, vp: Viewport): void;
41
- //# sourceMappingURL=viewport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/ui/v5/viewport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,CAsDrD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,EAAE,EAAE,QAAQ,GACX,IAAI,CAUN"}
@@ -1,90 +0,0 @@
1
- /**
2
- * V5 Safe Viewport Module
3
- *
4
- * Single source of truth for terminal dimensions.
5
- * Always use safeCols/safeRows for layout to prevent overflow.
6
- *
7
- * Rules:
8
- * - Never place any widget whose right edge touches screen.cols
9
- * - Default margin: right=1, bottom=1
10
- * - For AWS web terminals, default margin: right=3, bottom=2
11
- * - Allow override via env vars
12
- */
13
- /**
14
- * Clamp a number to a minimum value
15
- */
16
- function clamp(n, min) {
17
- return n < min ? min : n;
18
- }
19
- /**
20
- * Compute safe viewport from screen
21
- *
22
- * This is the single source of truth for terminal dimensions.
23
- * Always use safeCols/safeRows for layout calculations.
24
- */
25
- export function computeViewport(screen) {
26
- // Get raw dimensions from screen (most authoritative)
27
- const program = screen?.program;
28
- let rawCols;
29
- let rawRows;
30
- if (program && typeof program.cols === 'number' && program.cols > 0) {
31
- rawCols = program.cols;
32
- rawRows = program.rows;
33
- }
34
- else if (typeof screen.width === 'number' && typeof screen.height === 'number' && screen.width > 0 && screen.height > 0) {
35
- rawCols = screen.width;
36
- rawRows = screen.height;
37
- }
38
- else if (typeof screen.cols === 'number' && typeof screen.rows === 'number') {
39
- rawCols = screen.cols;
40
- rawRows = screen.rows;
41
- }
42
- else {
43
- rawCols = process.stdout.columns || 80;
44
- rawRows = process.stdout.rows || 24;
45
- }
46
- // Heuristic: AWS web terminals often set these envs
47
- const isBrowserLikely = !!process.env.AWS_REGION ||
48
- !!process.env.CLOUDSHELL ||
49
- !!process.env.AWS_EXECUTION_ENV ||
50
- !!process.env.EC2_INSTANCE_ID ||
51
- (process.env.TERM || '').toLowerCase().includes('xterm'); // weak but ok as fallback
52
- // Defaults - AWS web terminals need more margin to prevent scrollbar
53
- // Increased to 10 based on testing (horizontal scrollbar still appears with 3-9)
54
- let marginRight = isBrowserLikely ? 10 : 1;
55
- let marginBottom = isBrowserLikely ? 2 : 1;
56
- // Override knobs (must exist)
57
- if (process.env.TUI_SAFE_MARGIN_RIGHT) {
58
- marginRight = Number(process.env.TUI_SAFE_MARGIN_RIGHT);
59
- }
60
- if (process.env.TUI_SAFE_MARGIN_BOTTOM) {
61
- marginBottom = Number(process.env.TUI_SAFE_MARGIN_BOTTOM);
62
- }
63
- // Final safe viewport (clamp to minimums)
64
- const safeCols = clamp(rawCols - marginRight, 20);
65
- const safeRows = clamp(rawRows - marginBottom, 10);
66
- return {
67
- rawCols,
68
- rawRows,
69
- safeCols,
70
- safeRows,
71
- marginRight,
72
- marginBottom,
73
- isBrowserLikely,
74
- };
75
- }
76
- /**
77
- * Assert that a rectangle fits within safe viewport bounds
78
- *
79
- * Throws in debug mode if overflow detected.
80
- * This prevents accidental regressions.
81
- */
82
- export function assertRect(name, r, vp) {
83
- const right = r.x + r.w;
84
- const bottom = r.y + r.h;
85
- if (right > vp.safeCols || bottom > vp.safeRows) {
86
- throw new Error(`[V5] OVERFLOW ${name}: right=${right} (max=${vp.safeCols}) bottom=${bottom} (max=${vp.safeRows}) ` +
87
- `rect: x=${r.x} y=${r.y} w=${r.w} h=${r.h} viewport: raw=${vp.rawCols}x${vp.rawRows} safe=${vp.safeCols}x${vp.safeRows}`);
88
- }
89
- }
90
- //# sourceMappingURL=viewport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/ui/v5/viewport.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Flag Row Widget
3
- * Phase 4: Compact capability readiness strip
4
- */
5
- export type Flag = {
6
- key: string;
7
- value: string;
8
- level: "OK" | "WARN" | "BAD" | "UNKNOWN";
9
- };
10
- /**
11
- * Render flag row
12
- * Format: KEY:VALUE KEY:VALUE ...
13
- * Color is applied by caller using theme tokens
14
- */
15
- export declare function renderFlagRow(flags: Flag[], maxFlags: number): string;
16
- /**
17
- * Get color token for flag level
18
- * Returns theme token name for use with getBlessedColor
19
- */
20
- export declare function getFlagColorToken(level: Flag['level']): string;
21
- /**
22
- * Convert capability value to flag level
23
- */
24
- export declare function capabilityToLevel(value: string, capability: 'gateway' | 'database' | 'memory' | 'security' | 'rateLimit'): Flag['level'];
25
- //# sourceMappingURL=flagRow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flagRow.d.ts","sourceRoot":"","sources":["../../../src/ui/widgets/flagRow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAY9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GACvE,IAAI,CAAC,OAAO,CAAC,CAiBf"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Flag Row Widget
3
- * Phase 4: Compact capability readiness strip
4
- */
5
- /**
6
- * Render flag row
7
- * Format: KEY:VALUE KEY:VALUE ...
8
- * Color is applied by caller using theme tokens
9
- */
10
- export function renderFlagRow(flags, maxFlags) {
11
- // Truncate to maxFlags
12
- const displayFlags = flags.slice(0, maxFlags);
13
- // Build row
14
- const parts = displayFlags.map(flag => {
15
- return `${flag.key}:${flag.value}`;
16
- });
17
- return parts.join(' ');
18
- }
19
- /**
20
- * Get color token for flag level
21
- * Returns theme token name for use with getBlessedColor
22
- */
23
- export function getFlagColorToken(level) {
24
- switch (level) {
25
- case 'OK':
26
- return 'successGreen';
27
- case 'WARN':
28
- return 'warnAmber';
29
- case 'BAD':
30
- return 'criticalRed';
31
- case 'UNKNOWN':
32
- default:
33
- return 'mutedGrey';
34
- }
35
- }
36
- /**
37
- * Convert capability value to flag level
38
- */
39
- export function capabilityToLevel(value, capability) {
40
- if (value === "UNKNOWN")
41
- return "UNKNOWN";
42
- switch (capability) {
43
- case 'gateway':
44
- return value === "READY" ? "OK" : "WARN";
45
- case 'database':
46
- return value === "READY" ? "OK" : value === "NOT_INITIALIZED" ? "WARN" : "BAD";
47
- case 'memory':
48
- return "OK"; // Memory mode is informational
49
- case 'security':
50
- return value === "OPEN" ? "WARN" : "OK";
51
- case 'rateLimit':
52
- return value === "ENABLED" ? "OK" : "WARN";
53
- default:
54
- return "UNKNOWN";
55
- }
56
- }
57
- //# sourceMappingURL=flagRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flagRow.js","sourceRoot":"","sources":["../../../src/ui/widgets/flagRow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAgB;IAC3D,uBAAuB;IACvB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9C,YAAY;IACZ,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI;YACP,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS,CAAC;QACf;YACE,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,UAAwE;IAExE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,KAAK,UAAU;YACb,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,+BAA+B;QAC9C,KAAK,UAAU;YACb,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,KAAK,WAAW;YACd,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7C;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Widgets Index
3
- * Phase 4-5: Export all widgets
4
- */
5
- export { renderSparkline, type SparklineInput } from './sparkline.js';
6
- export { renderMeter, type MeterInput } from './meter.js';
7
- export { renderFlagRow, getFlagColorToken, capabilityToLevel, type Flag } from './flagRow.js';
8
- export { renderMiniMap, type MiniMapInput } from './miniMap.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/widgets/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Widgets Index
3
- * Phase 4-5: Export all widgets
4
- */
5
- export { renderSparkline } from './sparkline.js';
6
- export { renderMeter } from './meter.js';
7
- export { renderFlagRow, getFlagColorToken, capabilityToLevel } from './flagRow.js';
8
- export { renderMiniMap } from './miniMap.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/widgets/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAa,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Meter Widget
3
- * Phase 4: Small 1-line meter bar for status intensity
4
- */
5
- export type MeterInput = {
6
- value: number | "UNKNOWN";
7
- min: number;
8
- max: number;
9
- width: number;
10
- labelLeft?: string;
11
- labelRight?: string;
12
- };
13
- /**
14
- * Render meter bar
15
- * Format: <LABEL>: [■■■■■□□□□□] <RIGHT>
16
- */
17
- export declare function renderMeter(input: MeterInput): string;
18
- //# sourceMappingURL=meter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/ui/widgets/meter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA4CrD"}