codex-devtools 0.1.10 → 0.2.0

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.
@@ -573,6 +573,9 @@ video {
573
573
  .inline {
574
574
  display: inline;
575
575
  }
576
+ .table {
577
+ display: table;
578
+ }
576
579
  .transform {
577
580
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
578
581
  }
@@ -943,24 +946,194 @@ select {
943
946
  }
944
947
 
945
948
  .dashboard-shell,
946
- .settings-shell {
949
+ .settings-shell,
950
+ .stats-shell {
947
951
  max-width: 980px;
948
952
  margin: 0 auto;
949
953
  padding: 24px;
950
954
  }
951
955
 
952
956
  .dashboard-header h2,
953
- .settings-header h2 {
957
+ .settings-header h2,
958
+ .stats-header h2 {
954
959
  margin: 0;
955
960
  font-size: 1.25rem;
956
961
  }
957
962
 
958
963
  .dashboard-header p,
959
- .settings-header p {
964
+ .settings-header p,
965
+ .stats-header p {
960
966
  margin: 6px 0 0;
961
967
  color: var(--text-muted);
962
968
  }
963
969
 
970
+ .stats-controls {
971
+ margin-top: 16px;
972
+ border: 1px solid var(--border-subtle);
973
+ background: linear-gradient(145deg, rgba(59, 130, 246, 0.08), transparent 35%), var(--bg-panel);
974
+ border-radius: 12px;
975
+ padding: 14px;
976
+ display: grid;
977
+ gap: 8px;
978
+ }
979
+
980
+ .stats-error {
981
+ margin: 12px 0 0;
982
+ color: #fca5a5;
983
+ border: 1px solid rgba(239, 68, 68, 0.38);
984
+ border-radius: 10px;
985
+ padding: 10px 12px;
986
+ background: rgba(127, 29, 29, 0.18);
987
+ }
988
+
989
+ .stats-kpi-grid {
990
+ margin-top: 16px;
991
+ display: grid;
992
+ gap: 12px;
993
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
994
+ }
995
+
996
+ .stats-section {
997
+ margin-top: 16px;
998
+ border: 1px solid var(--border-subtle);
999
+ background: var(--bg-panel);
1000
+ border-radius: 12px;
1001
+ padding: 14px;
1002
+ }
1003
+
1004
+ .stats-section-header {
1005
+ display: flex;
1006
+ justify-content: space-between;
1007
+ align-items: baseline;
1008
+ gap: 10px;
1009
+ margin-bottom: 12px;
1010
+ }
1011
+
1012
+ .stats-section-header h3 {
1013
+ margin: 0;
1014
+ font-size: 0.95rem;
1015
+ }
1016
+
1017
+ .stats-section-subtle {
1018
+ color: var(--text-muted);
1019
+ font-size: 0.75rem;
1020
+ text-transform: uppercase;
1021
+ letter-spacing: 0.06em;
1022
+ }
1023
+
1024
+ .stats-day-list {
1025
+ list-style: none;
1026
+ margin: 0;
1027
+ padding: 0;
1028
+ display: grid;
1029
+ gap: 8px;
1030
+ }
1031
+
1032
+ .stats-day-row {
1033
+ display: grid;
1034
+ gap: 10px;
1035
+ align-items: center;
1036
+ grid-template-columns: 94px minmax(0, 1fr) 86px;
1037
+ }
1038
+
1039
+ .stats-day-label,
1040
+ .stats-day-value {
1041
+ color: var(--text-secondary);
1042
+ font-family: var(--font-mono);
1043
+ font-size: 0.76rem;
1044
+ }
1045
+
1046
+ .stats-day-value {
1047
+ text-align: right;
1048
+ }
1049
+
1050
+ .stats-day-bar-wrap {
1051
+ height: 10px;
1052
+ border-radius: 999px;
1053
+ background: rgba(59, 130, 246, 0.14);
1054
+ border: 1px solid rgba(59, 130, 246, 0.28);
1055
+ overflow: hidden;
1056
+ }
1057
+
1058
+ .stats-day-bar {
1059
+ height: 100%;
1060
+ border-radius: inherit;
1061
+ background: linear-gradient(90deg, rgba(59, 130, 246, 0.8), rgba(56, 189, 248, 0.85));
1062
+ }
1063
+
1064
+ .stats-grid-2 {
1065
+ display: grid;
1066
+ gap: 12px;
1067
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1068
+ }
1069
+
1070
+ .stats-top-list {
1071
+ list-style: none;
1072
+ margin: 0;
1073
+ padding: 0;
1074
+ display: grid;
1075
+ gap: 8px;
1076
+ }
1077
+
1078
+ .stats-top-item {
1079
+ display: flex;
1080
+ justify-content: space-between;
1081
+ gap: 10px;
1082
+ font-size: 0.84rem;
1083
+ color: var(--text-secondary);
1084
+ }
1085
+
1086
+ .stats-heatmap-grid {
1087
+ display: grid;
1088
+ gap: 8px;
1089
+ grid-template-columns: repeat(12, minmax(0, 1fr));
1090
+ }
1091
+
1092
+ .stats-heat-cell {
1093
+ border: 1px solid rgba(59, 130, 246, 0.24);
1094
+ border-radius: 8px;
1095
+ min-height: 56px;
1096
+ display: grid;
1097
+ gap: 4px;
1098
+ align-content: center;
1099
+ justify-items: center;
1100
+ padding: 6px 4px;
1101
+ }
1102
+
1103
+ .stats-heat-cell span {
1104
+ font-size: 0.68rem;
1105
+ color: var(--text-secondary);
1106
+ font-family: var(--font-mono);
1107
+ }
1108
+
1109
+ .stats-heat-cell strong {
1110
+ font-size: 0.76rem;
1111
+ }
1112
+
1113
+ .stats-table-wrap {
1114
+ overflow: auto;
1115
+ }
1116
+
1117
+ .stats-table {
1118
+ width: 100%;
1119
+ border-collapse: collapse;
1120
+ font-size: 0.8rem;
1121
+ }
1122
+
1123
+ .stats-table th,
1124
+ .stats-table td {
1125
+ padding: 7px 8px;
1126
+ border-bottom: 1px solid var(--border-subtle);
1127
+ text-align: left;
1128
+ }
1129
+
1130
+ .stats-table th {
1131
+ font-size: 0.72rem;
1132
+ color: var(--text-muted);
1133
+ text-transform: uppercase;
1134
+ letter-spacing: 0.06em;
1135
+ }
1136
+
964
1137
  .dashboard-stats {
965
1138
  display: grid;
966
1139
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
@@ -1200,6 +1373,24 @@ select {
1200
1373
  max-width: 100%;
1201
1374
  overflow-x: auto;
1202
1375
  }
1376
+
1377
+ .stats-grid-2 {
1378
+ grid-template-columns: 1fr;
1379
+ }
1380
+
1381
+ .stats-heatmap-grid {
1382
+ grid-template-columns: repeat(6, minmax(0, 1fr));
1383
+ }
1384
+
1385
+ .stats-day-row {
1386
+ grid-template-columns: 76px minmax(0, 1fr) 74px;
1387
+ gap: 8px;
1388
+ }
1389
+
1390
+ .chat-session-token-strip {
1391
+ flex-wrap: wrap;
1392
+ gap: 8px;
1393
+ }
1203
1394
  }
1204
1395
 
1205
1396
  .chat-shell {
@@ -1671,15 +1862,23 @@ select {
1671
1862
  justify-content: space-between;
1672
1863
  align-items: center;
1673
1864
  gap: 10px;
1865
+ width: 100%;
1866
+ border: 0;
1867
+ background: transparent;
1868
+ text-align: left;
1869
+ font: inherit;
1674
1870
  padding: 8px 10px;
1675
1871
  cursor: pointer;
1676
1872
  color: var(--text-secondary);
1677
1873
  font-size: 0.78rem;
1678
- list-style: none;
1874
+ -webkit-appearance: none;
1875
+ -moz-appearance: none;
1876
+ appearance: none;
1679
1877
  }
1680
1878
 
1681
- .chat-system-prelude-summary::-webkit-details-marker {
1682
- display: none;
1879
+ .chat-system-prelude-summary:focus-visible {
1880
+ outline: 2px solid var(--accent);
1881
+ outline-offset: -2px;
1683
1882
  }
1684
1883
 
1685
1884
  .chat-system-prelude-summary-hint {
@@ -1701,24 +1900,39 @@ select {
1701
1900
  overflow-wrap: anywhere;
1702
1901
  }
1703
1902
 
1704
- .chat-model-summary {
1903
+ .chat-session-token-sticky {
1705
1904
  display: flex;
1706
- justify-content: center;
1905
+ justify-content: flex-start;
1707
1906
  margin: 0 0 10px;
1708
1907
  }
1709
1908
 
1710
- .chat-model-summary-label {
1909
+ .chat-session-token-strip {
1910
+ display: inline-flex;
1911
+ align-items: center;
1912
+ gap: 10px;
1711
1913
  border: 1px solid var(--border-subtle);
1712
- border-radius: 999px;
1713
- background: var(--bg-panel-raised);
1714
- color: var(--text-secondary);
1715
- font-size: 0.74rem;
1716
- padding: 4px 10px;
1914
+ border-radius: 8px;
1915
+ background: var(--bg-panel);
1916
+ padding: 4px 8px;
1917
+ font-size: 0.72rem;
1918
+ color: var(--text-muted);
1919
+ }
1920
+
1921
+ .chat-session-token-pair {
1922
+ display: inline-flex;
1923
+ align-items: center;
1924
+ gap: 4px;
1925
+ white-space: nowrap;
1926
+ }
1927
+
1928
+ .chat-session-token-key {
1929
+ color: var(--text-muted);
1717
1930
  }
1718
1931
 
1719
- .chat-model-summary-label code {
1932
+ .chat-session-token-value {
1720
1933
  font-family: var(--font-mono);
1721
- font-size: 0.72rem;
1934
+ font-size: 0.75rem;
1935
+ color: var(--text-secondary);
1722
1936
  }
1723
1937
 
1724
1938
  .chat-model-change {
@@ -7,8 +7,8 @@
7
7
  <link rel="icon" type="image/png" sizes="32x32" href="./assets/32x32-DQgygEFU.png" />
8
8
  <link rel="icon" type="image/png" sizes="16x16" href="./assets/16x16-B2_QkmoB.png" />
9
9
  <title>codex-devtools</title>
10
- <script type="module" crossorigin src="./assets/index-C1DUQHyp.js"></script>
11
- <link rel="stylesheet" crossorigin href="./assets/index-BTmVA30y.css">
10
+ <script type="module" crossorigin src="./assets/index-C-iGxog-.js"></script>
11
+ <link rel="stylesheet" crossorigin href="./assets/index-D3FYKy1U.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="root">
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codex-devtools",
3
3
  "type": "module",
4
- "version": "0.1.10",
4
+ "version": "0.2.0",
5
5
  "description": "Desktop app for inspecting Codex session data",
6
6
  "license": "MIT",
7
7
  "author": {