opencode-system-metrics-tui 0.1.16 → 0.1.17

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.
@@ -48,6 +48,8 @@ function hasNerdFont(platform = process.platform, home = homedir(), env = proces
48
48
  var hasHackNerdFont = hasNerdFont;
49
49
  var nerdFontIcons = {
50
50
  title: "\uDB80\uDF79",
51
+ clock: "",
52
+ calendar: "",
51
53
  cpu: "\uDB83\uDEE0",
52
54
  ram: "\uDB81\uDE1A",
53
55
  gpu: "\uDB82\uDCAE",
@@ -55,7 +57,7 @@ var nerdFontIcons = {
55
57
  thermometer: "",
56
58
  network: "\uDB81\uDEF3"
57
59
  };
58
- var unicodeIcons = { title: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
60
+ var unicodeIcons = { title: "▦", clock: "◷", calendar: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
59
61
  function getMetricIcons(useNerdFont) {
60
62
  return useNerdFont ? nerdFontIcons : unicodeIcons;
61
63
  }
package/dist/tui.js CHANGED
@@ -787,6 +787,8 @@ function hasNerdFont(platform = process.platform, home = homedir(), env = proces
787
787
  var hasHackNerdFont = hasNerdFont;
788
788
  var nerdFontIcons = {
789
789
  title: "\uDB80\uDF79",
790
+ clock: "",
791
+ calendar: "",
790
792
  cpu: "\uDB83\uDEE0",
791
793
  ram: "\uDB81\uDE1A",
792
794
  gpu: "\uDB82\uDCAE",
@@ -794,7 +796,7 @@ var nerdFontIcons = {
794
796
  thermometer: "",
795
797
  network: "\uDB81\uDEF3"
796
798
  };
797
- var unicodeIcons = { title: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
799
+ var unicodeIcons = { title: "▦", clock: "◷", calendar: "▦", cpu: "▣", ram: "▤", gpu: "◆", vram: "◈", thermometer: "♨", network: "⇅" };
798
800
  function getMetricIcons(useNerdFont) {
799
801
  return useNerdFont ? nerdFontIcons : unicodeIcons;
800
802
  }
@@ -872,9 +874,26 @@ function systemMetricsTitle() {
872
874
  pt: "Métricas do sistema"
873
875
  }[language] ?? "System metrics";
874
876
  }
877
+ function formatClockDate(date) {
878
+ return new Intl.DateTimeFormat("es-ES", {
879
+ weekday: "long",
880
+ day: "numeric",
881
+ month: "long",
882
+ year: "numeric"
883
+ }).format(date).replace(",", "");
884
+ }
875
885
  function MetricsPanel(props) {
886
+ const [clock, setClock] = createSignal(new Date);
887
+ let clockTimer;
876
888
  onMount(startMetricsPolling);
877
- onCleanup(stopMetricsPolling);
889
+ onMount(() => {
890
+ clockTimer = setInterval(() => setClock(new Date), 1000);
891
+ });
892
+ onCleanup(() => {
893
+ stopMetricsPolling();
894
+ if (clockTimer !== undefined)
895
+ clearInterval(clockTimer);
896
+ });
878
897
  const gpuMemory = createMemo(() => {
879
898
  const metrics = metricsState.sharedMetrics();
880
899
  const unified = metrics.gpuMemoryIsUnified === true;
@@ -887,112 +906,127 @@ function MetricsPanel(props) {
887
906
  };
888
907
  });
889
908
  return (() => {
890
- var _el$ = _$createElement("box"), _el$2 = _$createElement("text"), _el$3 = _$createTextNode(` `), _el$4 = _$createElement("box"), _el$5 = _$createElement("text"), _el$6 = _$createElement("text"), _el$8 = _$createElement("text"), _el$9 = _$createTextNode(` · `), _el$0 = _$createTextNode(` `), _el$1 = _$createElement("box"), _el$10 = _$createElement("text"), _el$11 = _$createElement("text"), _el$13 = _$createElement("text"), _el$14 = _$createTextNode(` / `), _el$15 = _$createTextNode(` (`), _el$16 = _$createTextNode(`)`), _el$17 = _$createElement("box"), _el$18 = _$createElement("text"), _el$19 = _$createElement("text"), _el$21 = _$createElement("text"), _el$22 = _$createTextNode(` · `), _el$23 = _$createTextNode(` `), _el$33 = _$createElement("box"), _el$34 = _$createElement("text"), _el$35 = _$createElement("text"), _el$37 = _$createElement("text"), _el$38 = _$createTextNode(`↓ `), _el$39 = _$createTextNode(` ↑ `);
909
+ var _el$ = _$createElement("box"), _el$2 = _$createElement("text"), _el$3 = _$createTextNode(` `), _el$4 = _$createElement("text"), _el$5 = _$createTextNode(` `), _el$6 = _$createElement("text"), _el$7 = _$createTextNode(` `), _el$8 = _$createElement("box"), _el$9 = _$createElement("text"), _el$0 = _$createElement("text"), _el$10 = _$createElement("text"), _el$11 = _$createTextNode(` · `), _el$12 = _$createTextNode(` `), _el$13 = _$createElement("box"), _el$14 = _$createElement("text"), _el$15 = _$createElement("text"), _el$17 = _$createElement("text"), _el$18 = _$createTextNode(` / `), _el$19 = _$createTextNode(` (`), _el$20 = _$createTextNode(`)`), _el$21 = _$createElement("box"), _el$22 = _$createElement("text"), _el$23 = _$createElement("text"), _el$25 = _$createElement("text"), _el$26 = _$createTextNode(` · `), _el$27 = _$createTextNode(` `), _el$37 = _$createElement("box"), _el$38 = _$createElement("text"), _el$39 = _$createElement("text"), _el$41 = _$createElement("text"), _el$42 = _$createTextNode(`↓ `), _el$43 = _$createTextNode(` ↑ `);
891
910
  _$insertNode(_el$, _el$2);
892
911
  _$insertNode(_el$, _el$4);
893
- _$insertNode(_el$, _el$1);
894
- _$insertNode(_el$, _el$17);
895
- _$insertNode(_el$, _el$33);
912
+ _$insertNode(_el$, _el$6);
913
+ _$insertNode(_el$, _el$8);
914
+ _$insertNode(_el$, _el$13);
915
+ _$insertNode(_el$, _el$21);
916
+ _$insertNode(_el$, _el$37);
896
917
  _$setProp(_el$, "flexDirection", "column");
897
918
  _$setProp(_el$, "paddingLeft", 0);
898
919
  _$setProp(_el$, "paddingRight", 0);
899
920
  _$insertNode(_el$2, _el$3);
900
- _$insert(_el$2, () => icons.title, _el$3);
901
- _$insert(_el$2, systemMetricsTitle, null);
921
+ _$insert(_el$2, () => icons.clock, _el$3);
922
+ _$insert(_el$2, () => clock().toLocaleTimeString(undefined, {
923
+ hour: "2-digit",
924
+ minute: "2-digit",
925
+ second: "2-digit",
926
+ hour12: false
927
+ }), null);
902
928
  _$insertNode(_el$4, _el$5);
903
- _$insertNode(_el$4, _el$6);
904
- _$insertNode(_el$4, _el$8);
905
- _$setProp(_el$4, "flexDirection", "row");
906
- _$insert(_el$5, () => icons.cpu);
907
- _$insertNode(_el$6, _$createTextNode(` CPU `));
929
+ _$insert(_el$4, () => icons.calendar, _el$5);
930
+ _$insert(_el$4, () => formatClockDate(clock()), null);
931
+ _$insertNode(_el$6, _el$7);
932
+ _$insert(_el$6, () => icons.title, _el$7);
933
+ _$insert(_el$6, systemMetricsTitle, null);
908
934
  _$insertNode(_el$8, _el$9);
909
935
  _$insertNode(_el$8, _el$0);
910
- _$insert(_el$8, () => formatPercent(metricsState.sharedMetrics().cpuPercent), _el$9);
911
- _$insert(_el$8, () => icons.thermometer, _el$0);
912
- _$insert(_el$8, () => formatTemperature(metricsState.sharedMetrics().cpuTemperatureCelsius), null);
913
- _$insertNode(_el$1, _el$10);
914
- _$insertNode(_el$1, _el$11);
915
- _$insertNode(_el$1, _el$13);
916
- _$setProp(_el$1, "flexDirection", "row");
917
- _$insert(_el$10, () => icons.ram);
918
- _$insertNode(_el$11, _$createTextNode(` RAM `));
936
+ _$insertNode(_el$8, _el$10);
937
+ _$setProp(_el$8, "flexDirection", "row");
938
+ _$insert(_el$9, () => icons.cpu);
939
+ _$insertNode(_el$0, _$createTextNode(` CPU `));
940
+ _$insertNode(_el$10, _el$11);
941
+ _$insertNode(_el$10, _el$12);
942
+ _$insert(_el$10, () => formatPercent(metricsState.sharedMetrics().cpuPercent), _el$11);
943
+ _$insert(_el$10, () => icons.thermometer, _el$12);
944
+ _$insert(_el$10, () => formatTemperature(metricsState.sharedMetrics().cpuTemperatureCelsius), null);
919
945
  _$insertNode(_el$13, _el$14);
920
946
  _$insertNode(_el$13, _el$15);
921
- _$insertNode(_el$13, _el$16);
922
- _$insert(_el$13, () => formatGiB(metricsState.sharedMetrics().memoryUsedBytes), _el$14);
923
- _$insert(_el$13, () => formatGiB(metricsState.sharedMetrics().memoryTotalBytes), _el$15);
924
- _$insert(_el$13, () => formatPercent(metricsState.sharedMetrics().memoryPercent), _el$16);
947
+ _$insertNode(_el$13, _el$17);
948
+ _$setProp(_el$13, "flexDirection", "row");
949
+ _$insert(_el$14, () => icons.ram);
950
+ _$insertNode(_el$15, _$createTextNode(` RAM `));
925
951
  _$insertNode(_el$17, _el$18);
926
952
  _$insertNode(_el$17, _el$19);
927
- _$insertNode(_el$17, _el$21);
928
- _$setProp(_el$17, "flexDirection", "row");
929
- _$insert(_el$18, () => icons.gpu);
930
- _$insertNode(_el$19, _$createTextNode(` GPU `));
953
+ _$insertNode(_el$17, _el$20);
954
+ _$insert(_el$17, () => formatGiB(metricsState.sharedMetrics().memoryUsedBytes), _el$18);
955
+ _$insert(_el$17, () => formatGiB(metricsState.sharedMetrics().memoryTotalBytes), _el$19);
956
+ _$insert(_el$17, () => formatPercent(metricsState.sharedMetrics().memoryPercent), _el$20);
931
957
  _$insertNode(_el$21, _el$22);
932
958
  _$insertNode(_el$21, _el$23);
933
- _$insert(_el$21, () => formatPercent(metricsState.sharedMetrics().gpuPercent), _el$22);
934
- _$insert(_el$21, () => icons.thermometer, _el$23);
935
- _$insert(_el$21, () => formatTemperature(metricsState.sharedMetrics().gpuTemperatureCelsius), null);
959
+ _$insertNode(_el$21, _el$25);
960
+ _$setProp(_el$21, "flexDirection", "row");
961
+ _$insert(_el$22, () => icons.gpu);
962
+ _$insertNode(_el$23, _$createTextNode(` GPU `));
963
+ _$insertNode(_el$25, _el$26);
964
+ _$insertNode(_el$25, _el$27);
965
+ _$insert(_el$25, () => formatPercent(metricsState.sharedMetrics().gpuPercent), _el$26);
966
+ _$insert(_el$25, () => icons.thermometer, _el$27);
967
+ _$insert(_el$25, () => formatTemperature(metricsState.sharedMetrics().gpuTemperatureCelsius), null);
936
968
  _$insert(_el$, _$createComponent(Show, {
937
969
  get when() {
938
970
  return metricsState.sharedMetrics().gpuMemoryIsUnified !== true;
939
971
  },
940
972
  get children() {
941
- var _el$24 = _$createElement("box"), _el$25 = _$createElement("text"), _el$26 = _$createElement("text"), _el$27 = _$createTextNode(` `), _el$28 = _$createTextNode(` `), _el$29 = _$createElement("text"), _el$30 = _$createTextNode(` / `), _el$31 = _$createTextNode(` (`), _el$32 = _$createTextNode(`)`);
942
- _$insertNode(_el$24, _el$25);
943
- _$insertNode(_el$24, _el$26);
944
- _$insertNode(_el$24, _el$29);
945
- _$setProp(_el$24, "flexDirection", "row");
946
- _$insert(_el$25, () => gpuMemory().icon);
947
- _$insertNode(_el$26, _el$27);
948
- _$insertNode(_el$26, _el$28);
949
- _$insert(_el$26, () => gpuMemory().label, _el$28);
950
- _$insertNode(_el$29, _el$30);
951
- _$insertNode(_el$29, _el$31);
952
- _$insertNode(_el$29, _el$32);
953
- _$insert(_el$29, () => formatGiB(gpuMemory().usedBytes), _el$30);
954
- _$insert(_el$29, () => formatGiB(gpuMemory().totalBytes), _el$31);
955
- _$insert(_el$29, () => formatPercent(gpuMemory().percent), _el$32);
973
+ var _el$28 = _$createElement("box"), _el$29 = _$createElement("text"), _el$30 = _$createElement("text"), _el$31 = _$createTextNode(` `), _el$32 = _$createTextNode(` `), _el$33 = _$createElement("text"), _el$34 = _$createTextNode(` / `), _el$35 = _$createTextNode(` (`), _el$36 = _$createTextNode(`)`);
974
+ _$insertNode(_el$28, _el$29);
975
+ _$insertNode(_el$28, _el$30);
976
+ _$insertNode(_el$28, _el$33);
977
+ _$setProp(_el$28, "flexDirection", "row");
978
+ _$insert(_el$29, () => gpuMemory().icon);
979
+ _$insertNode(_el$30, _el$31);
980
+ _$insertNode(_el$30, _el$32);
981
+ _$insert(_el$30, () => gpuMemory().label, _el$32);
982
+ _$insertNode(_el$33, _el$34);
983
+ _$insertNode(_el$33, _el$35);
984
+ _$insertNode(_el$33, _el$36);
985
+ _$insert(_el$33, () => formatGiB(gpuMemory().usedBytes), _el$34);
986
+ _$insert(_el$33, () => formatGiB(gpuMemory().totalBytes), _el$35);
987
+ _$insert(_el$33, () => formatPercent(gpuMemory().percent), _el$36);
956
988
  _$effect((_p$) => {
957
989
  var _v$ = props.theme.success, _v$2 = props.theme.text, _v$3 = props.theme.textMuted;
958
- _v$ !== _p$.e && (_p$.e = _$setProp(_el$25, "fg", _v$, _p$.e));
959
- _v$2 !== _p$.t && (_p$.t = _$setProp(_el$26, "fg", _v$2, _p$.t));
960
- _v$3 !== _p$.a && (_p$.a = _$setProp(_el$29, "fg", _v$3, _p$.a));
990
+ _v$ !== _p$.e && (_p$.e = _$setProp(_el$29, "fg", _v$, _p$.e));
991
+ _v$2 !== _p$.t && (_p$.t = _$setProp(_el$30, "fg", _v$2, _p$.t));
992
+ _v$3 !== _p$.a && (_p$.a = _$setProp(_el$33, "fg", _v$3, _p$.a));
961
993
  return _p$;
962
994
  }, {
963
995
  e: undefined,
964
996
  t: undefined,
965
997
  a: undefined
966
998
  });
967
- return _el$24;
999
+ return _el$28;
968
1000
  }
969
- }), _el$33);
970
- _$insertNode(_el$33, _el$34);
971
- _$insertNode(_el$33, _el$35);
972
- _$insertNode(_el$33, _el$37);
973
- _$setProp(_el$33, "flexDirection", "row");
974
- _$insert(_el$34, () => icons.network);
975
- _$insertNode(_el$35, _$createTextNode(` NET `));
1001
+ }), _el$37);
976
1002
  _$insertNode(_el$37, _el$38);
977
1003
  _$insertNode(_el$37, _el$39);
978
- _$insert(_el$37, () => formatRate(metricsState.sharedMetrics().downloadBytesPerSecond), _el$39);
979
- _$insert(_el$37, () => formatRate(metricsState.sharedMetrics().uploadBytesPerSecond), null);
1004
+ _$insertNode(_el$37, _el$41);
1005
+ _$setProp(_el$37, "flexDirection", "row");
1006
+ _$insert(_el$38, () => icons.network);
1007
+ _$insertNode(_el$39, _$createTextNode(` NET `));
1008
+ _$insertNode(_el$41, _el$42);
1009
+ _$insertNode(_el$41, _el$43);
1010
+ _$insert(_el$41, () => formatRate(metricsState.sharedMetrics().downloadBytesPerSecond), _el$43);
1011
+ _$insert(_el$41, () => formatRate(metricsState.sharedMetrics().uploadBytesPerSecond), null);
980
1012
  _$effect((_p$) => {
981
- var _v$4 = props.theme.text, _v$5 = TextAttributes.BOLD, _v$6 = props.theme.success, _v$7 = props.theme.text, _v$8 = props.theme.textMuted, _v$9 = props.theme.success, _v$0 = props.theme.text, _v$1 = props.theme.textMuted, _v$10 = props.theme.success, _v$11 = props.theme.text, _v$12 = props.theme.textMuted, _v$13 = props.theme.success, _v$14 = props.theme.text, _v$15 = props.theme.textMuted;
1013
+ var _v$4 = props.theme.textMuted, _v$5 = props.theme.textMuted, _v$6 = props.theme.text, _v$7 = TextAttributes.BOLD, _v$8 = props.theme.success, _v$9 = props.theme.text, _v$0 = props.theme.textMuted, _v$1 = props.theme.success, _v$10 = props.theme.text, _v$11 = props.theme.textMuted, _v$12 = props.theme.success, _v$13 = props.theme.text, _v$14 = props.theme.textMuted, _v$15 = props.theme.success, _v$16 = props.theme.text, _v$17 = props.theme.textMuted;
982
1014
  _v$4 !== _p$.e && (_p$.e = _$setProp(_el$2, "fg", _v$4, _p$.e));
983
- _v$5 !== _p$.t && (_p$.t = _$setProp(_el$2, "attributes", _v$5, _p$.t));
984
- _v$6 !== _p$.a && (_p$.a = _$setProp(_el$5, "fg", _v$6, _p$.a));
985
- _v$7 !== _p$.o && (_p$.o = _$setProp(_el$6, "fg", _v$7, _p$.o));
986
- _v$8 !== _p$.i && (_p$.i = _$setProp(_el$8, "fg", _v$8, _p$.i));
987
- _v$9 !== _p$.n && (_p$.n = _$setProp(_el$10, "fg", _v$9, _p$.n));
988
- _v$0 !== _p$.s && (_p$.s = _$setProp(_el$11, "fg", _v$0, _p$.s));
989
- _v$1 !== _p$.h && (_p$.h = _$setProp(_el$13, "fg", _v$1, _p$.h));
990
- _v$10 !== _p$.r && (_p$.r = _$setProp(_el$18, "fg", _v$10, _p$.r));
991
- _v$11 !== _p$.d && (_p$.d = _$setProp(_el$19, "fg", _v$11, _p$.d));
992
- _v$12 !== _p$.l && (_p$.l = _$setProp(_el$21, "fg", _v$12, _p$.l));
993
- _v$13 !== _p$.u && (_p$.u = _$setProp(_el$34, "fg", _v$13, _p$.u));
994
- _v$14 !== _p$.c && (_p$.c = _$setProp(_el$35, "fg", _v$14, _p$.c));
995
- _v$15 !== _p$.w && (_p$.w = _$setProp(_el$37, "fg", _v$15, _p$.w));
1015
+ _v$5 !== _p$.t && (_p$.t = _$setProp(_el$4, "fg", _v$5, _p$.t));
1016
+ _v$6 !== _p$.a && (_p$.a = _$setProp(_el$6, "fg", _v$6, _p$.a));
1017
+ _v$7 !== _p$.o && (_p$.o = _$setProp(_el$6, "attributes", _v$7, _p$.o));
1018
+ _v$8 !== _p$.i && (_p$.i = _$setProp(_el$9, "fg", _v$8, _p$.i));
1019
+ _v$9 !== _p$.n && (_p$.n = _$setProp(_el$0, "fg", _v$9, _p$.n));
1020
+ _v$0 !== _p$.s && (_p$.s = _$setProp(_el$10, "fg", _v$0, _p$.s));
1021
+ _v$1 !== _p$.h && (_p$.h = _$setProp(_el$14, "fg", _v$1, _p$.h));
1022
+ _v$10 !== _p$.r && (_p$.r = _$setProp(_el$15, "fg", _v$10, _p$.r));
1023
+ _v$11 !== _p$.d && (_p$.d = _$setProp(_el$17, "fg", _v$11, _p$.d));
1024
+ _v$12 !== _p$.l && (_p$.l = _$setProp(_el$22, "fg", _v$12, _p$.l));
1025
+ _v$13 !== _p$.u && (_p$.u = _$setProp(_el$23, "fg", _v$13, _p$.u));
1026
+ _v$14 !== _p$.c && (_p$.c = _$setProp(_el$25, "fg", _v$14, _p$.c));
1027
+ _v$15 !== _p$.w && (_p$.w = _$setProp(_el$38, "fg", _v$15, _p$.w));
1028
+ _v$16 !== _p$.m && (_p$.m = _$setProp(_el$39, "fg", _v$16, _p$.m));
1029
+ _v$17 !== _p$.f && (_p$.f = _$setProp(_el$41, "fg", _v$17, _p$.f));
996
1030
  return _p$;
997
1031
  }, {
998
1032
  e: undefined,
@@ -1008,7 +1042,9 @@ function MetricsPanel(props) {
1008
1042
  l: undefined,
1009
1043
  u: undefined,
1010
1044
  c: undefined,
1011
- w: undefined
1045
+ w: undefined,
1046
+ m: undefined,
1047
+ f: undefined
1012
1048
  });
1013
1049
  return _el$;
1014
1050
  })();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-system-metrics-tui",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "description": "OpenCode TUI sidebar plugin for live system metrics",
5
5
  "license": "MIT",
6
6
  "type": "module",