tuiuiu.js 0.1.1 → 0.1.4-next.2b42a16
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/README.md +100 -42
- package/dist/atoms/button.d.ts.map +1 -1
- package/dist/atoms/button.js +17 -9
- package/dist/atoms/button.js.map +1 -1
- package/dist/atoms/text-input.d.ts +2 -0
- package/dist/atoms/text-input.d.ts.map +1 -1
- package/dist/atoms/text-input.js +13 -7
- package/dist/atoms/text-input.js.map +1 -1
- package/dist/atoms/tooltip.d.ts.map +1 -1
- package/dist/atoms/tooltip.js +2 -1
- package/dist/atoms/tooltip.js.map +1 -1
- package/dist/cli/commands/help.d.ts +5 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +31 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +11 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +21 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/storybook.d.ts +5 -0
- package/dist/cli/commands/storybook.d.ts.map +1 -0
- package/dist/cli/commands/storybook.js +9 -0
- package/dist/cli/commands/storybook.js.map +1 -0
- package/dist/cli/index.d.ts +14 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/error-boundary.d.ts.map +1 -1
- package/dist/core/error-boundary.js +2 -1
- package/dist/core/error-boundary.js.map +1 -1
- package/dist/core/hotkeys.d.ts +62 -0
- package/dist/core/hotkeys.d.ts.map +1 -0
- package/dist/core/hotkeys.js +0 -0
- package/dist/core/hotkeys.js.map +1 -0
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +9 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/screen.d.ts.map +1 -1
- package/dist/core/screen.js +2 -0
- package/dist/core/screen.js.map +1 -1
- package/dist/core/theme.d.ts +79 -0
- package/dist/core/theme.d.ts.map +1 -1
- package/dist/core/theme.js +358 -0
- package/dist/core/theme.js.map +1 -1
- package/dist/design-system/data-display/index.d.ts +9 -6
- package/dist/design-system/data-display/index.d.ts.map +1 -1
- package/dist/design-system/data-display/index.js +16 -7
- package/dist/design-system/data-display/index.js.map +1 -1
- package/dist/design-system/feedback/badge.d.ts +21 -4
- package/dist/design-system/feedback/badge.d.ts.map +1 -1
- package/dist/design-system/feedback/badge.js +15 -2
- package/dist/design-system/feedback/badge.js.map +1 -1
- package/dist/design-system/forms/index.d.ts +11 -8
- package/dist/design-system/forms/index.d.ts.map +1 -1
- package/dist/design-system/forms/index.js +19 -10
- package/dist/design-system/forms/index.js.map +1 -1
- package/dist/design-system/layout/index.d.ts +7 -4
- package/dist/design-system/layout/index.d.ts.map +1 -1
- package/dist/design-system/layout/index.js +18 -6
- package/dist/design-system/layout/index.js.map +1 -1
- package/dist/design-system/media/picture.d.ts.map +1 -1
- package/dist/design-system/media/picture.js +2 -1
- package/dist/design-system/media/picture.js.map +1 -1
- package/dist/design-system/overlays/index.d.ts +6 -3
- package/dist/design-system/overlays/index.d.ts.map +1 -1
- package/dist/design-system/overlays/index.js +9 -3
- package/dist/design-system/overlays/index.js.map +1 -1
- package/dist/design-system/visual/splash-screen.d.ts.map +1 -1
- package/dist/design-system/visual/splash-screen.js +38 -18
- package/dist/design-system/visual/splash-screen.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-hotkeys.d.ts +153 -0
- package/dist/hooks/use-hotkeys.d.ts.map +1 -0
- package/dist/hooks/use-hotkeys.js +379 -0
- package/dist/hooks/use-hotkeys.js.map +1 -0
- package/dist/hooks/use-input.d.ts +2 -10
- package/dist/hooks/use-input.d.ts.map +1 -1
- package/dist/hooks/use-input.js +2 -287
- package/dist/hooks/use-input.js.map +1 -1
- package/dist/hooks/use-mouse.d.ts +5 -0
- package/dist/hooks/use-mouse.d.ts.map +1 -1
- package/dist/hooks/use-mouse.js +29 -11
- package/dist/hooks/use-mouse.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/docs-data.d.ts +31 -0
- package/dist/mcp/docs-data.d.ts.map +1 -0
- package/dist/mcp/docs-data.js +637 -0
- package/dist/mcp/docs-data.js.map +1 -0
- package/dist/mcp/index.d.ts +14 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +12 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +31 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +597 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/types.d.ts +114 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +16 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/molecules/autocomplete.d.ts.map +1 -1
- package/dist/molecules/autocomplete.js +2 -1
- package/dist/molecules/autocomplete.js.map +1 -1
- package/dist/molecules/calendar.d.ts.map +1 -1
- package/dist/molecules/calendar.js +5 -3
- package/dist/molecules/calendar.js.map +1 -1
- package/dist/molecules/data-viz/annotations.d.ts +75 -0
- package/dist/molecules/data-viz/annotations.d.ts.map +1 -0
- package/dist/molecules/data-viz/annotations.js +40 -0
- package/dist/molecules/data-viz/annotations.js.map +1 -0
- package/dist/molecules/data-viz/gantt-chart.d.ts +66 -0
- package/dist/molecules/data-viz/gantt-chart.d.ts.map +1 -0
- package/dist/molecules/data-viz/gantt-chart.js +134 -0
- package/dist/molecules/data-viz/gantt-chart.js.map +1 -0
- package/dist/molecules/data-viz/gauge.d.ts +2 -2
- package/dist/molecules/data-viz/gauge.d.ts.map +1 -1
- package/dist/molecules/data-viz/gauge.js +24 -8
- package/dist/molecules/data-viz/gauge.js.map +1 -1
- package/dist/molecules/data-viz/heatmap.d.ts +8 -2
- package/dist/molecules/data-viz/heatmap.d.ts.map +1 -1
- package/dist/molecules/data-viz/heatmap.js +41 -9
- package/dist/molecules/data-viz/heatmap.js.map +1 -1
- package/dist/molecules/data-viz/hooks.d.ts +264 -0
- package/dist/molecules/data-viz/hooks.d.ts.map +1 -0
- package/dist/molecules/data-viz/hooks.js +373 -0
- package/dist/molecules/data-viz/hooks.js.map +1 -0
- package/dist/molecules/data-viz/index.d.ts +14 -0
- package/dist/molecules/data-viz/index.d.ts.map +1 -1
- package/dist/molecules/data-viz/index.js +14 -0
- package/dist/molecules/data-viz/index.js.map +1 -1
- package/dist/molecules/data-viz/legend.d.ts +82 -0
- package/dist/molecules/data-viz/legend.d.ts.map +1 -0
- package/dist/molecules/data-viz/legend.js +146 -0
- package/dist/molecules/data-viz/legend.js.map +1 -0
- package/dist/molecules/data-viz/line-chart.d.ts.map +1 -1
- package/dist/molecules/data-viz/line-chart.js +48 -12
- package/dist/molecules/data-viz/line-chart.js.map +1 -1
- package/dist/molecules/data-viz/radar-chart.d.ts +61 -0
- package/dist/molecules/data-viz/radar-chart.d.ts.map +1 -0
- package/dist/molecules/data-viz/radar-chart.js +86 -0
- package/dist/molecules/data-viz/radar-chart.js.map +1 -0
- package/dist/molecules/data-viz/scatter-plot.d.ts +97 -0
- package/dist/molecules/data-viz/scatter-plot.d.ts.map +1 -0
- package/dist/molecules/data-viz/scatter-plot.js +205 -0
- package/dist/molecules/data-viz/scatter-plot.js.map +1 -0
- package/dist/molecules/data-viz/time-heatmap.d.ts +48 -0
- package/dist/molecules/data-viz/time-heatmap.d.ts.map +1 -0
- package/dist/molecules/data-viz/time-heatmap.js +145 -0
- package/dist/molecules/data-viz/time-heatmap.js.map +1 -0
- package/dist/molecules/select.d.ts +2 -0
- package/dist/molecules/select.d.ts.map +1 -1
- package/dist/molecules/select.js +4 -3
- package/dist/molecules/select.js.map +1 -1
- package/dist/molecules/tabs.d.ts.map +1 -1
- package/dist/molecules/tabs.js +14 -2
- package/dist/molecules/tabs.js.map +1 -1
- package/dist/organisms/command-palette.d.ts.map +1 -1
- package/dist/organisms/command-palette.js +2 -1
- package/dist/organisms/command-palette.js.map +1 -1
- package/dist/storybook/app.d.ts.map +1 -1
- package/dist/storybook/app.js +53 -44
- package/dist/storybook/app.js.map +1 -1
- package/dist/storybook/components/compare-view.d.ts.map +1 -1
- package/dist/storybook/components/compare-view.js +19 -18
- package/dist/storybook/components/compare-view.js.map +1 -1
- package/dist/storybook/components/log-viewer.d.ts.map +1 -1
- package/dist/storybook/components/log-viewer.js +9 -8
- package/dist/storybook/components/log-viewer.js.map +1 -1
- package/dist/storybook/components/preview.d.ts.map +1 -1
- package/dist/storybook/components/preview.js +34 -33
- package/dist/storybook/components/preview.js.map +1 -1
- package/dist/storybook/components/sidebar.d.ts.map +1 -1
- package/dist/storybook/components/sidebar.js +21 -20
- package/dist/storybook/components/sidebar.js.map +1 -1
- package/dist/storybook/stories/apps/index.d.ts.map +1 -1
- package/dist/storybook/stories/apps/index.js +306 -209
- package/dist/storybook/stories/apps/index.js.map +1 -1
- package/dist/storybook/stories/atoms/index.d.ts.map +1 -1
- package/dist/storybook/stories/atoms/index.js.map +1 -1
- package/dist/storybook/stories/molecules/index.d.ts +25 -0
- package/dist/storybook/stories/molecules/index.d.ts.map +1 -1
- package/dist/storybook/stories/molecules/index.js +402 -20
- package/dist/storybook/stories/molecules/index.js.map +1 -1
- package/dist/storybook/stories/organisms/index.d.ts.map +1 -1
- package/dist/storybook/stories/organisms/index.js +1 -1
- package/dist/storybook/stories/organisms/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/system-data.d.ts +73 -0
- package/dist/utils/system-data.d.ts.map +1 -0
- package/dist/utils/system-data.js +367 -0
- package/dist/utils/system-data.js.map +1 -0
- package/dist/version.d.ts +43 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +82 -0
- package/dist/version.js.map +1 -0
- package/package.json +22 -22
- package/dist/components/canvas.d.ts +0 -322
- package/dist/components/canvas.d.ts.map +0 -1
- package/dist/components/canvas.js +0 -833
- package/dist/components/canvas.js.map +0 -1
- package/dist/components/code-block.d.ts +0 -75
- package/dist/components/code-block.d.ts.map +0 -1
- package/dist/components/code-block.js +0 -322
- package/dist/components/code-block.js.map +0 -1
- package/dist/components/components.d.ts +0 -122
- package/dist/components/components.d.ts.map +0 -1
- package/dist/components/components.js +0 -151
- package/dist/components/components.js.map +0 -1
- package/dist/components/data-viz/bar-chart.d.ts +0 -167
- package/dist/components/data-viz/bar-chart.d.ts.map +0 -1
- package/dist/components/data-viz/bar-chart.js +0 -375
- package/dist/components/data-viz/bar-chart.js.map +0 -1
- package/dist/components/data-viz/gauge.d.ts +0 -163
- package/dist/components/data-viz/gauge.d.ts.map +0 -1
- package/dist/components/data-viz/gauge.js +0 -451
- package/dist/components/data-viz/gauge.js.map +0 -1
- package/dist/components/data-viz/heatmap.d.ts +0 -154
- package/dist/components/data-viz/heatmap.d.ts.map +0 -1
- package/dist/components/data-viz/heatmap.js +0 -458
- package/dist/components/data-viz/heatmap.js.map +0 -1
- package/dist/components/data-viz/index.d.ts +0 -16
- package/dist/components/data-viz/index.d.ts.map +0 -1
- package/dist/components/data-viz/index.js +0 -16
- package/dist/components/data-viz/index.js.map +0 -1
- package/dist/components/data-viz/line-chart.d.ts +0 -157
- package/dist/components/data-viz/line-chart.d.ts.map +0 -1
- package/dist/components/data-viz/line-chart.js +0 -578
- package/dist/components/data-viz/line-chart.js.map +0 -1
- package/dist/components/data-viz/sparkline.d.ts +0 -156
- package/dist/components/data-viz/sparkline.d.ts.map +0 -1
- package/dist/components/data-viz/sparkline.js +0 -325
- package/dist/components/data-viz/sparkline.js.map +0 -1
- package/dist/components/grid.d.ts +0 -234
- package/dist/components/grid.d.ts.map +0 -1
- package/dist/components/grid.js +0 -719
- package/dist/components/grid.js.map +0 -1
- package/dist/components/index.d.ts +0 -33
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -69
- package/dist/components/index.js.map +0 -1
- package/dist/components/markdown.d.ts +0 -52
- package/dist/components/markdown.d.ts.map +0 -1
- package/dist/components/markdown.js +0 -341
- package/dist/components/markdown.js.map +0 -1
- package/dist/components/modal.d.ts +0 -237
- package/dist/components/modal.d.ts.map +0 -1
- package/dist/components/modal.js +0 -396
- package/dist/components/modal.js.map +0 -1
- package/dist/components/progress-bar.d.ts +0 -89
- package/dist/components/progress-bar.d.ts.map +0 -1
- package/dist/components/progress-bar.js +0 -288
- package/dist/components/progress-bar.js.map +0 -1
- package/dist/components/select.d.ts +0 -114
- package/dist/components/select.d.ts.map +0 -1
- package/dist/components/select.js +0 -415
- package/dist/components/select.js.map +0 -1
- package/dist/components/spinner.d.ts +0 -71
- package/dist/components/spinner.d.ts.map +0 -1
- package/dist/components/spinner.js +0 -300
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/split-panel.d.ts +0 -175
- package/dist/components/split-panel.d.ts.map +0 -1
- package/dist/components/split-panel.js +0 -322
- package/dist/components/split-panel.js.map +0 -1
- package/dist/components/table.d.ts +0 -103
- package/dist/components/table.d.ts.map +0 -1
- package/dist/components/table.js +0 -359
- package/dist/components/table.js.map +0 -1
- package/dist/components/text-input.d.ts +0 -79
- package/dist/components/text-input.d.ts.map +0 -1
- package/dist/components/text-input.js +0 -332
- package/dist/components/text-input.js.map +0 -1
- package/dist/design-system/data-display/calendar.d.ts +0 -141
- package/dist/design-system/data-display/calendar.d.ts.map +0 -1
- package/dist/design-system/data-display/calendar.js +0 -524
- package/dist/design-system/data-display/calendar.js.map +0 -1
- package/dist/design-system/data-display/code-block.d.ts +0 -75
- package/dist/design-system/data-display/code-block.d.ts.map +0 -1
- package/dist/design-system/data-display/code-block.js +0 -311
- package/dist/design-system/data-display/code-block.js.map +0 -1
- package/dist/design-system/data-display/data-table.d.ts +0 -173
- package/dist/design-system/data-display/data-table.d.ts.map +0 -1
- package/dist/design-system/data-display/data-table.js +0 -428
- package/dist/design-system/data-display/data-table.js.map +0 -1
- package/dist/design-system/data-display/markdown.d.ts +0 -52
- package/dist/design-system/data-display/markdown.d.ts.map +0 -1
- package/dist/design-system/data-display/markdown.js +0 -341
- package/dist/design-system/data-display/markdown.js.map +0 -1
- package/dist/design-system/data-display/table.d.ts +0 -103
- package/dist/design-system/data-display/table.d.ts.map +0 -1
- package/dist/design-system/data-display/table.js +0 -342
- package/dist/design-system/data-display/table.js.map +0 -1
- package/dist/design-system/data-display/tree.d.ts +0 -166
- package/dist/design-system/data-display/tree.d.ts.map +0 -1
- package/dist/design-system/data-display/tree.js +0 -428
- package/dist/design-system/data-display/tree.js.map +0 -1
- package/dist/design-system/forms/autocomplete.d.ts +0 -163
- package/dist/design-system/forms/autocomplete.d.ts.map +0 -1
- package/dist/design-system/forms/autocomplete.js +0 -455
- package/dist/design-system/forms/autocomplete.js.map +0 -1
- package/dist/design-system/forms/button.d.ts +0 -106
- package/dist/design-system/forms/button.d.ts.map +0 -1
- package/dist/design-system/forms/button.js +0 -170
- package/dist/design-system/forms/button.js.map +0 -1
- package/dist/design-system/forms/multi-select.d.ts +0 -102
- package/dist/design-system/forms/multi-select.d.ts.map +0 -1
- package/dist/design-system/forms/multi-select.js +0 -309
- package/dist/design-system/forms/multi-select.js.map +0 -1
- package/dist/design-system/forms/radio-group.d.ts +0 -88
- package/dist/design-system/forms/radio-group.d.ts.map +0 -1
- package/dist/design-system/forms/radio-group.js +0 -145
- package/dist/design-system/forms/radio-group.js.map +0 -1
- package/dist/design-system/forms/select.d.ts +0 -116
- package/dist/design-system/forms/select.d.ts.map +0 -1
- package/dist/design-system/forms/select.js +0 -441
- package/dist/design-system/forms/select.js.map +0 -1
- package/dist/design-system/forms/slider.d.ts +0 -134
- package/dist/design-system/forms/slider.d.ts.map +0 -1
- package/dist/design-system/forms/slider.js +0 -314
- package/dist/design-system/forms/slider.js.map +0 -1
- package/dist/design-system/forms/switch.d.ts +0 -99
- package/dist/design-system/forms/switch.d.ts.map +0 -1
- package/dist/design-system/forms/switch.js +0 -173
- package/dist/design-system/forms/switch.js.map +0 -1
- package/dist/design-system/forms/text-input.d.ts +0 -79
- package/dist/design-system/forms/text-input.d.ts.map +0 -1
- package/dist/design-system/forms/text-input.js +0 -344
- package/dist/design-system/forms/text-input.js.map +0 -1
- package/dist/design-system/layout/collapsible.d.ts +0 -166
- package/dist/design-system/layout/collapsible.d.ts.map +0 -1
- package/dist/design-system/layout/collapsible.js +0 -286
- package/dist/design-system/layout/collapsible.js.map +0 -1
- package/dist/design-system/layout/scroll-area.d.ts +0 -188
- package/dist/design-system/layout/scroll-area.d.ts.map +0 -1
- package/dist/design-system/layout/scroll-area.js +0 -348
- package/dist/design-system/layout/scroll-area.js.map +0 -1
- package/dist/design-system/layout/split-panel.d.ts +0 -183
- package/dist/design-system/layout/split-panel.d.ts.map +0 -1
- package/dist/design-system/layout/split-panel.js +0 -323
- package/dist/design-system/layout/split-panel.js.map +0 -1
- package/dist/design-system/layout/tabs.d.ts +0 -129
- package/dist/design-system/layout/tabs.d.ts.map +0 -1
- package/dist/design-system/layout/tabs.js +0 -373
- package/dist/design-system/layout/tabs.js.map +0 -1
- package/dist/design-system/overlays/command-palette.d.ts +0 -217
- package/dist/design-system/overlays/command-palette.d.ts.map +0 -1
- package/dist/design-system/overlays/command-palette.js +0 -443
- package/dist/design-system/overlays/command-palette.js.map +0 -1
- package/dist/design-system/overlays/modal.d.ts +0 -251
- package/dist/design-system/overlays/modal.d.ts.map +0 -1
- package/dist/design-system/overlays/modal.js +0 -461
- package/dist/design-system/overlays/modal.js.map +0 -1
- package/dist/design-system/overlays/overlay-stack.d.ts +0 -200
- package/dist/design-system/overlays/overlay-stack.d.ts.map +0 -1
- package/dist/design-system/overlays/overlay-stack.js +0 -341
- package/dist/design-system/overlays/overlay-stack.js.map +0 -1
- package/dist/design-system/primitives/box.d.ts +0 -16
- package/dist/design-system/primitives/box.d.ts.map +0 -1
- package/dist/design-system/primitives/box.js +0 -23
- package/dist/design-system/primitives/box.js.map +0 -1
- package/dist/design-system/primitives/divider.d.ts +0 -52
- package/dist/design-system/primitives/divider.d.ts.map +0 -1
- package/dist/design-system/primitives/divider.js +0 -72
- package/dist/design-system/primitives/divider.js.map +0 -1
- package/dist/design-system/primitives/helpers.d.ts +0 -10
- package/dist/design-system/primitives/helpers.d.ts.map +0 -1
- package/dist/design-system/primitives/helpers.js +0 -27
- package/dist/design-system/primitives/helpers.js.map +0 -1
- package/dist/design-system/primitives/index.d.ts +0 -11
- package/dist/design-system/primitives/index.d.ts.map +0 -1
- package/dist/design-system/primitives/index.js +0 -14
- package/dist/design-system/primitives/index.js.map +0 -1
- package/dist/design-system/primitives/slot.d.ts +0 -35
- package/dist/design-system/primitives/slot.d.ts.map +0 -1
- package/dist/design-system/primitives/slot.js +0 -17
- package/dist/design-system/primitives/slot.js.map +0 -1
- package/dist/design-system/primitives/spacer.d.ts +0 -34
- package/dist/design-system/primitives/spacer.d.ts.map +0 -1
- package/dist/design-system/primitives/spacer.js +0 -53
- package/dist/design-system/primitives/spacer.js.map +0 -1
- package/dist/design-system/primitives/text.d.ts +0 -12
- package/dist/design-system/primitives/text.d.ts.map +0 -1
- package/dist/design-system/primitives/text.js +0 -25
- package/dist/design-system/primitives/text.js.map +0 -1
- package/dist/design-system/primitives/utilities.d.ts +0 -70
- package/dist/design-system/primitives/utilities.d.ts.map +0 -1
- package/dist/design-system/primitives/utilities.js +0 -56
- package/dist/design-system/primitives/utilities.js.map +0 -1
- package/dist/storybook/cli.d.ts +0 -10
- package/dist/storybook/cli.d.ts.map +0 -1
- package/dist/storybook/cli.js +0 -14
- package/dist/storybook/cli.js.map +0 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Data Reader
|
|
3
|
+
*
|
|
4
|
+
* Reads real system information from /proc filesystem on Linux.
|
|
5
|
+
* Provides CPU, memory, and process information for monitoring tools.
|
|
6
|
+
*/
|
|
7
|
+
export interface CpuStats {
|
|
8
|
+
user: number;
|
|
9
|
+
nice: number;
|
|
10
|
+
system: number;
|
|
11
|
+
idle: number;
|
|
12
|
+
iowait: number;
|
|
13
|
+
irq: number;
|
|
14
|
+
softirq: number;
|
|
15
|
+
steal: number;
|
|
16
|
+
}
|
|
17
|
+
export interface CpuUsage {
|
|
18
|
+
total: number;
|
|
19
|
+
cores: number[];
|
|
20
|
+
}
|
|
21
|
+
export interface MemoryInfo {
|
|
22
|
+
total: number;
|
|
23
|
+
used: number;
|
|
24
|
+
free: number;
|
|
25
|
+
buffers: number;
|
|
26
|
+
cached: number;
|
|
27
|
+
available: number;
|
|
28
|
+
swapTotal: number;
|
|
29
|
+
swapUsed: number;
|
|
30
|
+
swapFree: number;
|
|
31
|
+
}
|
|
32
|
+
export interface ProcessInfo {
|
|
33
|
+
pid: number;
|
|
34
|
+
name: string;
|
|
35
|
+
user: string;
|
|
36
|
+
state: string;
|
|
37
|
+
priority: number;
|
|
38
|
+
nice: number;
|
|
39
|
+
threads: number;
|
|
40
|
+
virt: number;
|
|
41
|
+
res: number;
|
|
42
|
+
shr: number;
|
|
43
|
+
cpuPercent: number;
|
|
44
|
+
memPercent: number;
|
|
45
|
+
time: string;
|
|
46
|
+
command: string;
|
|
47
|
+
}
|
|
48
|
+
export interface SystemInfo {
|
|
49
|
+
hostname: string;
|
|
50
|
+
uptime: number;
|
|
51
|
+
loadAvg: [number, number, number];
|
|
52
|
+
tasks: {
|
|
53
|
+
total: number;
|
|
54
|
+
running: number;
|
|
55
|
+
sleeping: number;
|
|
56
|
+
stopped: number;
|
|
57
|
+
zombie: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export declare function getCpuUsage(): CpuUsage;
|
|
61
|
+
export declare function getMemoryInfo(): MemoryInfo;
|
|
62
|
+
export declare function getProcessList(): ProcessInfo[];
|
|
63
|
+
/**
|
|
64
|
+
* Get system info (hostname, uptime, load average, task counts)
|
|
65
|
+
*
|
|
66
|
+
* @param processes - Optional pre-fetched process list to avoid double I/O.
|
|
67
|
+
* If not provided, will call getProcessList() internally.
|
|
68
|
+
*/
|
|
69
|
+
export declare function getSystemInfo(processes?: ProcessInfo[]): SystemInfo;
|
|
70
|
+
export declare function formatBytes(bytes: number): string;
|
|
71
|
+
export declare function formatUptime(seconds: number): string;
|
|
72
|
+
export declare function getStateDescription(state: string): string;
|
|
73
|
+
//# sourceMappingURL=system-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-data.d.ts","sourceRoot":"","sources":["../../src/utils/system-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AA4ED,wBAAgB,WAAW,IAAI,QAAQ,CAqCtC;AAMD,wBAAgB,aAAa,IAAI,UAAU,CAgD1C;AAwCD,wBAAgB,cAAc,IAAI,WAAW,EAAE,CA4H9C;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,UAAU,CAiCnE;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYzD"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Data Reader
|
|
3
|
+
*
|
|
4
|
+
* Reads real system information from /proc filesystem on Linux.
|
|
5
|
+
* Provides CPU, memory, and process information for monitoring tools.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'node:fs';
|
|
8
|
+
import * as path from 'node:path';
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// Internal State
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
let prevCpuStats = null;
|
|
13
|
+
let prevCpuCoreStats = [];
|
|
14
|
+
let prevProcessCpuTimes = new Map();
|
|
15
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
16
|
+
// File Reading Helpers
|
|
17
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
18
|
+
function readFile(filePath) {
|
|
19
|
+
try {
|
|
20
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function parseKb(value) {
|
|
27
|
+
// Parse values like "16384 kB" to bytes
|
|
28
|
+
const match = value.match(/^(\d+)\s*kB?$/i);
|
|
29
|
+
return match ? parseInt(match[1], 10) * 1024 : 0;
|
|
30
|
+
}
|
|
31
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
32
|
+
// CPU Stats
|
|
33
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
34
|
+
function parseCpuLine(line) {
|
|
35
|
+
const parts = line.trim().split(/\s+/);
|
|
36
|
+
if (parts.length < 8)
|
|
37
|
+
return null;
|
|
38
|
+
return {
|
|
39
|
+
user: parseInt(parts[1], 10) || 0,
|
|
40
|
+
nice: parseInt(parts[2], 10) || 0,
|
|
41
|
+
system: parseInt(parts[3], 10) || 0,
|
|
42
|
+
idle: parseInt(parts[4], 10) || 0,
|
|
43
|
+
iowait: parseInt(parts[5], 10) || 0,
|
|
44
|
+
irq: parseInt(parts[6], 10) || 0,
|
|
45
|
+
softirq: parseInt(parts[7], 10) || 0,
|
|
46
|
+
steal: parseInt(parts[8], 10) || 0,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function calculateCpuPercent(prev, curr) {
|
|
50
|
+
const prevTotal = prev.user +
|
|
51
|
+
prev.nice +
|
|
52
|
+
prev.system +
|
|
53
|
+
prev.idle +
|
|
54
|
+
prev.iowait +
|
|
55
|
+
prev.irq +
|
|
56
|
+
prev.softirq +
|
|
57
|
+
prev.steal;
|
|
58
|
+
const currTotal = curr.user +
|
|
59
|
+
curr.nice +
|
|
60
|
+
curr.system +
|
|
61
|
+
curr.idle +
|
|
62
|
+
curr.iowait +
|
|
63
|
+
curr.irq +
|
|
64
|
+
curr.softirq +
|
|
65
|
+
curr.steal;
|
|
66
|
+
const totalDiff = currTotal - prevTotal;
|
|
67
|
+
const idleDiff = curr.idle - prev.idle;
|
|
68
|
+
if (totalDiff === 0)
|
|
69
|
+
return 0;
|
|
70
|
+
return Math.round(((totalDiff - idleDiff) / totalDiff) * 100);
|
|
71
|
+
}
|
|
72
|
+
export function getCpuUsage() {
|
|
73
|
+
const content = readFile('/proc/stat');
|
|
74
|
+
if (!content) {
|
|
75
|
+
return { total: 0, cores: [] };
|
|
76
|
+
}
|
|
77
|
+
const lines = content.split('\n');
|
|
78
|
+
const cpuLines = lines.filter(line => line.startsWith('cpu'));
|
|
79
|
+
// First line is aggregate CPU
|
|
80
|
+
const totalLine = cpuLines[0];
|
|
81
|
+
const currTotal = parseCpuLine(totalLine);
|
|
82
|
+
// Core lines
|
|
83
|
+
const coreLines = cpuLines.slice(1).filter(line => /^cpu\d+/.test(line));
|
|
84
|
+
const currCores = coreLines.map(parseCpuLine).filter((s) => s !== null);
|
|
85
|
+
let total = 0;
|
|
86
|
+
const cores = [];
|
|
87
|
+
if (currTotal && prevCpuStats) {
|
|
88
|
+
total = calculateCpuPercent(prevCpuStats, currTotal);
|
|
89
|
+
}
|
|
90
|
+
for (let i = 0; i < currCores.length; i++) {
|
|
91
|
+
if (prevCpuCoreStats[i]) {
|
|
92
|
+
cores.push(calculateCpuPercent(prevCpuCoreStats[i], currCores[i]));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
cores.push(0);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Store for next call
|
|
99
|
+
if (currTotal)
|
|
100
|
+
prevCpuStats = currTotal;
|
|
101
|
+
prevCpuCoreStats = currCores;
|
|
102
|
+
return { total, cores };
|
|
103
|
+
}
|
|
104
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
105
|
+
// Memory Stats
|
|
106
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
107
|
+
export function getMemoryInfo() {
|
|
108
|
+
const content = readFile('/proc/meminfo');
|
|
109
|
+
if (!content) {
|
|
110
|
+
return {
|
|
111
|
+
total: 0,
|
|
112
|
+
used: 0,
|
|
113
|
+
free: 0,
|
|
114
|
+
buffers: 0,
|
|
115
|
+
cached: 0,
|
|
116
|
+
available: 0,
|
|
117
|
+
swapTotal: 0,
|
|
118
|
+
swapUsed: 0,
|
|
119
|
+
swapFree: 0,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
const info = {};
|
|
123
|
+
const lines = content.split('\n');
|
|
124
|
+
for (const line of lines) {
|
|
125
|
+
const match = line.match(/^(\w+):\s+(.+)$/);
|
|
126
|
+
if (match) {
|
|
127
|
+
info[match[1]] = parseKb(match[2]);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const total = info['MemTotal'] || 0;
|
|
131
|
+
const free = info['MemFree'] || 0;
|
|
132
|
+
const buffers = info['Buffers'] || 0;
|
|
133
|
+
const cached = info['Cached'] || 0;
|
|
134
|
+
const available = info['MemAvailable'] || free + buffers + cached;
|
|
135
|
+
const used = total - available;
|
|
136
|
+
const swapTotal = info['SwapTotal'] || 0;
|
|
137
|
+
const swapFree = info['SwapFree'] || 0;
|
|
138
|
+
const swapUsed = swapTotal - swapFree;
|
|
139
|
+
return {
|
|
140
|
+
total,
|
|
141
|
+
used,
|
|
142
|
+
free,
|
|
143
|
+
buffers,
|
|
144
|
+
cached,
|
|
145
|
+
available,
|
|
146
|
+
swapTotal,
|
|
147
|
+
swapUsed,
|
|
148
|
+
swapFree,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
152
|
+
// Process Stats
|
|
153
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
154
|
+
function getUidUsername() {
|
|
155
|
+
const content = readFile('/etc/passwd');
|
|
156
|
+
const map = new Map();
|
|
157
|
+
if (content) {
|
|
158
|
+
for (const line of content.split('\n')) {
|
|
159
|
+
const parts = line.split(':');
|
|
160
|
+
if (parts.length >= 3) {
|
|
161
|
+
const username = parts[0];
|
|
162
|
+
const uid = parseInt(parts[2], 10);
|
|
163
|
+
map.set(uid, username);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return map;
|
|
168
|
+
}
|
|
169
|
+
function formatCpuTime(totalSeconds) {
|
|
170
|
+
const hours = Math.floor(totalSeconds / 3600);
|
|
171
|
+
const minutes = Math.floor((totalSeconds % 3600) / 60);
|
|
172
|
+
const seconds = Math.floor(totalSeconds % 60);
|
|
173
|
+
if (hours > 0) {
|
|
174
|
+
return `${hours}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
|
|
175
|
+
}
|
|
176
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
177
|
+
}
|
|
178
|
+
function getClockTicks() {
|
|
179
|
+
// sysconf(_SC_CLK_TCK) is typically 100 on Linux
|
|
180
|
+
return 100;
|
|
181
|
+
}
|
|
182
|
+
export function getProcessList() {
|
|
183
|
+
const procDir = '/proc';
|
|
184
|
+
const processes = [];
|
|
185
|
+
const uidMap = getUidUsername();
|
|
186
|
+
const clockTicks = getClockTicks();
|
|
187
|
+
const memInfo = getMemoryInfo();
|
|
188
|
+
const now = Date.now();
|
|
189
|
+
let entries;
|
|
190
|
+
try {
|
|
191
|
+
entries = fs.readdirSync(procDir);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return [];
|
|
195
|
+
}
|
|
196
|
+
// Filter to only numeric (PID) directories
|
|
197
|
+
const pidDirs = entries.filter(e => /^\d+$/.test(e));
|
|
198
|
+
for (const pidStr of pidDirs) {
|
|
199
|
+
const pid = parseInt(pidStr, 10);
|
|
200
|
+
const pidPath = path.join(procDir, pidStr);
|
|
201
|
+
try {
|
|
202
|
+
// Read /proc/[pid]/stat
|
|
203
|
+
const statContent = readFile(path.join(pidPath, 'stat'))?.trim();
|
|
204
|
+
if (!statContent)
|
|
205
|
+
continue;
|
|
206
|
+
// Parse stat - format: pid (comm) state ppid pgrp session tty_nr tpgid flags
|
|
207
|
+
// minflt cminflt majflt cmajflt utime stime cutime cstime priority nice
|
|
208
|
+
// num_threads itrealvalue starttime vsize rss ...
|
|
209
|
+
const statMatch = statContent.match(/^(\d+)\s+\((.+?)\)\s+(\S)\s+(.+)$/);
|
|
210
|
+
if (!statMatch)
|
|
211
|
+
continue;
|
|
212
|
+
const name = statMatch[2];
|
|
213
|
+
const state = statMatch[3];
|
|
214
|
+
const restFields = statMatch[4].split(/\s+/);
|
|
215
|
+
// Fields after (comm) state:
|
|
216
|
+
// 0: ppid, 1: pgrp, 2: session, 3: tty_nr, 4: tpgid, 5: flags
|
|
217
|
+
// 6: minflt, 7: cminflt, 8: majflt, 9: cmajflt
|
|
218
|
+
// 10: utime, 11: stime, 12: cutime, 13: cstime
|
|
219
|
+
// 14: priority, 15: nice, 16: num_threads
|
|
220
|
+
// 17: itrealvalue, 18: starttime
|
|
221
|
+
// 19: vsize, 20: rss
|
|
222
|
+
const utime = parseInt(restFields[10], 10) || 0;
|
|
223
|
+
const stime = parseInt(restFields[11], 10) || 0;
|
|
224
|
+
const priority = parseInt(restFields[14], 10) || 0;
|
|
225
|
+
const nice = parseInt(restFields[15], 10) || 0;
|
|
226
|
+
const threads = parseInt(restFields[16], 10) || 1;
|
|
227
|
+
const vsize = (parseInt(restFields[19], 10) || 0) / 1024; // bytes to KB
|
|
228
|
+
const rss = ((parseInt(restFields[20], 10) || 0) * 4096) / 1024; // pages to KB
|
|
229
|
+
// Calculate CPU percentage
|
|
230
|
+
let cpuPercent = 0;
|
|
231
|
+
const prevTimes = prevProcessCpuTimes.get(pid);
|
|
232
|
+
if (prevTimes) {
|
|
233
|
+
const timeDiff = (now - prevTimes.timestamp) / 1000; // seconds
|
|
234
|
+
const cpuTimeDiff = (utime + stime - prevTimes.utime - prevTimes.stime) / clockTicks;
|
|
235
|
+
if (timeDiff > 0) {
|
|
236
|
+
cpuPercent = Math.min(100, (cpuTimeDiff / timeDiff) * 100);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
prevProcessCpuTimes.set(pid, { utime, stime, timestamp: now });
|
|
240
|
+
// Calculate memory percentage
|
|
241
|
+
const memPercent = memInfo.total > 0 ? (rss * 1024 * 100) / memInfo.total : 0;
|
|
242
|
+
// Format CPU time
|
|
243
|
+
const totalCpuSeconds = (utime + stime) / clockTicks;
|
|
244
|
+
const time = formatCpuTime(totalCpuSeconds);
|
|
245
|
+
// Read /proc/[pid]/status for UID and shared memory
|
|
246
|
+
const statusContent = readFile(path.join(pidPath, 'status'));
|
|
247
|
+
let uid = 0;
|
|
248
|
+
let shr = 0;
|
|
249
|
+
if (statusContent) {
|
|
250
|
+
const uidMatch = statusContent.match(/^Uid:\s+(\d+)/m);
|
|
251
|
+
if (uidMatch)
|
|
252
|
+
uid = parseInt(uidMatch[1], 10);
|
|
253
|
+
const rssSharedMatch = statusContent.match(/^RssShmem:\s+(\d+)\s+kB/m);
|
|
254
|
+
if (rssSharedMatch)
|
|
255
|
+
shr = parseInt(rssSharedMatch[1], 10);
|
|
256
|
+
}
|
|
257
|
+
const user = uidMap.get(uid) || uid.toString();
|
|
258
|
+
// Read /proc/[pid]/cmdline for full command
|
|
259
|
+
const cmdlineContent = readFile(path.join(pidPath, 'cmdline'));
|
|
260
|
+
const command = cmdlineContent
|
|
261
|
+
? cmdlineContent.replace(/\0/g, ' ').trim() || name
|
|
262
|
+
: name;
|
|
263
|
+
processes.push({
|
|
264
|
+
pid,
|
|
265
|
+
name,
|
|
266
|
+
user,
|
|
267
|
+
state,
|
|
268
|
+
priority,
|
|
269
|
+
nice,
|
|
270
|
+
threads,
|
|
271
|
+
virt: Math.round(vsize),
|
|
272
|
+
res: Math.round(rss),
|
|
273
|
+
shr: Math.round(shr),
|
|
274
|
+
cpuPercent: Math.round(cpuPercent * 10) / 10,
|
|
275
|
+
memPercent: Math.round(memPercent * 10) / 10,
|
|
276
|
+
time,
|
|
277
|
+
command,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
// Process may have exited, skip it
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Clean up old process CPU times
|
|
286
|
+
const currentPids = new Set(processes.map(p => p.pid));
|
|
287
|
+
for (const pid of prevProcessCpuTimes.keys()) {
|
|
288
|
+
if (!currentPids.has(pid)) {
|
|
289
|
+
prevProcessCpuTimes.delete(pid);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return processes;
|
|
293
|
+
}
|
|
294
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
295
|
+
// System Info
|
|
296
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
297
|
+
/**
|
|
298
|
+
* Get system info (hostname, uptime, load average, task counts)
|
|
299
|
+
*
|
|
300
|
+
* @param processes - Optional pre-fetched process list to avoid double I/O.
|
|
301
|
+
* If not provided, will call getProcessList() internally.
|
|
302
|
+
*/
|
|
303
|
+
export function getSystemInfo(processes) {
|
|
304
|
+
// Hostname
|
|
305
|
+
const hostname = readFile('/etc/hostname')?.trim() || 'unknown';
|
|
306
|
+
// Uptime
|
|
307
|
+
const uptimeContent = readFile('/proc/uptime');
|
|
308
|
+
const uptime = uptimeContent ? parseFloat(uptimeContent.split(' ')[0]) : 0;
|
|
309
|
+
// Load average
|
|
310
|
+
const loadContent = readFile('/proc/loadavg');
|
|
311
|
+
const loadParts = loadContent?.split(' ') || [];
|
|
312
|
+
const loadAvg = [
|
|
313
|
+
parseFloat(loadParts[0]) || 0,
|
|
314
|
+
parseFloat(loadParts[1]) || 0,
|
|
315
|
+
parseFloat(loadParts[2]) || 0,
|
|
316
|
+
];
|
|
317
|
+
// Task counts from processes (reuse if provided, otherwise fetch)
|
|
318
|
+
const procs = processes ?? getProcessList();
|
|
319
|
+
const tasks = {
|
|
320
|
+
total: procs.length,
|
|
321
|
+
running: procs.filter(p => p.state === 'R').length,
|
|
322
|
+
sleeping: procs.filter(p => p.state === 'S' || p.state === 'D').length,
|
|
323
|
+
stopped: procs.filter(p => p.state === 'T').length,
|
|
324
|
+
zombie: procs.filter(p => p.state === 'Z').length,
|
|
325
|
+
};
|
|
326
|
+
return {
|
|
327
|
+
hostname,
|
|
328
|
+
uptime,
|
|
329
|
+
loadAvg,
|
|
330
|
+
tasks,
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
334
|
+
// Formatted Helpers
|
|
335
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
336
|
+
export function formatBytes(bytes) {
|
|
337
|
+
if (bytes < 1024)
|
|
338
|
+
return `${bytes}B`;
|
|
339
|
+
if (bytes < 1024 * 1024)
|
|
340
|
+
return `${(bytes / 1024).toFixed(1)}K`;
|
|
341
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
342
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)}M`;
|
|
343
|
+
return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)}G`;
|
|
344
|
+
}
|
|
345
|
+
export function formatUptime(seconds) {
|
|
346
|
+
const days = Math.floor(seconds / 86400);
|
|
347
|
+
const hours = Math.floor((seconds % 86400) / 3600);
|
|
348
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
349
|
+
if (days > 0) {
|
|
350
|
+
return `${days} days, ${hours}:${minutes.toString().padStart(2, '0')}`;
|
|
351
|
+
}
|
|
352
|
+
return `${hours}:${minutes.toString().padStart(2, '0')}`;
|
|
353
|
+
}
|
|
354
|
+
export function getStateDescription(state) {
|
|
355
|
+
const states = {
|
|
356
|
+
R: 'Running',
|
|
357
|
+
S: 'Sleeping',
|
|
358
|
+
D: 'Disk sleep',
|
|
359
|
+
Z: 'Zombie',
|
|
360
|
+
T: 'Stopped',
|
|
361
|
+
t: 'Tracing stop',
|
|
362
|
+
X: 'Dead',
|
|
363
|
+
I: 'Idle',
|
|
364
|
+
};
|
|
365
|
+
return states[state] || state;
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=system-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-data.js","sourceRoot":"","sources":["../../src/utils/system-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version information for Tuiuiu
|
|
3
|
+
*
|
|
4
|
+
* This module provides version information that can be used by:
|
|
5
|
+
* - CLI (tuiuiu --version)
|
|
6
|
+
* - Library consumers (tuiuiu.version)
|
|
7
|
+
* - Splash screens, about dialogs, etc.
|
|
8
|
+
*
|
|
9
|
+
* The VERSION constant below is automatically updated during the npm publish
|
|
10
|
+
* process via the prepublishOnly script. During development, it falls back
|
|
11
|
+
* to reading from package.json.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Get the current Tuiuiu version
|
|
15
|
+
* In production: uses the injected VERSION constant
|
|
16
|
+
* In development: reads from package.json
|
|
17
|
+
*/
|
|
18
|
+
export declare function getVersion(): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Synchronous version getter
|
|
21
|
+
* Returns cached version or the injected constant
|
|
22
|
+
* Note: May return placeholder if called before getVersion() in development
|
|
23
|
+
*/
|
|
24
|
+
export declare function getVersionSync(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Version info object with additional metadata
|
|
27
|
+
*/
|
|
28
|
+
export interface VersionInfo {
|
|
29
|
+
version: string;
|
|
30
|
+
name: string;
|
|
31
|
+
nodeVersion: string;
|
|
32
|
+
platform: string;
|
|
33
|
+
arch: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get detailed version information
|
|
37
|
+
*/
|
|
38
|
+
export declare function getVersionInfo(): Promise<VersionInfo>;
|
|
39
|
+
/**
|
|
40
|
+
* Format version info for CLI output
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatVersionInfo(verbose?: boolean): Promise<string>;
|
|
43
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAU3D;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAYxE"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version information for Tuiuiu
|
|
3
|
+
*
|
|
4
|
+
* This module provides version information that can be used by:
|
|
5
|
+
* - CLI (tuiuiu --version)
|
|
6
|
+
* - Library consumers (tuiuiu.version)
|
|
7
|
+
* - Splash screens, about dialogs, etc.
|
|
8
|
+
*
|
|
9
|
+
* The VERSION constant below is automatically updated during the npm publish
|
|
10
|
+
* process via the prepublishOnly script. During development, it falls back
|
|
11
|
+
* to reading from package.json.
|
|
12
|
+
*/
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// VERSION CONSTANT - Updated automatically during publish
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// This line is auto-updated by scripts/inject-version.js during prepublishOnly
|
|
17
|
+
const VERSION = '0.1.4-next.2b42a16';
|
|
18
|
+
// Cached version after first load
|
|
19
|
+
let _version = null;
|
|
20
|
+
/**
|
|
21
|
+
* Get the current Tuiuiu version
|
|
22
|
+
* In production: uses the injected VERSION constant
|
|
23
|
+
* In development: reads from package.json
|
|
24
|
+
*/
|
|
25
|
+
export async function getVersion() {
|
|
26
|
+
if (_version)
|
|
27
|
+
return _version;
|
|
28
|
+
// If VERSION was injected during build, use it
|
|
29
|
+
if (VERSION !== '__INJECT_VERSION__') {
|
|
30
|
+
_version = VERSION;
|
|
31
|
+
return _version;
|
|
32
|
+
}
|
|
33
|
+
// Development fallback: read from package.json
|
|
34
|
+
try {
|
|
35
|
+
const pkg = await import('../package.json', { with: { type: 'json' } });
|
|
36
|
+
_version = pkg.default?.version || '0.0.0-dev';
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
_version = '0.0.0-dev';
|
|
40
|
+
}
|
|
41
|
+
return _version;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Synchronous version getter
|
|
45
|
+
* Returns cached version or the injected constant
|
|
46
|
+
* Note: May return placeholder if called before getVersion() in development
|
|
47
|
+
*/
|
|
48
|
+
export function getVersionSync() {
|
|
49
|
+
if (_version)
|
|
50
|
+
return _version;
|
|
51
|
+
if (VERSION !== '__INJECT_VERSION__')
|
|
52
|
+
return VERSION;
|
|
53
|
+
return '0.0.0-dev';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get detailed version information
|
|
57
|
+
*/
|
|
58
|
+
export async function getVersionInfo() {
|
|
59
|
+
const version = await getVersion();
|
|
60
|
+
return {
|
|
61
|
+
version,
|
|
62
|
+
name: 'tuiuiu.js',
|
|
63
|
+
nodeVersion: process.version,
|
|
64
|
+
platform: process.platform,
|
|
65
|
+
arch: process.arch,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Format version info for CLI output
|
|
70
|
+
*/
|
|
71
|
+
export async function formatVersionInfo(verbose = false) {
|
|
72
|
+
const info = await getVersionInfo();
|
|
73
|
+
if (verbose) {
|
|
74
|
+
return [
|
|
75
|
+
`tuiuiu/${info.version}`,
|
|
76
|
+
`node/${info.nodeVersion.replace('v', '')}`,
|
|
77
|
+
`${info.platform}/${info.arch}`,
|
|
78
|
+
].join(' ');
|
|
79
|
+
}
|
|
80
|
+
return info.version;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,gFAAgF;AAChF,0DAA0D;AAC1D,gFAAgF;AAChF,+EAA+E;AAC/E,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC,kCAAkC;AAClC,IAAI,QAAQ,GAAkB,IAAI,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,+CAA+C;IAC/C,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;QACrC,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAqC,CAAC;QAC5G,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,WAAW,CAAC;IACzB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,OAAO,KAAK,oBAAoB;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,WAAW,CAAC;AACrB,CAAC;AAaD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IAEnC,OAAO;QACL,OAAO;QACP,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAO,GAAG,KAAK;IACrD,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,UAAU,IAAI,CAAC,OAAO,EAAE;YACxB,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC3C,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;SAChC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC"}
|