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.
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/tui_mk1/kernel.d.ts.map +1 -1
- package/dist/tui_mk1/kernel.js +107 -4
- package/dist/tui_mk1/kernel.js.map +1 -1
- package/dist/tui_mk1/layout/layoutEngine.d.ts +38 -19
- package/dist/tui_mk1/layout/layoutEngine.d.ts.map +1 -1
- package/dist/tui_mk1/layout/layoutEngine.js +521 -228
- package/dist/tui_mk1/layout/layoutEngine.js.map +1 -1
- package/dist/tui_mk1/log.d.ts +23 -0
- package/dist/tui_mk1/log.d.ts.map +1 -0
- package/dist/tui_mk1/log.js +125 -0
- package/dist/tui_mk1/log.js.map +1 -0
- package/dist/tui_mk1/logger.d.ts.map +1 -1
- package/dist/tui_mk1/logger.js +20 -10
- package/dist/tui_mk1/logger.js.map +1 -1
- package/dist/tui_mk1/mk1App.d.ts +13 -18
- package/dist/tui_mk1/mk1App.d.ts.map +1 -1
- package/dist/tui_mk1/mk1App.js +334 -157
- package/dist/tui_mk1/mk1App.js.map +1 -1
- package/dist/tui_mk1/resizeController.d.ts.map +1 -1
- package/dist/tui_mk1/resizeController.js +15 -1
- package/dist/tui_mk1/resizeController.js.map +1 -1
- package/dist/tui_mk1/stdoutGuard.d.ts.map +1 -1
- package/dist/tui_mk1/stdoutGuard.js +7 -0
- package/dist/tui_mk1/stdoutGuard.js.map +1 -1
- package/dist/tui_mk1/terminalRestore.d.ts.map +1 -1
- package/dist/tui_mk1/terminalRestore.js +19 -1
- package/dist/tui_mk1/terminalRestore.js.map +1 -1
- package/dist/tui_mk1/ui/offenderScanner.d.ts +31 -0
- package/dist/tui_mk1/ui/offenderScanner.d.ts.map +1 -0
- package/dist/tui_mk1/ui/offenderScanner.js +80 -0
- package/dist/tui_mk1/ui/offenderScanner.js.map +1 -0
- package/dist/tui_mk1/ui/safe.d.ts +9 -0
- package/dist/tui_mk1/ui/safe.d.ts.map +1 -0
- package/dist/tui_mk1/ui/safe.js +29 -0
- package/dist/tui_mk1/ui/safe.js.map +1 -0
- package/dist/tui_mk1/ui/safeText.d.ts +22 -0
- package/dist/tui_mk1/ui/safeText.d.ts.map +1 -0
- package/dist/tui_mk1/ui/safeText.js +50 -0
- package/dist/tui_mk1/ui/safeText.js.map +1 -0
- package/dist/tui_mk1/ui/uiBuilder.d.ts +44 -0
- package/dist/tui_mk1/ui/uiBuilder.d.ts.map +1 -0
- package/dist/tui_mk1/ui/uiBuilder.js +467 -0
- package/dist/tui_mk1/ui/uiBuilder.js.map +1 -0
- package/dist/tui_mk1/viewport/safeViewport.d.ts +10 -1
- package/dist/tui_mk1/viewport/safeViewport.d.ts.map +1 -1
- package/dist/tui_mk1/viewport/safeViewport.js +47 -15
- package/dist/tui_mk1/viewport/safeViewport.js.map +1 -1
- package/dist/tui_mk2/kernel.d.ts +28 -0
- package/dist/tui_mk2/kernel.d.ts.map +1 -0
- package/dist/tui_mk2/kernel.js +138 -0
- package/dist/tui_mk2/kernel.js.map +1 -0
- package/dist/tui_mk2/mk2App.d.ts +33 -0
- package/dist/tui_mk2/mk2App.d.ts.map +1 -0
- package/dist/tui_mk2/mk2App.js +135 -0
- package/dist/tui_mk2/mk2App.js.map +1 -0
- package/package.json +8 -7
- package/dist/tui_mk1/ui/panels/createSection.d.ts +0 -18
- package/dist/tui_mk1/ui/panels/createSection.d.ts.map +0 -1
- package/dist/tui_mk1/ui/panels/createSection.js +0 -42
- package/dist/tui_mk1/ui/panels/createSection.js.map +0 -1
- package/dist/tui_mk1/ui/panels.d.ts +0 -23
- package/dist/tui_mk1/ui/panels.d.ts.map +0 -1
- package/dist/tui_mk1/ui/panels.js +0 -108
- package/dist/tui_mk1/ui/panels.js.map +0 -1
- package/dist/tui_mk1/ui/render/sectionRenderer.d.ts +0 -21
- package/dist/tui_mk1/ui/render/sectionRenderer.d.ts.map +0 -1
- package/dist/tui_mk1/ui/render/sectionRenderer.js +0 -32
- package/dist/tui_mk1/ui/render/sectionRenderer.js.map +0 -1
- package/dist/tui_mk1/ui/widgetManager.d.ts +0 -58
- package/dist/tui_mk1/ui/widgetManager.d.ts.map +0 -1
- package/dist/tui_mk1/ui/widgetManager.js +0 -197
- package/dist/tui_mk1/ui/widgetManager.js.map +0 -1
- package/dist/ui/boot/sequence.d.ts +0 -10
- package/dist/ui/boot/sequence.d.ts.map +0 -1
- package/dist/ui/boot/sequence.js +0 -171
- package/dist/ui/boot/sequence.js.map +0 -1
- package/dist/ui/constraints/layoutSpec.d.ts +0 -47
- package/dist/ui/constraints/layoutSpec.d.ts.map +0 -1
- package/dist/ui/constraints/layoutSpec.js +0 -60
- package/dist/ui/constraints/layoutSpec.js.map +0 -1
- package/dist/ui/constraints/unknownHandling.d.ts +0 -29
- package/dist/ui/constraints/unknownHandling.d.ts.map +0 -1
- package/dist/ui/constraints/unknownHandling.js +0 -60
- package/dist/ui/constraints/unknownHandling.js.map +0 -1
- package/dist/ui/drilldowns/feed.d.ts +0 -11
- package/dist/ui/drilldowns/feed.d.ts.map +0 -1
- package/dist/ui/drilldowns/feed.js +0 -68
- package/dist/ui/drilldowns/feed.js.map +0 -1
- package/dist/ui/drilldowns/index.d.ts +0 -7
- package/dist/ui/drilldowns/index.d.ts.map +0 -1
- package/dist/ui/drilldowns/index.js +0 -8
- package/dist/ui/drilldowns/index.js.map +0 -1
- package/dist/ui/drilldowns/posture.d.ts +0 -11
- package/dist/ui/drilldowns/posture.d.ts.map +0 -1
- package/dist/ui/drilldowns/posture.js +0 -74
- package/dist/ui/drilldowns/posture.js.map +0 -1
- package/dist/ui/intelligence-posture-view.d.ts +0 -22
- package/dist/ui/intelligence-posture-view.d.ts.map +0 -1
- package/dist/ui/intelligence-posture-view.js +0 -169
- package/dist/ui/intelligence-posture-view.js.map +0 -1
- package/dist/ui/navigation/keymaps.d.ts +0 -26
- package/dist/ui/navigation/keymaps.d.ts.map +0 -1
- package/dist/ui/navigation/keymaps.js +0 -135
- package/dist/ui/navigation/keymaps.js.map +0 -1
- package/dist/ui/navigation/palette.d.ts +0 -10
- package/dist/ui/navigation/palette.d.ts.map +0 -1
- package/dist/ui/navigation/palette.js +0 -133
- package/dist/ui/navigation/palette.js.map +0 -1
- package/dist/ui/navigation/state.d.ts +0 -47
- package/dist/ui/navigation/state.d.ts.map +0 -1
- package/dist/ui/navigation/state.js +0 -84
- package/dist/ui/navigation/state.js.map +0 -1
- package/dist/ui/navigation/types.d.ts +0 -38
- package/dist/ui/navigation/types.d.ts.map +0 -1
- package/dist/ui/navigation/types.js +0 -36
- package/dist/ui/navigation/types.js.map +0 -1
- package/dist/ui/panels/active-assets.d.ts +0 -12
- package/dist/ui/panels/active-assets.d.ts.map +0 -1
- package/dist/ui/panels/active-assets.js +0 -83
- package/dist/ui/panels/active-assets.js.map +0 -1
- package/dist/ui/panels/capability-flags.d.ts +0 -12
- package/dist/ui/panels/capability-flags.d.ts.map +0 -1
- package/dist/ui/panels/capability-flags.js +0 -59
- package/dist/ui/panels/capability-flags.js.map +0 -1
- package/dist/ui/panels/command-surface.d.ts +0 -12
- package/dist/ui/panels/command-surface.d.ts.map +0 -1
- package/dist/ui/panels/command-surface.js +0 -55
- package/dist/ui/panels/command-surface.js.map +0 -1
- package/dist/ui/panels/network-origin.d.ts +0 -12
- package/dist/ui/panels/network-origin.d.ts.map +0 -1
- package/dist/ui/panels/network-origin.js +0 -79
- package/dist/ui/panels/network-origin.js.map +0 -1
- package/dist/ui/panels/operations-feed.d.ts +0 -12
- package/dist/ui/panels/operations-feed.d.ts.map +0 -1
- package/dist/ui/panels/operations-feed.js +0 -90
- package/dist/ui/panels/operations-feed.js.map +0 -1
- package/dist/ui/panels/posture.d.ts +0 -12
- package/dist/ui/panels/posture.d.ts.map +0 -1
- package/dist/ui/panels/posture.js +0 -84
- package/dist/ui/panels/posture.js.map +0 -1
- package/dist/ui/panels/resources.d.ts +0 -11
- package/dist/ui/panels/resources.d.ts.map +0 -1
- package/dist/ui/panels/resources.js +0 -88
- package/dist/ui/panels/resources.js.map +0 -1
- package/dist/ui/primitives/Panel.d.ts +0 -25
- package/dist/ui/primitives/Panel.d.ts.map +0 -1
- package/dist/ui/primitives/Panel.js +0 -59
- package/dist/ui/primitives/Panel.js.map +0 -1
- package/dist/ui/rendering/metricRenderer.d.ts +0 -24
- package/dist/ui/rendering/metricRenderer.d.ts.map +0 -1
- package/dist/ui/rendering/metricRenderer.js +0 -86
- package/dist/ui/rendering/metricRenderer.js.map +0 -1
- package/dist/ui/runtime/hub.d.ts +0 -12
- package/dist/ui/runtime/hub.d.ts.map +0 -1
- package/dist/ui/runtime/hub.js +0 -486
- package/dist/ui/runtime/hub.js.map +0 -1
- package/dist/ui/runtime/hubValidation.d.ts +0 -23
- package/dist/ui/runtime/hubValidation.d.ts.map +0 -1
- package/dist/ui/runtime/hubValidation.js +0 -90
- package/dist/ui/runtime/hubValidation.js.map +0 -1
- package/dist/ui/runtime/index.d.ts +0 -29
- package/dist/ui/runtime/index.d.ts.map +0 -1
- package/dist/ui/runtime/index.js +0 -297
- package/dist/ui/runtime/index.js.map +0 -1
- package/dist/ui/runtime/no-tui.d.ts +0 -12
- package/dist/ui/runtime/no-tui.d.ts.map +0 -1
- package/dist/ui/runtime/no-tui.js +0 -77
- package/dist/ui/runtime/no-tui.js.map +0 -1
- package/dist/ui/runtime/state-builder.d.ts +0 -13
- package/dist/ui/runtime/state-builder.d.ts.map +0 -1
- package/dist/ui/runtime/state-builder.js +0 -114
- package/dist/ui/runtime/state-builder.js.map +0 -1
- package/dist/ui/runtime/terminalSizeCheck.d.ts +0 -10
- package/dist/ui/runtime/terminalSizeCheck.d.ts.map +0 -1
- package/dist/ui/runtime/terminalSizeCheck.js +0 -51
- package/dist/ui/runtime/terminalSizeCheck.js.map +0 -1
- package/dist/ui/runtime/tuiLogGate.d.ts +0 -22
- package/dist/ui/runtime/tuiLogGate.d.ts.map +0 -1
- package/dist/ui/runtime/tuiLogGate.js +0 -68
- package/dist/ui/runtime/tuiLogGate.js.map +0 -1
- package/dist/ui/state/types.d.ts +0 -72
- package/dist/ui/state/types.d.ts.map +0 -1
- package/dist/ui/state/types.js +0 -6
- package/dist/ui/state/types.js.map +0 -1
- package/dist/ui/theme/borders.d.ts +0 -20
- package/dist/ui/theme/borders.d.ts.map +0 -1
- package/dist/ui/theme/borders.js +0 -55
- package/dist/ui/theme/borders.js.map +0 -1
- package/dist/ui/theme/tokens.d.ts +0 -28
- package/dist/ui/theme/tokens.d.ts.map +0 -1
- package/dist/ui/theme/tokens.js +0 -50
- package/dist/ui/theme/tokens.js.map +0 -1
- package/dist/ui/theme/typography.d.ts +0 -14
- package/dist/ui/theme/typography.d.ts.map +0 -1
- package/dist/ui/theme/typography.js +0 -30
- package/dist/ui/theme/typography.js.map +0 -1
- package/dist/ui/v3/collectors/assets.collector.d.ts +0 -20
- package/dist/ui/v3/collectors/assets.collector.d.ts.map +0 -1
- package/dist/ui/v3/collectors/assets.collector.js +0 -80
- package/dist/ui/v3/collectors/assets.collector.js.map +0 -1
- package/dist/ui/v3/collectors/capabilities.collector.d.ts +0 -18
- package/dist/ui/v3/collectors/capabilities.collector.d.ts.map +0 -1
- package/dist/ui/v3/collectors/capabilities.collector.js +0 -113
- package/dist/ui/v3/collectors/capabilities.collector.js.map +0 -1
- package/dist/ui/v3/collectors/network.collector.d.ts +0 -18
- package/dist/ui/v3/collectors/network.collector.d.ts.map +0 -1
- package/dist/ui/v3/collectors/network.collector.js +0 -37
- package/dist/ui/v3/collectors/network.collector.js.map +0 -1
- package/dist/ui/v3/collectors/posture.derive.d.ts +0 -24
- package/dist/ui/v3/collectors/posture.derive.d.ts.map +0 -1
- package/dist/ui/v3/collectors/posture.derive.js +0 -57
- package/dist/ui/v3/collectors/posture.derive.js.map +0 -1
- package/dist/ui/v3/collectors/resources.d.ts +0 -23
- package/dist/ui/v3/collectors/resources.d.ts.map +0 -1
- package/dist/ui/v3/collectors/resources.js +0 -136
- package/dist/ui/v3/collectors/resources.js.map +0 -1
- package/dist/ui/v3/commands/commandEngine.d.ts +0 -77
- package/dist/ui/v3/commands/commandEngine.d.ts.map +0 -1
- package/dist/ui/v3/commands/commandEngine.js +0 -3289
- package/dist/ui/v3/commands/commandEngine.js.map +0 -1
- package/dist/ui/v3/commands/commandResult.d.ts +0 -25
- package/dist/ui/v3/commands/commandResult.d.ts.map +0 -1
- package/dist/ui/v3/commands/commandResult.js +0 -19
- package/dist/ui/v3/commands/commandResult.js.map +0 -1
- package/dist/ui/v3/commands/diagnose.d.ts +0 -17
- package/dist/ui/v3/commands/diagnose.d.ts.map +0 -1
- package/dist/ui/v3/commands/diagnose.js +0 -62
- package/dist/ui/v3/commands/diagnose.js.map +0 -1
- package/dist/ui/v3/commands/errorClassifier.d.ts +0 -23
- package/dist/ui/v3/commands/errorClassifier.d.ts.map +0 -1
- package/dist/ui/v3/commands/errorClassifier.js +0 -63
- package/dist/ui/v3/commands/errorClassifier.js.map +0 -1
- package/dist/ui/v3/commands/parser.d.ts +0 -14
- package/dist/ui/v3/commands/parser.d.ts.map +0 -1
- package/dist/ui/v3/commands/parser.js +0 -29
- package/dist/ui/v3/commands/parser.js.map +0 -1
- package/dist/ui/v3/commands/router.d.ts +0 -13
- package/dist/ui/v3/commands/router.d.ts.map +0 -1
- package/dist/ui/v3/commands/router.js +0 -150
- package/dist/ui/v3/commands/router.js.map +0 -1
- package/dist/ui/v3/config/gateway.d.ts +0 -40
- package/dist/ui/v3/config/gateway.d.ts.map +0 -1
- package/dist/ui/v3/config/gateway.js +0 -113
- package/dist/ui/v3/config/gateway.js.map +0 -1
- package/dist/ui/v3/core/event.d.ts +0 -19
- package/dist/ui/v3/core/event.d.ts.map +0 -1
- package/dist/ui/v3/core/event.js +0 -7
- package/dist/ui/v3/core/event.js.map +0 -1
- package/dist/ui/v3/core/eventBus.d.ts +0 -39
- package/dist/ui/v3/core/eventBus.d.ts.map +0 -1
- package/dist/ui/v3/core/eventBus.js +0 -79
- package/dist/ui/v3/core/eventBus.js.map +0 -1
- package/dist/ui/v3/core/feedStore.d.ts +0 -34
- package/dist/ui/v3/core/feedStore.d.ts.map +0 -1
- package/dist/ui/v3/core/feedStore.js +0 -46
- package/dist/ui/v3/core/feedStore.js.map +0 -1
- package/dist/ui/v3/core/logger.d.ts +0 -40
- package/dist/ui/v3/core/logger.d.ts.map +0 -1
- package/dist/ui/v3/core/logger.js +0 -191
- package/dist/ui/v3/core/logger.js.map +0 -1
- package/dist/ui/v3/core/opEvent.d.ts +0 -15
- package/dist/ui/v3/core/opEvent.d.ts.map +0 -1
- package/dist/ui/v3/core/opEvent.js +0 -7
- package/dist/ui/v3/core/opEvent.js.map +0 -1
- package/dist/ui/v3/index.d.ts +0 -8
- package/dist/ui/v3/index.d.ts.map +0 -1
- package/dist/ui/v3/index.js +0 -51
- package/dist/ui/v3/index.js.map +0 -1
- package/dist/ui/v3/runtime/moduleConfig.d.ts +0 -21
- package/dist/ui/v3/runtime/moduleConfig.d.ts.map +0 -1
- package/dist/ui/v3/runtime/moduleConfig.js +0 -41
- package/dist/ui/v3/runtime/moduleConfig.js.map +0 -1
- package/dist/ui/v3/section0/index.d.ts +0 -22
- package/dist/ui/v3/section0/index.d.ts.map +0 -1
- package/dist/ui/v3/section0/index.js +0 -88
- package/dist/ui/v3/section0/index.js.map +0 -1
- package/dist/ui/v3/section0/runtime/createScreen.d.ts +0 -27
- package/dist/ui/v3/section0/runtime/createScreen.d.ts.map +0 -1
- package/dist/ui/v3/section0/runtime/createScreen.js +0 -55
- package/dist/ui/v3/section0/runtime/createScreen.js.map +0 -1
- package/dist/ui/v3/section0/runtime/lifecycle.d.ts +0 -53
- package/dist/ui/v3/section0/runtime/lifecycle.d.ts.map +0 -1
- package/dist/ui/v3/section0/runtime/lifecycle.js +0 -172
- package/dist/ui/v3/section0/runtime/lifecycle.js.map +0 -1
- package/dist/ui/v3/section1/index.d.ts +0 -19
- package/dist/ui/v3/section1/index.d.ts.map +0 -1
- package/dist/ui/v3/section1/index.js +0 -413
- package/dist/ui/v3/section1/index.js.map +0 -1
- package/dist/ui/v3/section1/runtime/commandLine.d.ts +0 -49
- package/dist/ui/v3/section1/runtime/commandLine.d.ts.map +0 -1
- package/dist/ui/v3/section1/runtime/commandLine.js +0 -183
- package/dist/ui/v3/section1/runtime/commandLine.js.map +0 -1
- package/dist/ui/v3/section1/runtime/focusLock.d.ts +0 -24
- package/dist/ui/v3/section1/runtime/focusLock.d.ts.map +0 -1
- package/dist/ui/v3/section1/runtime/focusLock.js +0 -44
- package/dist/ui/v3/section1/runtime/focusLock.js.map +0 -1
- package/dist/ui/v3/state/assertUiState.d.ts +0 -27
- package/dist/ui/v3/state/assertUiState.d.ts.map +0 -1
- package/dist/ui/v3/state/assertUiState.js +0 -89
- package/dist/ui/v3/state/assertUiState.js.map +0 -1
- package/dist/ui/v3/state/capabilitiesStore.d.ts +0 -54
- package/dist/ui/v3/state/capabilitiesStore.d.ts.map +0 -1
- package/dist/ui/v3/state/capabilitiesStore.js +0 -76
- package/dist/ui/v3/state/capabilitiesStore.js.map +0 -1
- package/dist/ui/v3/state/defaultState.d.ts +0 -19
- package/dist/ui/v3/state/defaultState.d.ts.map +0 -1
- package/dist/ui/v3/state/defaultState.js +0 -28
- package/dist/ui/v3/state/defaultState.js.map +0 -1
- package/dist/ui/v3/state/gatewayConnectionStore.d.ts +0 -72
- package/dist/ui/v3/state/gatewayConnectionStore.d.ts.map +0 -1
- package/dist/ui/v3/state/gatewayConnectionStore.js +0 -108
- package/dist/ui/v3/state/gatewayConnectionStore.js.map +0 -1
- package/dist/ui/v3/state/initializePostureState.d.ts +0 -23
- package/dist/ui/v3/state/initializePostureState.d.ts.map +0 -1
- package/dist/ui/v3/state/initializePostureState.js +0 -41
- package/dist/ui/v3/state/initializePostureState.js.map +0 -1
- package/dist/ui/v3/state/panelStore.d.ts +0 -80
- package/dist/ui/v3/state/panelStore.d.ts.map +0 -1
- package/dist/ui/v3/state/panelStore.js +0 -131
- package/dist/ui/v3/state/panelStore.js.map +0 -1
- package/dist/ui/v3/state/resourcesData.d.ts +0 -15
- package/dist/ui/v3/state/resourcesData.d.ts.map +0 -1
- package/dist/ui/v3/state/resourcesData.js +0 -7
- package/dist/ui/v3/state/resourcesData.js.map +0 -1
- package/dist/ui/v3/state/uiState.d.ts +0 -22
- package/dist/ui/v3/state/uiState.d.ts.map +0 -1
- package/dist/ui/v3/state/uiState.js +0 -13
- package/dist/ui/v3/state/uiState.js.map +0 -1
- package/dist/ui/v3/state/uiStateBuilder.d.ts +0 -32
- package/dist/ui/v3/state/uiStateBuilder.d.ts.map +0 -1
- package/dist/ui/v3/state/uiStateBuilder.js +0 -73
- package/dist/ui/v3/state/uiStateBuilder.js.map +0 -1
- package/dist/ui/v3/state/uiStateTypes.d.ts +0 -59
- package/dist/ui/v3/state/uiStateTypes.d.ts.map +0 -1
- package/dist/ui/v3/state/uiStateTypes.js +0 -8
- package/dist/ui/v3/state/uiStateTypes.js.map +0 -1
- package/dist/ui/v3/state/value.d.ts +0 -80
- package/dist/ui/v3/state/value.d.ts.map +0 -1
- package/dist/ui/v3/state/value.js +0 -96
- package/dist/ui/v3/state/value.js.map +0 -1
- package/dist/ui/v3/tui/geometry.d.ts +0 -83
- package/dist/ui/v3/tui/geometry.d.ts.map +0 -1
- package/dist/ui/v3/tui/geometry.js +0 -201
- package/dist/ui/v3/tui/geometry.js.map +0 -1
- package/dist/ui/v3/tui/startTui.d.ts +0 -37
- package/dist/ui/v3/tui/startTui.d.ts.map +0 -1
- package/dist/ui/v3/tui/startTui.js +0 -61
- package/dist/ui/v3/tui/startTui.js.map +0 -1
- package/dist/ui/v3/tui/terminalMode.d.ts +0 -31
- package/dist/ui/v3/tui/terminalMode.d.ts.map +0 -1
- package/dist/ui/v3/tui/terminalMode.js +0 -76
- package/dist/ui/v3/tui/terminalMode.js.map +0 -1
- package/dist/ui/v3/ui/debugUtils.d.ts +0 -67
- package/dist/ui/v3/ui/debugUtils.d.ts.map +0 -1
- package/dist/ui/v3/ui/debugUtils.js +0 -238
- package/dist/ui/v3/ui/debugUtils.js.map +0 -1
- package/dist/ui/v3/ui/focus.d.ts +0 -28
- package/dist/ui/v3/ui/focus.d.ts.map +0 -1
- package/dist/ui/v3/ui/focus.js +0 -38
- package/dist/ui/v3/ui/focus.js.map +0 -1
- package/dist/ui/v3/ui/layout/hubLayout.d.ts +0 -43
- package/dist/ui/v3/ui/layout/hubLayout.d.ts.map +0 -1
- package/dist/ui/v3/ui/layout/hubLayout.js +0 -170
- package/dist/ui/v3/ui/layout/hubLayout.js.map +0 -1
- package/dist/ui/v3/ui/layout/phase1Layout.d.ts +0 -63
- package/dist/ui/v3/ui/layout/phase1Layout.d.ts.map +0 -1
- package/dist/ui/v3/ui/layout/phase1Layout.js +0 -274
- package/dist/ui/v3/ui/layout/phase1Layout.js.map +0 -1
- package/dist/ui/v3/ui/layout/phase1Layout.test.d.ts +0 -5
- package/dist/ui/v3/ui/layout/phase1Layout.test.d.ts.map +0 -1
- package/dist/ui/v3/ui/layout/phase1Layout.test.js +0 -120
- package/dist/ui/v3/ui/layout/phase1Layout.test.js.map +0 -1
- package/dist/ui/v3/ui/minimalRuntime.d.ts +0 -14
- package/dist/ui/v3/ui/minimalRuntime.d.ts.map +0 -1
- package/dist/ui/v3/ui/minimalRuntime.js +0 -111
- package/dist/ui/v3/ui/minimalRuntime.js.map +0 -1
- package/dist/ui/v3/ui/panels/AssetsPanel.d.ts +0 -17
- package/dist/ui/v3/ui/panels/AssetsPanel.d.ts.map +0 -1
- package/dist/ui/v3/ui/panels/AssetsPanel.js +0 -53
- package/dist/ui/v3/ui/panels/AssetsPanel.js.map +0 -1
- package/dist/ui/v3/ui/panels/CapabilitiesPanel.d.ts +0 -20
- package/dist/ui/v3/ui/panels/CapabilitiesPanel.d.ts.map +0 -1
- package/dist/ui/v3/ui/panels/CapabilitiesPanel.js +0 -67
- package/dist/ui/v3/ui/panels/CapabilitiesPanel.js.map +0 -1
- package/dist/ui/v3/ui/panels/NetworkPanel.d.ts +0 -31
- package/dist/ui/v3/ui/panels/NetworkPanel.d.ts.map +0 -1
- package/dist/ui/v3/ui/panels/NetworkPanel.js +0 -153
- package/dist/ui/v3/ui/panels/NetworkPanel.js.map +0 -1
- package/dist/ui/v3/ui/panels/PosturePanel.d.ts +0 -16
- package/dist/ui/v3/ui/panels/PosturePanel.d.ts.map +0 -1
- package/dist/ui/v3/ui/panels/PosturePanel.js +0 -60
- package/dist/ui/v3/ui/panels/PosturePanel.js.map +0 -1
- package/dist/ui/v3/ui/panels/ResourcesPanel.d.ts +0 -20
- package/dist/ui/v3/ui/panels/ResourcesPanel.d.ts.map +0 -1
- package/dist/ui/v3/ui/panels/ResourcesPanel.js +0 -66
- package/dist/ui/v3/ui/panels/ResourcesPanel.js.map +0 -1
- package/dist/ui/v3/ui/phase1Runtime.d.ts +0 -29
- package/dist/ui/v3/ui/phase1Runtime.d.ts.map +0 -1
- package/dist/ui/v3/ui/phase1Runtime.js +0 -1648
- package/dist/ui/v3/ui/phase1Runtime.js.map +0 -1
- package/dist/ui/v3/ui/phase1RuntimeClean.d.ts +0 -34
- package/dist/ui/v3/ui/phase1RuntimeClean.d.ts.map +0 -1
- package/dist/ui/v3/ui/phase1RuntimeClean.js +0 -1841
- package/dist/ui/v3/ui/phase1RuntimeClean.js.map +0 -1
- package/dist/ui/v3/ui/primitives/Panel.d.ts +0 -39
- package/dist/ui/v3/ui/primitives/Panel.d.ts.map +0 -1
- package/dist/ui/v3/ui/primitives/Panel.js +0 -105
- package/dist/ui/v3/ui/primitives/Panel.js.map +0 -1
- package/dist/ui/v3/ui/theme.d.ts +0 -37
- package/dist/ui/v3/ui/theme.d.ts.map +0 -1
- package/dist/ui/v3/ui/theme.js +0 -40
- package/dist/ui/v3/ui/theme.js.map +0 -1
- package/dist/ui/v3/ui/uiRuntime.d.ts +0 -40
- package/dist/ui/v3/ui/uiRuntime.d.ts.map +0 -1
- package/dist/ui/v3/ui/uiRuntime.js +0 -60
- package/dist/ui/v3/ui/uiRuntime.js.map +0 -1
- package/dist/ui/v3/ui/widgets/CommandLine.d.ts +0 -26
- package/dist/ui/v3/ui/widgets/CommandLine.d.ts.map +0 -1
- package/dist/ui/v3/ui/widgets/CommandLine.js +0 -67
- package/dist/ui/v3/ui/widgets/CommandLine.js.map +0 -1
- package/dist/ui/v3/v1Adapters/agents.d.ts +0 -72
- package/dist/ui/v3/v1Adapters/agents.d.ts.map +0 -1
- package/dist/ui/v3/v1Adapters/agents.js +0 -182
- package/dist/ui/v3/v1Adapters/agents.js.map +0 -1
- package/dist/ui/v3/v1Adapters/config.d.ts +0 -67
- package/dist/ui/v3/v1Adapters/config.d.ts.map +0 -1
- package/dist/ui/v3/v1Adapters/config.js +0 -78
- package/dist/ui/v3/v1Adapters/config.js.map +0 -1
- package/dist/ui/v3/v1Adapters/connect.d.ts +0 -77
- package/dist/ui/v3/v1Adapters/connect.d.ts.map +0 -1
- package/dist/ui/v3/v1Adapters/connect.js +0 -576
- package/dist/ui/v3/v1Adapters/connect.js.map +0 -1
- package/dist/ui/v3/v1Adapters/httpDebug.d.ts +0 -19
- package/dist/ui/v3/v1Adapters/httpDebug.d.ts.map +0 -1
- package/dist/ui/v3/v1Adapters/httpDebug.js +0 -60
- package/dist/ui/v3/v1Adapters/httpDebug.js.map +0 -1
- package/dist/ui/v3/v1Adapters/runs.d.ts +0 -77
- package/dist/ui/v3/v1Adapters/runs.d.ts.map +0 -1
- package/dist/ui/v3/v1Adapters/runs.js +0 -339
- package/dist/ui/v3/v1Adapters/runs.js.map +0 -1
- package/dist/ui/v4/engine/renderFrame.d.ts +0 -47
- package/dist/ui/v4/engine/renderFrame.d.ts.map +0 -1
- package/dist/ui/v4/engine/renderFrame.js +0 -653
- package/dist/ui/v4/engine/renderFrame.js.map +0 -1
- package/dist/ui/v4/engine/resizeController.d.ts +0 -48
- package/dist/ui/v4/engine/resizeController.d.ts.map +0 -1
- package/dist/ui/v4/engine/resizeController.js +0 -285
- package/dist/ui/v4/engine/resizeController.js.map +0 -1
- package/dist/ui/v4/engine/safeViewport.d.ts +0 -47
- package/dist/ui/v4/engine/safeViewport.d.ts.map +0 -1
- package/dist/ui/v4/engine/safeViewport.js +0 -123
- package/dist/ui/v4/engine/safeViewport.js.map +0 -1
- package/dist/ui/v4/engine/terminalProfile.d.ts +0 -56
- package/dist/ui/v4/engine/terminalProfile.d.ts.map +0 -1
- package/dist/ui/v4/engine/terminalProfile.js +0 -115
- package/dist/ui/v4/engine/terminalProfile.js.map +0 -1
- package/dist/ui/v4/index.d.ts +0 -28
- package/dist/ui/v4/index.d.ts.map +0 -1
- package/dist/ui/v4/index.js +0 -993
- package/dist/ui/v4/index.js.map +0 -1
- package/dist/ui/v4/layout/layoutEngine.d.ts +0 -62
- package/dist/ui/v4/layout/layoutEngine.d.ts.map +0 -1
- package/dist/ui/v4/layout/layoutEngine.js +0 -294
- package/dist/ui/v4/layout/layoutEngine.js.map +0 -1
- package/dist/ui/v4/runtime/keepAlive.d.ts +0 -21
- package/dist/ui/v4/runtime/keepAlive.d.ts.map +0 -1
- package/dist/ui/v4/runtime/keepAlive.js +0 -149
- package/dist/ui/v4/runtime/keepAlive.js.map +0 -1
- package/dist/ui/v4/runtime/logger.d.ts +0 -35
- package/dist/ui/v4/runtime/logger.d.ts.map +0 -1
- package/dist/ui/v4/runtime/logger.js +0 -109
- package/dist/ui/v4/runtime/logger.js.map +0 -1
- package/dist/ui/v5/debug/assertNoOverflow.d.ts +0 -28
- package/dist/ui/v5/debug/assertNoOverflow.d.ts.map +0 -1
- package/dist/ui/v5/debug/assertNoOverflow.js +0 -63
- package/dist/ui/v5/debug/assertNoOverflow.js.map +0 -1
- package/dist/ui/v5/debug/debugCommands.d.ts +0 -20
- package/dist/ui/v5/debug/debugCommands.d.ts.map +0 -1
- package/dist/ui/v5/debug/debugCommands.js +0 -461
- package/dist/ui/v5/debug/debugCommands.js.map +0 -1
- package/dist/ui/v5/debugCommands.d.ts +0 -20
- package/dist/ui/v5/debugCommands.d.ts.map +0 -1
- package/dist/ui/v5/debugCommands.js +0 -81
- package/dist/ui/v5/debugCommands.js.map +0 -1
- package/dist/ui/v5/guardrails/stdoutGuard.d.ts +0 -23
- package/dist/ui/v5/guardrails/stdoutGuard.d.ts.map +0 -1
- package/dist/ui/v5/guardrails/stdoutGuard.js +0 -94
- package/dist/ui/v5/guardrails/stdoutGuard.js.map +0 -1
- package/dist/ui/v5/guardrails/terminalRestore.d.ts +0 -17
- package/dist/ui/v5/guardrails/terminalRestore.d.ts.map +0 -1
- package/dist/ui/v5/guardrails/terminalRestore.js +0 -47
- package/dist/ui/v5/guardrails/terminalRestore.js.map +0 -1
- package/dist/ui/v5/index.d.ts +0 -30
- package/dist/ui/v5/index.d.ts.map +0 -1
- package/dist/ui/v5/index.js +0 -243
- package/dist/ui/v5/index.js.map +0 -1
- package/dist/ui/v5/kernel/kernel.d.ts +0 -81
- package/dist/ui/v5/kernel/kernel.d.ts.map +0 -1
- package/dist/ui/v5/kernel/kernel.js +0 -339
- package/dist/ui/v5/kernel/kernel.js.map +0 -1
- package/dist/ui/v5/kernel.d.ts +0 -75
- package/dist/ui/v5/kernel.d.ts.map +0 -1
- package/dist/ui/v5/kernel.js +0 -289
- package/dist/ui/v5/kernel.js.map +0 -1
- package/dist/ui/v5/layout/clampRect.d.ts +0 -28
- package/dist/ui/v5/layout/clampRect.d.ts.map +0 -1
- package/dist/ui/v5/layout/clampRect.js +0 -45
- package/dist/ui/v5/layout/clampRect.js.map +0 -1
- package/dist/ui/v5/layout/layoutEngine.d.ts +0 -16
- package/dist/ui/v5/layout/layoutEngine.d.ts.map +0 -1
- package/dist/ui/v5/layout/layoutEngine.js +0 -99
- package/dist/ui/v5/layout/layoutEngine.js.map +0 -1
- package/dist/ui/v5/renderGate.d.ts +0 -19
- package/dist/ui/v5/renderGate.d.ts.map +0 -1
- package/dist/ui/v5/renderGate.js +0 -36
- package/dist/ui/v5/renderGate.js.map +0 -1
- package/dist/ui/v5/resize/resizeController.d.ts +0 -62
- package/dist/ui/v5/resize/resizeController.d.ts.map +0 -1
- package/dist/ui/v5/resize/resizeController.js +0 -141
- package/dist/ui/v5/resize/resizeController.js.map +0 -1
- package/dist/ui/v5/resizeController.d.ts +0 -55
- package/dist/ui/v5/resizeController.d.ts.map +0 -1
- package/dist/ui/v5/resizeController.js +0 -124
- package/dist/ui/v5/resizeController.js.map +0 -1
- package/dist/ui/v5/runtime/keepAlive.d.ts +0 -37
- package/dist/ui/v5/runtime/keepAlive.d.ts.map +0 -1
- package/dist/ui/v5/runtime/keepAlive.js +0 -122
- package/dist/ui/v5/runtime/keepAlive.js.map +0 -1
- package/dist/ui/v5/runtime/restoreTerminal.d.ts +0 -34
- package/dist/ui/v5/runtime/restoreTerminal.d.ts.map +0 -1
- package/dist/ui/v5/runtime/restoreTerminal.js +0 -100
- package/dist/ui/v5/runtime/restoreTerminal.js.map +0 -1
- package/dist/ui/v5/runtime/stdoutGuard.d.ts +0 -42
- package/dist/ui/v5/runtime/stdoutGuard.d.ts.map +0 -1
- package/dist/ui/v5/runtime/stdoutGuard.js +0 -156
- package/dist/ui/v5/runtime/stdoutGuard.js.map +0 -1
- package/dist/ui/v5/viewport/getViewport.d.ts +0 -23
- package/dist/ui/v5/viewport/getViewport.d.ts.map +0 -1
- package/dist/ui/v5/viewport/getViewport.js +0 -117
- package/dist/ui/v5/viewport/getViewport.js.map +0 -1
- package/dist/ui/v5/viewport.d.ts +0 -41
- package/dist/ui/v5/viewport.d.ts.map +0 -1
- package/dist/ui/v5/viewport.js +0 -90
- package/dist/ui/v5/viewport.js.map +0 -1
- package/dist/ui/widgets/flagRow.d.ts +0 -25
- package/dist/ui/widgets/flagRow.d.ts.map +0 -1
- package/dist/ui/widgets/flagRow.js +0 -57
- package/dist/ui/widgets/flagRow.js.map +0 -1
- package/dist/ui/widgets/index.d.ts +0 -9
- package/dist/ui/widgets/index.d.ts.map +0 -1
- package/dist/ui/widgets/index.js +0 -9
- package/dist/ui/widgets/index.js.map +0 -1
- package/dist/ui/widgets/meter.d.ts +0 -18
- package/dist/ui/widgets/meter.d.ts.map +0 -1
- package/dist/ui/widgets/meter.js +0 -38
- package/dist/ui/widgets/meter.js.map +0 -1
- package/dist/ui/widgets/miniMap.d.ts +0 -26
- package/dist/ui/widgets/miniMap.d.ts.map +0 -1
- package/dist/ui/widgets/miniMap.js +0 -94
- package/dist/ui/widgets/miniMap.js.map +0 -1
- package/dist/ui/widgets/sparkline.d.ts +0 -17
- package/dist/ui/widgets/sparkline.d.ts.map +0 -1
- package/dist/ui/widgets/sparkline.js +0 -65
- package/dist/ui/widgets/sparkline.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizeController.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/resizeController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resizeController.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/resizeController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG5E;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,SAAS,EAAE,eAAe,GACzB,IAAI,CA2BN;AA0DD;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAYlD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAU9C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { logger } from './logger.js';
|
|
2
|
+
import { fileLogger } from './log.js';
|
|
2
3
|
let resizeTimer = null;
|
|
3
4
|
let pendingResize = null;
|
|
4
5
|
let stats = {
|
|
@@ -21,8 +22,21 @@ export function initResizeController(screen, onRebuild) {
|
|
|
21
22
|
stats.lastRows = screen.height;
|
|
22
23
|
// Listen for resize events
|
|
23
24
|
screen.on('resize', () => {
|
|
24
|
-
|
|
25
|
+
const cols = screen.width;
|
|
26
|
+
const rows = screen.height;
|
|
27
|
+
fileLogger.force(`[RESIZE] Resize event detected: ${cols}x${rows}`);
|
|
28
|
+
handleResize(cols, rows);
|
|
25
29
|
});
|
|
30
|
+
// CRITICAL: Check if screen size changed after initialization
|
|
31
|
+
// Sometimes blessed reports a different size after a short delay
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
const currentCols = screen.width;
|
|
34
|
+
const currentRows = screen.height;
|
|
35
|
+
if (currentCols !== stats.lastCols || currentRows !== stats.lastRows) {
|
|
36
|
+
fileLogger.force(`[RESIZE] Screen size changed after init: ${stats.lastCols}x${stats.lastRows} -> ${currentCols}x${currentRows}`);
|
|
37
|
+
handleResize(currentCols, currentRows);
|
|
38
|
+
}
|
|
39
|
+
}, 100); // Check after 100ms
|
|
26
40
|
logger.debug(`Resize controller initialized: ${stats.lastCols}x${stats.lastRows}`);
|
|
27
41
|
}
|
|
28
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizeController.js","sourceRoot":"","sources":["../../src/tui_mk1/resizeController.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resizeController.js","sourceRoot":"","sources":["../../src/tui_mk1/resizeController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdoutGuard.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/stdoutGuard.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"stdoutGuard.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/stdoutGuard.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CA6CxC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAWzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
|
|
@@ -27,6 +27,13 @@ export function enableStdoutGuard() {
|
|
|
27
27
|
if (process.env.TUI_ALLOW_STDOUT === '1') {
|
|
28
28
|
return originalStdoutWrite(chunk, encoding, callback);
|
|
29
29
|
}
|
|
30
|
+
// CRITICAL: Allow blessed's output through (it needs to write escape sequences)
|
|
31
|
+
// Check if this is from blessed by looking at the stack trace
|
|
32
|
+
const stack = new Error().stack || '';
|
|
33
|
+
if (stack.includes('blessed') || stack.includes('neo-blessed') || stack.includes('program.js')) {
|
|
34
|
+
// This is from blessed - allow it through
|
|
35
|
+
return originalStdoutWrite(chunk, encoding, callback);
|
|
36
|
+
}
|
|
30
37
|
// Block stdout - redirect to logger
|
|
31
38
|
const str = typeof chunk === 'string' ? chunk : chunk.toString();
|
|
32
39
|
const lines = str.split('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdoutGuard.js","sourceRoot":"","sources":["../../src/tui_mk1/stdoutGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,IAAI,mBAAgD,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,kBAAkB;IAC5B,CAAC;IAED,kBAAkB,GAAG,IAAI,CAAC;IAC1B,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhE,oBAAoB;IACnB,OAAO,CAAC,MAAc,CAAC,KAAK,GAAG,UAC9B,KAAU,EACV,QAAc,EACd,QAAc;QAEd,wCAAwC;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;YACzC,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,oCAAoC;QACpC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACvB,OAAO,CAAC,MAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;IACtD,CAAC;IAED,kBAAkB,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
1
|
+
{"version":3,"file":"stdoutGuard.js","sourceRoot":"","sources":["../../src/tui_mk1/stdoutGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,IAAI,mBAAgD,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,kBAAkB;IAC5B,CAAC;IAED,kBAAkB,GAAG,IAAI,CAAC;IAC1B,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhE,oBAAoB;IACnB,OAAO,CAAC,MAAc,CAAC,KAAK,GAAG,UAC9B,KAAU,EACV,QAAc,EACd,QAAc;QAEd,wCAAwC;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;YACzC,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,gFAAgF;QAChF,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/F,0CAA0C;YAC1C,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,oCAAoC;QACpC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACvB,OAAO,CAAC,MAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC;IACtD,CAAC;IAED,kBAAkB,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalRestore.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/terminalRestore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAMtD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAuBtC;
|
|
1
|
+
{"version":3,"file":"terminalRestore.d.ts","sourceRoot":"","sources":["../../src/tui_mk1/terminalRestore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAMtD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAuBtC;AA6DD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -47,26 +47,44 @@ function attachRestoreHandlers() {
|
|
|
47
47
|
restoreHandlersAttached = true;
|
|
48
48
|
// SIGINT (Ctrl+C)
|
|
49
49
|
process.on('SIGINT', () => {
|
|
50
|
+
logger.warn('SIGINT received - exiting');
|
|
50
51
|
restoreTerminal();
|
|
51
52
|
process.exit(0);
|
|
52
53
|
});
|
|
53
54
|
// SIGTERM
|
|
54
55
|
process.on('SIGTERM', () => {
|
|
56
|
+
logger.warn('SIGTERM received - exiting');
|
|
55
57
|
restoreTerminal();
|
|
56
58
|
process.exit(0);
|
|
57
59
|
});
|
|
58
60
|
// Uncaught exception
|
|
59
61
|
process.on('uncaughtException', (error) => {
|
|
60
62
|
logger.error(`Uncaught exception: ${error.message}`);
|
|
63
|
+
if (error.stack) {
|
|
64
|
+
logger.error(`Stack: ${error.stack}`);
|
|
65
|
+
}
|
|
61
66
|
restoreTerminal();
|
|
62
67
|
process.exit(1);
|
|
63
68
|
});
|
|
64
69
|
// Unhandled rejection
|
|
65
|
-
process.on('unhandledRejection', (reason) => {
|
|
70
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
66
71
|
logger.error(`Unhandled rejection: ${reason}`);
|
|
72
|
+
if (reason instanceof Error && reason.stack) {
|
|
73
|
+
logger.error(`Stack: ${reason.stack}`);
|
|
74
|
+
}
|
|
75
|
+
logger.error(`Promise: ${promise}`);
|
|
67
76
|
restoreTerminal();
|
|
68
77
|
process.exit(1);
|
|
69
78
|
});
|
|
79
|
+
// Before exit - log why we're exiting
|
|
80
|
+
process.on('beforeExit', (code) => {
|
|
81
|
+
logger.warn(`Process beforeExit event fired with code: ${code}`);
|
|
82
|
+
logger.warn('This should not happen if stdin is open - process may exit');
|
|
83
|
+
});
|
|
84
|
+
// Exit - log why we're exiting
|
|
85
|
+
process.on('exit', (code) => {
|
|
86
|
+
logger.warn(`Process exit event fired with code: ${code}`);
|
|
87
|
+
});
|
|
70
88
|
logger.debug('Terminal restore handlers attached');
|
|
71
89
|
}
|
|
72
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalRestore.js","sourceRoot":"","sources":["../../src/tui_mk1/terminalRestore.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,IAAI,MAAM,GAA0B,IAAI,CAAC;AACzC,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,CAAiB;IAC9C,MAAM,GAAG,CAAC,CAAC;IAEX,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,qBAAqB,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,8BAA8B;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wBAAwB;YAC1B,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,uBAAuB;QACvB,yBAAyB;QACzB,0BAA0B;QAC1B,8BAA8B;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAEpD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;IACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,uBAAuB,GAAG,IAAI,CAAC;IAE/B,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,UAAU;IACV,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"terminalRestore.js","sourceRoot":"","sources":["../../src/tui_mk1/terminalRestore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase B: Offender Scanner - Detect any element exceeding safe bounds
|
|
3
|
+
*
|
|
4
|
+
* Traverses screen.children recursively and logs any element where:
|
|
5
|
+
* - rightEdge >= safeCols OR
|
|
6
|
+
* - bottomEdge >= safeRows
|
|
7
|
+
*
|
|
8
|
+
* Logs to file (not stdout) to prevent log overflow from causing scrollbars.
|
|
9
|
+
*/
|
|
10
|
+
import type { Widgets } from 'neo-blessed';
|
|
11
|
+
export interface OffenderInfo {
|
|
12
|
+
type: string;
|
|
13
|
+
left: number;
|
|
14
|
+
top: number;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
rightEdge: number;
|
|
18
|
+
bottomEdge: number;
|
|
19
|
+
contentPreview: string;
|
|
20
|
+
path: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Phase B: Recursive offender scanner
|
|
24
|
+
* Traverses element tree and finds any element exceeding safe bounds
|
|
25
|
+
*/
|
|
26
|
+
export declare function scanOffenders(element: any, safeCols: number, safeRows: number, offenders?: OffenderInfo[], path?: string[]): OffenderInfo[];
|
|
27
|
+
/**
|
|
28
|
+
* Phase B: Main scanner function - logs offenders to file
|
|
29
|
+
*/
|
|
30
|
+
export declare function scanAndLogOffenders(screen: Widgets.Screen, safeCols: number, safeRows: number): OffenderInfo[];
|
|
31
|
+
//# sourceMappingURL=offenderScanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offenderScanner.d.ts","sourceRoot":"","sources":["../../../src/tui_mk1/ui/offenderScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,YAAY,EAAO,EAC9B,IAAI,GAAE,MAAM,EAAO,GAClB,YAAY,EAAE,CA0ChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,YAAY,EAAE,CA8BhB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase B: Offender Scanner - Detect any element exceeding safe bounds
|
|
3
|
+
*
|
|
4
|
+
* Traverses screen.children recursively and logs any element where:
|
|
5
|
+
* - rightEdge >= safeCols OR
|
|
6
|
+
* - bottomEdge >= safeRows
|
|
7
|
+
*
|
|
8
|
+
* Logs to file (not stdout) to prevent log overflow from causing scrollbars.
|
|
9
|
+
*/
|
|
10
|
+
import { fileLogger } from '../log.js';
|
|
11
|
+
/**
|
|
12
|
+
* Phase B: Recursive offender scanner
|
|
13
|
+
* Traverses element tree and finds any element exceeding safe bounds
|
|
14
|
+
*/
|
|
15
|
+
export function scanOffenders(element, safeCols, safeRows, offenders = [], path = []) {
|
|
16
|
+
const elType = element.type || 'unknown';
|
|
17
|
+
const elLeft = typeof element.left === 'number' ? element.left : 0;
|
|
18
|
+
const elTop = typeof element.top === 'number' ? element.top : 0;
|
|
19
|
+
const elWidth = typeof element.width === 'number' ? element.width : 0;
|
|
20
|
+
const elHeight = typeof element.height === 'number' ? element.height : 0;
|
|
21
|
+
// Phase B: Compute rightEdge = left + width - 1 (0-indexed, so right edge is at left + width - 1)
|
|
22
|
+
// Actually, in blessed, if left=0, width=10, the rightmost cell is at column 9 (0-indexed)
|
|
23
|
+
// So rightEdge = left + width (exclusive) means rightEdge = left + width - 1 (inclusive)
|
|
24
|
+
// But for overflow detection, we check if left + width > safeCols (strictly greater)
|
|
25
|
+
const rightEdge = elLeft + elWidth;
|
|
26
|
+
const bottomEdge = elTop + elHeight;
|
|
27
|
+
// Phase B: Check if this element exceeds bounds
|
|
28
|
+
if (rightEdge > safeCols || bottomEdge > safeRows) {
|
|
29
|
+
const contentPreview = typeof element.content === 'string'
|
|
30
|
+
? element.content.substring(0, 50).replace(/\n/g, '\\n')
|
|
31
|
+
: 'no-content';
|
|
32
|
+
const currentPath = [...path, elType];
|
|
33
|
+
offenders.push({
|
|
34
|
+
type: elType,
|
|
35
|
+
left: elLeft,
|
|
36
|
+
top: elTop,
|
|
37
|
+
width: elWidth,
|
|
38
|
+
height: elHeight,
|
|
39
|
+
rightEdge,
|
|
40
|
+
bottomEdge,
|
|
41
|
+
contentPreview,
|
|
42
|
+
path: currentPath,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// Phase B: Recurse into children
|
|
46
|
+
const children = element.children || [];
|
|
47
|
+
for (const child of children) {
|
|
48
|
+
scanOffenders(child, safeCols, safeRows, offenders, [...path, elType]);
|
|
49
|
+
}
|
|
50
|
+
return offenders;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Phase B: Main scanner function - logs offenders to file
|
|
54
|
+
*/
|
|
55
|
+
export function scanAndLogOffenders(screen, safeCols, safeRows) {
|
|
56
|
+
const offenders = scanOffenders(screen, safeCols, safeRows);
|
|
57
|
+
if (offenders.length > 0) {
|
|
58
|
+
fileLogger.force(`[OFFENDER_SCANNER] Found ${offenders.length} elements exceeding safe bounds (safeCols=${safeCols} safeRows=${safeRows}):`);
|
|
59
|
+
offenders.slice(0, 20).forEach((off, idx) => {
|
|
60
|
+
const exceedsCols = off.rightEdge > safeCols;
|
|
61
|
+
const exceedsRows = off.bottomEdge > safeRows;
|
|
62
|
+
const overflowCols = exceedsCols ? ` OVERFLOW COLS: rightEdge=${off.rightEdge} > safeCols=${safeCols} (exceeds by ${off.rightEdge - safeCols})` : '';
|
|
63
|
+
const overflowRows = exceedsRows ? ` OVERFLOW ROWS: bottomEdge=${off.bottomEdge} > safeRows=${safeRows} (exceeds by ${off.bottomEdge - safeRows})` : '';
|
|
64
|
+
fileLogger.force(`[OFFENDER ${idx + 1}] type=${off.type} ` +
|
|
65
|
+
`left=${off.left} top=${off.top} width=${off.width} height=${off.height} ` +
|
|
66
|
+
`rightEdge=${off.rightEdge} bottomEdge=${off.bottomEdge}` +
|
|
67
|
+
`${overflowCols}${overflowRows} ` +
|
|
68
|
+
`path=${off.path.join(' > ')} ` +
|
|
69
|
+
`content="${off.contentPreview}"`);
|
|
70
|
+
});
|
|
71
|
+
if (offenders.length > 20) {
|
|
72
|
+
fileLogger.force(`[OFFENDER_SCANNER] ... and ${offenders.length - 20} more offenders`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
fileLogger.force(`[OFFENDER_SCANNER] ✓ No offenders found - all elements within safe bounds (safeCols=${safeCols} safeRows=${safeRows})`);
|
|
77
|
+
}
|
|
78
|
+
return offenders;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=offenderScanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offenderScanner.js","sourceRoot":"","sources":["../../../src/tui_mk1/ui/offenderScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe widget helpers - prevent common neo-blessed errors
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Safely show/hide a widget
|
|
6
|
+
* neo-blessed prefers hide/show methods, not direct visible property
|
|
7
|
+
*/
|
|
8
|
+
export declare function setShown(el: any, shown: boolean): void;
|
|
9
|
+
//# sourceMappingURL=safe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../src/tui_mk1/ui/safe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAsBtD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe widget helpers - prevent common neo-blessed errors
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Safely show/hide a widget
|
|
6
|
+
* neo-blessed prefers hide/show methods, not direct visible property
|
|
7
|
+
*/
|
|
8
|
+
export function setShown(el, shown) {
|
|
9
|
+
if (!el) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
// Preferred: use show/hide methods
|
|
13
|
+
if (typeof el.show === 'function' && typeof el.hide === 'function') {
|
|
14
|
+
if (shown) {
|
|
15
|
+
el.show();
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
el.hide();
|
|
19
|
+
}
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// Fallback: use hidden property
|
|
23
|
+
if ('hidden' in el) {
|
|
24
|
+
el.hidden = !shown;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Last resort: no-op (don't crash)
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=safe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe.js","sourceRoot":"","sources":["../../../src/tui_mk1/ui/safe.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAO,EAAE,KAAc;IAC9C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnE,IAAI,KAAK,EAAE,CAAC;YACV,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACnB,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACnB,OAAO;IACT,CAAC;IAED,mCAAmC;AACrC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase C: Safe Text Helper - Kill long lines that cause scrollbars
|
|
3
|
+
*
|
|
4
|
+
* Even if layout is correct, one long line (debug banner, status, etc.)
|
|
5
|
+
* can force horizontal scrollbars in AWS CloudShell / web terminals.
|
|
6
|
+
*
|
|
7
|
+
* This helper truncates all text to safe widths.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Phase C: Truncate text to safe width with ellipsis
|
|
11
|
+
*/
|
|
12
|
+
export declare function safeText(str: string, maxWidth: number): string;
|
|
13
|
+
/**
|
|
14
|
+
* Phase C: Truncate each line in a multi-line string
|
|
15
|
+
*/
|
|
16
|
+
export declare function safeTextLines(content: string, maxWidth: number): string;
|
|
17
|
+
/**
|
|
18
|
+
* Phase C: Truncate text for a box with borders
|
|
19
|
+
* Accounts for border width and padding
|
|
20
|
+
*/
|
|
21
|
+
export declare function safeTextForBox(content: string, boxWidth: number, hasBorders?: boolean, paddingLeft?: number, paddingRight?: number): string;
|
|
22
|
+
//# sourceMappingURL=safeText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeText.d.ts","sourceRoot":"","sources":["../../../src/tui_mk1/ui/safeText.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,OAAc,EAC1B,WAAW,GAAE,MAAU,EACvB,YAAY,GAAE,MAAU,GACvB,MAAM,CAYR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase C: Safe Text Helper - Kill long lines that cause scrollbars
|
|
3
|
+
*
|
|
4
|
+
* Even if layout is correct, one long line (debug banner, status, etc.)
|
|
5
|
+
* can force horizontal scrollbars in AWS CloudShell / web terminals.
|
|
6
|
+
*
|
|
7
|
+
* This helper truncates all text to safe widths.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Phase C: Truncate text to safe width with ellipsis
|
|
11
|
+
*/
|
|
12
|
+
export function safeText(str, maxWidth) {
|
|
13
|
+
if (typeof str !== 'string') {
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
if (str.length <= maxWidth) {
|
|
17
|
+
return str;
|
|
18
|
+
}
|
|
19
|
+
// Truncate with ellipsis if needed
|
|
20
|
+
if (maxWidth <= 3) {
|
|
21
|
+
return '.'.repeat(maxWidth);
|
|
22
|
+
}
|
|
23
|
+
return str.substring(0, maxWidth - 3) + '...';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Phase C: Truncate each line in a multi-line string
|
|
27
|
+
*/
|
|
28
|
+
export function safeTextLines(content, maxWidth) {
|
|
29
|
+
if (typeof content !== 'string') {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
const lines = content.split('\n');
|
|
33
|
+
return lines.map(line => safeText(line, maxWidth)).join('\n');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Phase C: Truncate text for a box with borders
|
|
37
|
+
* Accounts for border width and padding
|
|
38
|
+
*/
|
|
39
|
+
export function safeTextForBox(content, boxWidth, hasBorders = true, paddingLeft = 0, paddingRight = 0) {
|
|
40
|
+
// Calculate internal width
|
|
41
|
+
let internalWidth = boxWidth;
|
|
42
|
+
if (hasBorders) {
|
|
43
|
+
internalWidth -= 2; // Left and right border chars (│)
|
|
44
|
+
}
|
|
45
|
+
internalWidth -= paddingLeft + paddingRight;
|
|
46
|
+
// Ensure minimum width
|
|
47
|
+
internalWidth = Math.max(1, internalWidth);
|
|
48
|
+
return safeTextLines(content, internalWidth);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=safeText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeText.js","sourceRoot":"","sources":["../../../src/tui_mk1/ui/safeText.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAgB;IAC7D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,QAAgB,EAChB,aAAsB,IAAI,EAC1B,cAAsB,CAAC,EACvB,eAAuB,CAAC;IAExB,2BAA2B;IAC3B,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,IAAI,UAAU,EAAE,CAAC;QACf,aAAa,IAAI,CAAC,CAAC,CAAC,kCAAkC;IACxD,CAAC;IACD,aAAa,IAAI,WAAW,GAAG,YAAY,CAAC;IAE5C,uBAAuB;IACvB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAE3C,OAAO,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MK1 UI Builder - Single function that creates all widgets
|
|
3
|
+
*
|
|
4
|
+
* Rules:
|
|
5
|
+
* - Only place widgets are created
|
|
6
|
+
* - All positions come from layout spec
|
|
7
|
+
* - Never hardcode positions
|
|
8
|
+
*/
|
|
9
|
+
import type { Widgets } from 'neo-blessed';
|
|
10
|
+
import type { LayoutSpec } from '../layout/layoutEngine.js';
|
|
11
|
+
export interface UIRefs {
|
|
12
|
+
rootChildren: any[];
|
|
13
|
+
header?: Widgets.Box;
|
|
14
|
+
posture?: Widgets.Box;
|
|
15
|
+
resources?: Widgets.Box;
|
|
16
|
+
assets?: Widgets.Box;
|
|
17
|
+
operations?: Widgets.Box;
|
|
18
|
+
network?: Widgets.Box;
|
|
19
|
+
capabilities?: Widgets.Box;
|
|
20
|
+
command?: Widgets.Box;
|
|
21
|
+
commandValue: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Destroy all UI widgets
|
|
25
|
+
*/
|
|
26
|
+
export declare function destroyUI(uiRefs: UIRefs | null, screen: Widgets.Screen): void;
|
|
27
|
+
/**
|
|
28
|
+
* Build UI from layout spec
|
|
29
|
+
*
|
|
30
|
+
* This is the ONLY place widgets are created.
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildUI(screen: Widgets.Screen, spec: LayoutSpec, canvas: {
|
|
33
|
+
cols: number;
|
|
34
|
+
rows: number;
|
|
35
|
+
}, commandValue?: string, gitSha?: string): UIRefs;
|
|
36
|
+
/**
|
|
37
|
+
* Update operations feed in existing UI
|
|
38
|
+
*/
|
|
39
|
+
export declare function updateOperationsFeed(uiRefs: UIRefs): void;
|
|
40
|
+
/**
|
|
41
|
+
* Update command line value
|
|
42
|
+
*/
|
|
43
|
+
export declare function updateCommandValue(uiRefs: UIRefs, value: string): void;
|
|
44
|
+
//# sourceMappingURL=uiBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uiBuilder.d.ts","sourceRoot":"","sources":["../../../src/tui_mk1/ui/uiBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CA+B7E;AAgGD;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,YAAY,GAAE,MAAW,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA+VR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAOtE"}
|