@jeffreyjyz/opencode-command-code 0.3.1 → 0.3.3

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/tui.js CHANGED
@@ -129,7 +129,7 @@ import { homedir } from "os";
129
129
  import { dirname, join } from "path";
130
130
  // ../core/gating.json
131
131
  var gating_default = {
132
- extractedAt: "2026-09-12T06:01:01.385Z",
132
+ extractedAt: "2026-09-25T14:21:58.775Z",
133
133
  cliVersion: "1.38.2",
134
134
  categories: {
135
135
  "claude-sonnet-5": "premium",
@@ -497,6 +497,8 @@ function modelRows(meta, usage) {
497
497
  }
498
498
  if (meta.tier)
499
499
  rows.push(["Tier", TIER_DISPLAY[meta.tier]]);
500
+ if (meta.minPlan)
501
+ rows.push(["Min plan", meta.minPlan]);
500
502
  if (typeof meta.allowance === "number")
501
503
  rows.push(["Allowance", `${money(meta.allowance)}/mo`]);
502
504
  if (meta.rates) {
@@ -622,6 +624,1066 @@ async function loadUsage() {
622
624
  return parseUsageJson(await runFirst(CMDUSE, ["-1", "--json", "--plain"]));
623
625
  }
624
626
 
627
+ // src/catalog.ts
628
+ var MODEL_CATALOG = {
629
+ "claude-fable-5": {
630
+ name: "Claude Fable 5",
631
+ context: 1e6,
632
+ efforts: ["low", "medium", "high", "xhigh", "max"],
633
+ cost: {
634
+ input: 10,
635
+ output: 50,
636
+ cacheRead: 1,
637
+ cacheWrite: 12.5
638
+ },
639
+ modalities: ["text", "image"],
640
+ minPlan: "Max"
641
+ },
642
+ "claude-fable-5-1": {
643
+ name: "Claude Fable 5.1",
644
+ context: 1e6,
645
+ efforts: ["low", "medium", "high", "xhigh", "max"],
646
+ cost: {
647
+ input: 10,
648
+ output: 50,
649
+ cacheRead: 0.25,
650
+ cacheWrite: 12.5
651
+ },
652
+ modalities: ["text", "image"],
653
+ minPlan: "Max"
654
+ },
655
+ "claude-haiku-4-5-20251001": {
656
+ name: "Claude Haiku 4.5",
657
+ context: 200000,
658
+ efforts: null,
659
+ cost: {
660
+ input: 1,
661
+ output: 5,
662
+ cacheRead: 0.1,
663
+ cacheWrite: 1.25
664
+ },
665
+ modalities: ["text", "image"],
666
+ minPlan: "Pro"
667
+ },
668
+ "claude-opus-4-7": {
669
+ name: "Claude Opus 4.7",
670
+ context: 1e6,
671
+ efforts: ["low", "medium", "high", "xhigh", "max"],
672
+ cost: {
673
+ input: 5,
674
+ output: 25,
675
+ cacheRead: 0.5,
676
+ cacheWrite: 6.25
677
+ },
678
+ modalities: ["text", "image"],
679
+ minPlan: "Max"
680
+ },
681
+ "claude-opus-4-8": {
682
+ name: "Claude Opus 4.8",
683
+ context: 1e6,
684
+ efforts: ["low", "medium", "high", "xhigh", "max"],
685
+ cost: {
686
+ input: 5,
687
+ output: 25,
688
+ cacheRead: 0.5,
689
+ cacheWrite: 6.25
690
+ },
691
+ modalities: ["text", "image"],
692
+ minPlan: "Max"
693
+ },
694
+ "claude-opus-5": {
695
+ name: "Claude Opus 5",
696
+ context: 1e6,
697
+ efforts: ["low", "medium", "high", "xhigh", "max"],
698
+ cost: {
699
+ input: 5,
700
+ output: 25,
701
+ cacheRead: 0.5,
702
+ cacheWrite: 6.25
703
+ },
704
+ modalities: ["text", "image"],
705
+ minPlan: "Max"
706
+ },
707
+ "claude-opus-5-5": {
708
+ name: "Claude Opus 5.5",
709
+ context: 1e6,
710
+ efforts: ["low", "medium", "high", "xhigh", "max"],
711
+ cost: {
712
+ input: 4,
713
+ output: 20,
714
+ cacheRead: 0.2,
715
+ cacheWrite: 5
716
+ },
717
+ modalities: ["text", "image"],
718
+ minPlan: "Max"
719
+ },
720
+ "claude-sonnet-4-6": {
721
+ name: "Claude Sonnet 4.6",
722
+ context: 1e6,
723
+ efforts: ["low", "medium", "high", "xhigh", "max"],
724
+ cost: {
725
+ input: 3,
726
+ output: 15,
727
+ cacheRead: 0.3,
728
+ cacheWrite: 3.75
729
+ },
730
+ modalities: ["text", "image"],
731
+ minPlan: "Pro"
732
+ },
733
+ "claude-sonnet-5": {
734
+ name: "Claude Sonnet 5",
735
+ context: 1e6,
736
+ efforts: ["low", "medium", "high", "xhigh", "max"],
737
+ cost: {
738
+ input: 2,
739
+ output: 10,
740
+ cacheRead: 0.2,
741
+ cacheWrite: 2.5
742
+ },
743
+ modalities: ["text", "image"],
744
+ minPlan: "Pro"
745
+ },
746
+ "deepseek/deepseek-v4-flash": {
747
+ name: "DeepSeek V4 Flash (latest)",
748
+ context: 1e6,
749
+ efforts: ["high", "max"],
750
+ cost: {
751
+ input: 0.15,
752
+ output: 0.6,
753
+ cacheRead: 0.003,
754
+ cacheWrite: 0
755
+ },
756
+ modalities: ["text"],
757
+ minPlan: "Go"
758
+ },
759
+ "deepseek/deepseek-v4-flash-fast": {
760
+ name: "DeepSeek V4 Flash Fast",
761
+ context: 1e6,
762
+ efforts: ["low", "high", "max"],
763
+ cost: {
764
+ input: 0.28,
765
+ output: 0.56,
766
+ cacheRead: 0.07,
767
+ cacheWrite: 0
768
+ },
769
+ modalities: ["text"],
770
+ minPlan: "Go"
771
+ },
772
+ "deepseek/deepseek-v4-flash-vision-exp": {
773
+ name: "DeepSeek V4 Flash Vision (exp)",
774
+ context: 1e6,
775
+ efforts: ["high", "max"],
776
+ cost: {
777
+ input: 0.15,
778
+ output: 0.6,
779
+ cacheRead: 0.003,
780
+ cacheWrite: 0
781
+ },
782
+ modalities: ["text", "image"],
783
+ minPlan: "Go"
784
+ },
785
+ "deepseek/deepseek-v4-pro": {
786
+ name: "DeepSeek V4 Pro (latest)",
787
+ context: 1e6,
788
+ efforts: ["high", "max"],
789
+ cost: {
790
+ input: 0.66,
791
+ output: 1.98,
792
+ cacheRead: 0.022,
793
+ cacheWrite: 0
794
+ },
795
+ modalities: ["text"],
796
+ minPlan: "Go"
797
+ },
798
+ "deepseek/deepseek-v4.1-flash": {
799
+ name: "DeepSeek V4.1 Flash",
800
+ context: 1e6,
801
+ efforts: ["low", "high", "max"],
802
+ cost: {
803
+ input: 0.15,
804
+ output: 0.6,
805
+ cacheRead: 0.003,
806
+ cacheWrite: 0
807
+ },
808
+ modalities: ["text", "image"],
809
+ minPlan: "Go"
810
+ },
811
+ "google/gemini-3.1-flash-lite": {
812
+ name: "Gemini 3.1 Flash Lite",
813
+ context: 1e6,
814
+ efforts: ["low", "medium", "high"],
815
+ cost: {
816
+ input: 0.25,
817
+ output: 1.5,
818
+ cacheRead: 0.03,
819
+ cacheWrite: 0
820
+ },
821
+ modalities: ["text", "image"],
822
+ minPlan: "Pro"
823
+ },
824
+ "google/gemini-3.5-flash": {
825
+ name: "Gemini 3.5 Flash",
826
+ context: 1e6,
827
+ efforts: ["low", "medium", "high"],
828
+ cost: {
829
+ input: 1.5,
830
+ output: 9,
831
+ cacheRead: 0.15,
832
+ cacheWrite: 0
833
+ },
834
+ modalities: ["text", "image"],
835
+ minPlan: "Pro"
836
+ },
837
+ "google/gemini-3.5-flash-lite": {
838
+ name: "Gemini 3.5 Flash Lite",
839
+ context: 1e6,
840
+ efforts: ["low", "medium", "high"],
841
+ cost: {
842
+ input: 0.3,
843
+ output: 2.5,
844
+ cacheRead: 0.03,
845
+ cacheWrite: 0
846
+ },
847
+ modalities: ["text", "image"],
848
+ minPlan: "Pro"
849
+ },
850
+ "google/gemini-3.6-flash": {
851
+ name: "Gemini 3.6 Flash",
852
+ context: 1e6,
853
+ efforts: ["low", "medium", "high"],
854
+ cost: {
855
+ input: 1.5,
856
+ output: 7.5,
857
+ cacheRead: 0.15,
858
+ cacheWrite: 0
859
+ },
860
+ modalities: ["text", "image"],
861
+ minPlan: "Pro"
862
+ },
863
+ "google/gemini-3.7-flash": {
864
+ name: "Gemini 3.7 Flash",
865
+ context: 1050000,
866
+ efforts: ["low", "medium", "high"],
867
+ cost: {
868
+ input: 1.5,
869
+ output: 7.5,
870
+ cacheRead: 0.15,
871
+ cacheWrite: 0.08334
872
+ },
873
+ modalities: ["text", "image"],
874
+ minPlan: "GOAT"
875
+ },
876
+ "google/gemini-3.8-flash": {
877
+ name: "Gemini 3.8 Flash",
878
+ context: 1e6,
879
+ efforts: ["low", "medium", "high"],
880
+ cost: {
881
+ input: 1.5,
882
+ output: 7.5,
883
+ cacheRead: 0.15,
884
+ cacheWrite: 0
885
+ },
886
+ modalities: ["text", "image"],
887
+ minPlan: "GOAT"
888
+ },
889
+ "gpt-5.3-codex": {
890
+ name: "GPT-5.3 Codex",
891
+ context: 400000,
892
+ efforts: ["low", "medium", "high", "xhigh"],
893
+ cost: {
894
+ input: 2,
895
+ output: 8,
896
+ cacheRead: 0.5,
897
+ cacheWrite: 0
898
+ },
899
+ modalities: ["text", "image"],
900
+ minPlan: "Pro"
901
+ },
902
+ "gpt-5.4": {
903
+ name: "GPT-5.4",
904
+ context: 400000,
905
+ efforts: ["low", "medium", "high", "xhigh"],
906
+ cost: {
907
+ input: 2.5,
908
+ output: 15,
909
+ cacheRead: 0.25,
910
+ cacheWrite: 0
911
+ },
912
+ modalities: ["text", "image"],
913
+ minPlan: "Pro"
914
+ },
915
+ "gpt-5.4-mini": {
916
+ name: "GPT-5.4 Mini",
917
+ context: 400000,
918
+ efforts: ["low", "medium", "high"],
919
+ cost: {
920
+ input: 0.75,
921
+ output: 4.5,
922
+ cacheRead: 0.075,
923
+ cacheWrite: 0
924
+ },
925
+ modalities: ["text", "image"],
926
+ minPlan: "Pro"
927
+ },
928
+ "gpt-5.5": {
929
+ name: "GPT-5.5",
930
+ context: 400000,
931
+ efforts: ["low", "medium", "high", "xhigh"],
932
+ cost: {
933
+ input: 5,
934
+ output: 30,
935
+ cacheRead: 0.5,
936
+ cacheWrite: 0
937
+ },
938
+ modalities: ["text", "image"],
939
+ minPlan: "Pro"
940
+ },
941
+ "gpt-5.6-luna": {
942
+ name: "GPT-5.6 Luna",
943
+ context: 1050000,
944
+ efforts: ["low", "medium", "high", "xhigh", "max"],
945
+ cost: {
946
+ input: 0.2,
947
+ output: 1.2,
948
+ cacheRead: 0.02,
949
+ cacheWrite: 0.25
950
+ },
951
+ modalities: ["text", "image"],
952
+ minPlan: "Go"
953
+ },
954
+ "gpt-5.6-sol": {
955
+ name: "GPT-5.6 Sol",
956
+ context: 1050000,
957
+ efforts: ["low", "medium", "high", "xhigh", "max"],
958
+ cost: {
959
+ input: 5,
960
+ output: 30,
961
+ cacheRead: 0.5,
962
+ cacheWrite: 6.25
963
+ },
964
+ modalities: ["text", "image"],
965
+ minPlan: "GOAT"
966
+ },
967
+ "gpt-5.6-terra": {
968
+ name: "GPT-5.6 Terra",
969
+ context: 1050000,
970
+ efforts: ["low", "medium", "high", "xhigh", "max"],
971
+ cost: {
972
+ input: 2,
973
+ output: 12,
974
+ cacheRead: 0.2,
975
+ cacheWrite: 2.5
976
+ },
977
+ modalities: ["text", "image"],
978
+ minPlan: "Pro"
979
+ },
980
+ "gpt-6-astra": {
981
+ name: "GPT-6 Astra",
982
+ context: 1050000,
983
+ efforts: ["low", "medium", "high", "xhigh", "max"],
984
+ cost: {
985
+ input: 10,
986
+ output: 50,
987
+ cacheRead: 1,
988
+ cacheWrite: 12.5
989
+ },
990
+ modalities: ["text", "image"],
991
+ minPlan: "Max"
992
+ },
993
+ "gpt-6-luna": {
994
+ name: "GPT-6 Luna",
995
+ context: 1050000,
996
+ efforts: ["low", "medium", "high", "xhigh", "max"],
997
+ cost: {
998
+ input: 0.1,
999
+ output: 0.5,
1000
+ cacheRead: 0.01,
1001
+ cacheWrite: 0.125
1002
+ },
1003
+ modalities: ["text", "image"],
1004
+ minPlan: "Go"
1005
+ },
1006
+ "gpt-6-sol": {
1007
+ name: "GPT-6 Sol",
1008
+ context: 1050000,
1009
+ efforts: ["low", "medium", "high", "xhigh", "max"],
1010
+ cost: {
1011
+ input: 2,
1012
+ output: 10,
1013
+ cacheRead: 0.2,
1014
+ cacheWrite: 2.5
1015
+ },
1016
+ modalities: ["text", "image"],
1017
+ minPlan: "Pro"
1018
+ },
1019
+ "inclusionai/ling-3.0-flash-sante:free": {
1020
+ name: "Ling 3.0 Flash Sante",
1021
+ context: 262000,
1022
+ efforts: null,
1023
+ cost: {
1024
+ input: 0,
1025
+ output: 0,
1026
+ cacheRead: 0,
1027
+ cacheWrite: 0
1028
+ },
1029
+ modalities: ["text"],
1030
+ minPlan: "Go"
1031
+ },
1032
+ "meituan/LongCat-2.0": {
1033
+ name: "LongCat 2.0",
1034
+ context: 1050000,
1035
+ efforts: null,
1036
+ cost: {
1037
+ input: 0.3,
1038
+ output: 1.2,
1039
+ cacheRead: 0.006,
1040
+ cacheWrite: 0
1041
+ },
1042
+ modalities: ["text"],
1043
+ minPlan: "Go"
1044
+ },
1045
+ "meta/muse-spark-1.1": {
1046
+ name: "Muse Spark 1.1",
1047
+ context: 1050000,
1048
+ efforts: ["low", "medium", "high", "xhigh"],
1049
+ cost: {
1050
+ input: 1.25,
1051
+ output: 4.25,
1052
+ cacheRead: 0.15,
1053
+ cacheWrite: 0
1054
+ },
1055
+ modalities: ["text", "image"],
1056
+ minPlan: "Pro"
1057
+ },
1058
+ "meta/muse-spark-1.2": {
1059
+ name: "Muse Spark 1.2",
1060
+ context: 1050000,
1061
+ efforts: ["low", "medium", "high", "xhigh"],
1062
+ cost: {
1063
+ input: 1.25,
1064
+ output: 4.25,
1065
+ cacheRead: 0.15,
1066
+ cacheWrite: 0
1067
+ },
1068
+ modalities: ["text", "image"],
1069
+ minPlan: "GOAT"
1070
+ },
1071
+ "meta/muse-spark-1.2-contributor": {
1072
+ name: "Muse Spark 1.2 Contributor",
1073
+ context: 1050000,
1074
+ efforts: ["low", "medium", "high", "xhigh"],
1075
+ cost: {
1076
+ input: 0.1,
1077
+ output: 0.2,
1078
+ cacheRead: 0.002,
1079
+ cacheWrite: 0
1080
+ },
1081
+ modalities: ["text", "image"],
1082
+ minPlan: "Go"
1083
+ },
1084
+ "meta/muse-spark-1.3": {
1085
+ name: "Muse Spark 1.3",
1086
+ context: 1050000,
1087
+ efforts: ["low", "medium", "high", "xhigh", "max"],
1088
+ cost: {
1089
+ input: 1.25,
1090
+ output: 4.25,
1091
+ cacheRead: 0.15,
1092
+ cacheWrite: 0
1093
+ },
1094
+ modalities: ["text", "image"],
1095
+ minPlan: "GOAT"
1096
+ },
1097
+ "meta/muse-spark-1.3-contributor": {
1098
+ name: "Muse Spark 1.3 Contributor",
1099
+ context: 1050000,
1100
+ efforts: ["low", "medium", "high", "xhigh"],
1101
+ cost: {
1102
+ input: 0.1,
1103
+ output: 0.2,
1104
+ cacheRead: 0.002,
1105
+ cacheWrite: 0
1106
+ },
1107
+ modalities: ["text", "image"],
1108
+ minPlan: "Go"
1109
+ },
1110
+ "MiniMaxAI/MiniMax-M2.5": {
1111
+ name: "MiniMax M2.5",
1112
+ context: 200000,
1113
+ efforts: null,
1114
+ cost: {
1115
+ input: 0.3,
1116
+ output: 1.2,
1117
+ cacheRead: 0.03,
1118
+ cacheWrite: 0
1119
+ },
1120
+ modalities: ["text"],
1121
+ minPlan: "Go"
1122
+ },
1123
+ "MiniMaxAI/MiniMax-M2.7": {
1124
+ name: "MiniMax M2.7",
1125
+ context: 0,
1126
+ efforts: null,
1127
+ cost: {
1128
+ input: 0.3,
1129
+ output: 1.2,
1130
+ cacheRead: 0.06,
1131
+ cacheWrite: 0
1132
+ },
1133
+ modalities: ["text"],
1134
+ minPlan: "Go"
1135
+ },
1136
+ "MiniMaxAI/MiniMax-M3": {
1137
+ name: "MiniMax M3",
1138
+ context: 1e6,
1139
+ efforts: ["low", "medium", "high"],
1140
+ cost: {
1141
+ input: 0.3,
1142
+ output: 1.2,
1143
+ cacheRead: 0.06,
1144
+ cacheWrite: 0
1145
+ },
1146
+ modalities: ["text", "image"],
1147
+ minPlan: "Go"
1148
+ },
1149
+ "moonshotai/Kimi-K2.5": {
1150
+ name: "Kimi K2.5",
1151
+ context: 256000,
1152
+ efforts: null,
1153
+ cost: {
1154
+ input: 0.6,
1155
+ output: 3,
1156
+ cacheRead: 0.1,
1157
+ cacheWrite: 0
1158
+ },
1159
+ modalities: ["text", "image"],
1160
+ minPlan: "Go"
1161
+ },
1162
+ "moonshotai/Kimi-K2.6": {
1163
+ name: "Kimi K2.6",
1164
+ context: 256000,
1165
+ efforts: null,
1166
+ cost: {
1167
+ input: 0.95,
1168
+ output: 4,
1169
+ cacheRead: 0.16,
1170
+ cacheWrite: 0
1171
+ },
1172
+ modalities: ["text", "image"],
1173
+ minPlan: "Go"
1174
+ },
1175
+ "moonshotai/Kimi-K2.7-Code": {
1176
+ name: "Kimi K2.7 Code",
1177
+ context: 256000,
1178
+ efforts: null,
1179
+ cost: {
1180
+ input: 0.95,
1181
+ output: 4,
1182
+ cacheRead: 0.19,
1183
+ cacheWrite: 0
1184
+ },
1185
+ modalities: ["text", "image"],
1186
+ minPlan: "Go"
1187
+ },
1188
+ "moonshotai/Kimi-K2.7-Code-Highspeed": {
1189
+ name: "Kimi K2.7 Code HighSpeed",
1190
+ context: 262000,
1191
+ efforts: null,
1192
+ cost: {
1193
+ input: 1.9,
1194
+ output: 8,
1195
+ cacheRead: 0.38,
1196
+ cacheWrite: 0
1197
+ },
1198
+ modalities: ["text", "image"],
1199
+ minPlan: "Go"
1200
+ },
1201
+ "moonshotai/Kimi-K3": {
1202
+ name: "Kimi K3",
1203
+ context: 1e6,
1204
+ efforts: ["low", "high", "max"],
1205
+ cost: {
1206
+ input: 3,
1207
+ output: 15,
1208
+ cacheRead: 0.3,
1209
+ cacheWrite: 0
1210
+ },
1211
+ modalities: ["text", "image"],
1212
+ minPlan: "Go"
1213
+ },
1214
+ "nvidia/nemotron-3-ultra-550b-a55b": {
1215
+ name: "Nemotron 3 Ultra",
1216
+ context: 1e6,
1217
+ efforts: null,
1218
+ cost: {
1219
+ input: 0.6,
1220
+ output: 2.4,
1221
+ cacheRead: 0.12,
1222
+ cacheWrite: 0
1223
+ },
1224
+ modalities: ["text"],
1225
+ minPlan: "Go"
1226
+ },
1227
+ "poolside/laguna-s-2.1-free": {
1228
+ name: "Laguna S 2.1",
1229
+ context: 256000,
1230
+ efforts: null,
1231
+ cost: {
1232
+ input: 0,
1233
+ output: 0,
1234
+ cacheRead: 0,
1235
+ cacheWrite: 0
1236
+ },
1237
+ modalities: ["text"],
1238
+ minPlan: "Go"
1239
+ },
1240
+ "Qwen/Qwen3.6-Max-Preview": {
1241
+ name: "Qwen 3.6 Max Preview",
1242
+ context: 0,
1243
+ efforts: null,
1244
+ cost: {
1245
+ input: 1.3,
1246
+ output: 7.8,
1247
+ cacheRead: 0.26,
1248
+ cacheWrite: 1.63
1249
+ },
1250
+ modalities: ["text"],
1251
+ minPlan: "Go"
1252
+ },
1253
+ "Qwen/Qwen3.6-Plus": {
1254
+ name: "Qwen 3.6 Plus",
1255
+ context: 0,
1256
+ efforts: null,
1257
+ cost: {
1258
+ input: 0.5,
1259
+ output: 3,
1260
+ cacheRead: 0.1,
1261
+ cacheWrite: 0
1262
+ },
1263
+ modalities: ["text", "image"],
1264
+ minPlan: "Go"
1265
+ },
1266
+ "Qwen/Qwen3.7-Flash": {
1267
+ name: "Qwen 3.7 Flash",
1268
+ context: 1e6,
1269
+ efforts: null,
1270
+ cost: {
1271
+ input: 0.03,
1272
+ output: 0.13,
1273
+ cacheRead: 0.006,
1274
+ cacheWrite: 0.038
1275
+ },
1276
+ modalities: ["text", "image"],
1277
+ minPlan: "Go"
1278
+ },
1279
+ "Qwen/Qwen3.7-Max": {
1280
+ name: "Qwen 3.7 Max",
1281
+ context: 1e6,
1282
+ efforts: null,
1283
+ cost: {
1284
+ input: 2.5,
1285
+ output: 7.5,
1286
+ cacheRead: 0.5,
1287
+ cacheWrite: 3.13
1288
+ },
1289
+ modalities: ["text"],
1290
+ minPlan: "Go"
1291
+ },
1292
+ "Qwen/Qwen3.7-Plus": {
1293
+ name: "Qwen 3.7 Plus",
1294
+ context: 1e6,
1295
+ efforts: null,
1296
+ cost: {
1297
+ input: 0.4,
1298
+ output: 1.6,
1299
+ cacheRead: 0.08,
1300
+ cacheWrite: 0.5
1301
+ },
1302
+ modalities: ["text", "image"],
1303
+ minPlan: "Go"
1304
+ },
1305
+ "Qwen/Qwen3.8-27B": {
1306
+ name: "Qwen 3.8 27B",
1307
+ context: 262000,
1308
+ efforts: ["low", "medium", "xhigh"],
1309
+ cost: {
1310
+ input: 0.4,
1311
+ output: 3,
1312
+ cacheRead: 0.04,
1313
+ cacheWrite: 0
1314
+ },
1315
+ modalities: ["text", "image"],
1316
+ minPlan: "Go"
1317
+ },
1318
+ "Qwen/Qwen3.8-Flash": {
1319
+ name: "Qwen 3.8 Flash",
1320
+ context: 1e6,
1321
+ efforts: ["low", "medium", "xhigh"],
1322
+ cost: {
1323
+ input: 0.16,
1324
+ output: 0.47,
1325
+ cacheRead: 0.016,
1326
+ cacheWrite: 0
1327
+ },
1328
+ modalities: ["text", "image"],
1329
+ minPlan: "Go"
1330
+ },
1331
+ "Qwen/Qwen3.8-Max": {
1332
+ name: "Qwen 3.8 Max",
1333
+ context: 1e6,
1334
+ efforts: ["low", "medium", "xhigh"],
1335
+ cost: {
1336
+ input: 2,
1337
+ output: 6,
1338
+ cacheRead: 0.25,
1339
+ cacheWrite: 2.5
1340
+ },
1341
+ modalities: ["text", "image"],
1342
+ minPlan: "Go"
1343
+ },
1344
+ "Qwen/Qwen3.8-Max-0902": {
1345
+ name: "Qwen 3.8 Max 0902",
1346
+ context: 1e6,
1347
+ efforts: ["low", "medium", "xhigh"],
1348
+ cost: {
1349
+ input: 2,
1350
+ output: 6,
1351
+ cacheRead: 0.25,
1352
+ cacheWrite: 0
1353
+ },
1354
+ modalities: ["text", "image"],
1355
+ minPlan: "Go"
1356
+ },
1357
+ "Qwen/Qwen3.8-Omni-Flash": {
1358
+ name: "Qwen 3.8 Omni Flash",
1359
+ context: 1e6,
1360
+ efforts: ["low", "medium", "xhigh"],
1361
+ cost: {
1362
+ input: 0.15,
1363
+ output: 0.47,
1364
+ cacheRead: 0.016,
1365
+ cacheWrite: 0
1366
+ },
1367
+ modalities: ["text", "image"],
1368
+ minPlan: "Go"
1369
+ },
1370
+ "sakana/fugu-ultra": {
1371
+ name: "Fugu Ultra",
1372
+ context: 1e6,
1373
+ efforts: ["high", "xhigh"],
1374
+ cost: {
1375
+ input: 5,
1376
+ output: 30,
1377
+ cacheRead: 0.5,
1378
+ cacheWrite: 0
1379
+ },
1380
+ modalities: ["text", "image"],
1381
+ minPlan: "Max"
1382
+ },
1383
+ "stealth/space-bunny-alpha": {
1384
+ name: "Space Bunny Alpha",
1385
+ context: 1e6,
1386
+ efforts: ["low", "medium", "high"],
1387
+ cost: {
1388
+ input: 0,
1389
+ output: 0,
1390
+ cacheRead: 0,
1391
+ cacheWrite: 0
1392
+ },
1393
+ modalities: ["text", "image"],
1394
+ minPlan: "Go"
1395
+ },
1396
+ "stepfun/Step-3.5-Flash": {
1397
+ name: "Step 3.5 Flash",
1398
+ context: 262000,
1399
+ efforts: null,
1400
+ cost: {
1401
+ input: 0.09,
1402
+ output: 0.3,
1403
+ cacheRead: 0.02,
1404
+ cacheWrite: 0
1405
+ },
1406
+ modalities: ["text"],
1407
+ minPlan: "Go"
1408
+ },
1409
+ "stepfun/Step-3.7-Flash": {
1410
+ name: "Step 3.7 Flash",
1411
+ context: 256000,
1412
+ efforts: null,
1413
+ cost: {
1414
+ input: 0.2,
1415
+ output: 1.15,
1416
+ cacheRead: 0.04,
1417
+ cacheWrite: 0
1418
+ },
1419
+ modalities: ["text", "image"],
1420
+ minPlan: "Go"
1421
+ },
1422
+ "stepfun/Step-5-Preview": {
1423
+ name: "Step 5 Preview",
1424
+ context: 1e6,
1425
+ efforts: ["low", "medium", "high"],
1426
+ cost: {
1427
+ input: 1,
1428
+ output: 2.7,
1429
+ cacheRead: 0.05,
1430
+ cacheWrite: 0
1431
+ },
1432
+ modalities: ["text", "image"],
1433
+ minPlan: "Go"
1434
+ },
1435
+ "tencent/hy3-paid": {
1436
+ name: "Tencent Hy3",
1437
+ context: 262000,
1438
+ efforts: null,
1439
+ cost: {
1440
+ input: 0.14,
1441
+ output: 0.58,
1442
+ cacheRead: 0.035,
1443
+ cacheWrite: 0
1444
+ },
1445
+ modalities: ["text"],
1446
+ minPlan: "Go"
1447
+ },
1448
+ "tencent/hy4-preview": {
1449
+ name: "Tencent Hy4 Preview",
1450
+ context: 1050000,
1451
+ efforts: ["low", "medium", "high"],
1452
+ cost: {
1453
+ input: 0.834,
1454
+ output: 2.501,
1455
+ cacheRead: 0.042,
1456
+ cacheWrite: 0
1457
+ },
1458
+ modalities: ["text"],
1459
+ minPlan: "Go"
1460
+ },
1461
+ "thinkingmachines/inkling": {
1462
+ name: "Inkling",
1463
+ context: 256000,
1464
+ efforts: null,
1465
+ cost: {
1466
+ input: 1,
1467
+ output: 4.05,
1468
+ cacheRead: 0.17,
1469
+ cacheWrite: 0
1470
+ },
1471
+ modalities: ["text", "image"],
1472
+ minPlan: "Go"
1473
+ },
1474
+ "thinkingmachines/inkling-small": {
1475
+ name: "Inkling Small",
1476
+ context: 1e6,
1477
+ efforts: null,
1478
+ cost: {
1479
+ input: 0.5,
1480
+ output: 1.2,
1481
+ cacheRead: 0.1,
1482
+ cacheWrite: 0
1483
+ },
1484
+ modalities: ["text", "image"],
1485
+ minPlan: "Go"
1486
+ },
1487
+ "xai/grok-4.5": {
1488
+ name: "Grok 4.5",
1489
+ context: 500000,
1490
+ efforts: ["low", "medium", "high"],
1491
+ cost: {
1492
+ input: 2,
1493
+ output: 6,
1494
+ cacheRead: 0.5,
1495
+ cacheWrite: 0
1496
+ },
1497
+ modalities: ["text", "image"],
1498
+ minPlan: "Go"
1499
+ },
1500
+ "xai/grok-4.6": {
1501
+ name: "Grok 4.6",
1502
+ context: 500000,
1503
+ efforts: ["low", "medium", "high", "xhigh"],
1504
+ cost: {
1505
+ input: 2,
1506
+ output: 6,
1507
+ cacheRead: 0.5,
1508
+ cacheWrite: 0
1509
+ },
1510
+ modalities: ["text", "image"],
1511
+ minPlan: "GOAT"
1512
+ },
1513
+ "xai/grok-4.7": {
1514
+ name: "Grok 4.7",
1515
+ context: 500000,
1516
+ efforts: ["low", "medium", "high", "xhigh"],
1517
+ cost: {
1518
+ input: 1.2,
1519
+ output: 3.6,
1520
+ cacheRead: 0.3,
1521
+ cacheWrite: 0
1522
+ },
1523
+ modalities: ["text", "image"],
1524
+ minPlan: "GOAT"
1525
+ },
1526
+ "xiaomi/mimo-v2.5": {
1527
+ name: "MiMo V2.5",
1528
+ context: 1e6,
1529
+ efforts: null,
1530
+ cost: {
1531
+ input: 0.14,
1532
+ output: 0.28,
1533
+ cacheRead: 0.0028,
1534
+ cacheWrite: 0
1535
+ },
1536
+ modalities: ["text", "image"],
1537
+ minPlan: "Go"
1538
+ },
1539
+ "xiaomi/mimo-v2.5-pro": {
1540
+ name: "MiMo V2.5 Pro",
1541
+ context: 1e6,
1542
+ efforts: null,
1543
+ cost: {
1544
+ input: 0.435,
1545
+ output: 0.87,
1546
+ cacheRead: 0.0036,
1547
+ cacheWrite: 0
1548
+ },
1549
+ modalities: ["text"],
1550
+ minPlan: "Go"
1551
+ },
1552
+ "xiaomi/mimo-v2.6-flash": {
1553
+ name: "MiMo V2.6 Flash",
1554
+ context: 1050000,
1555
+ efforts: null,
1556
+ cost: {
1557
+ input: 0.14,
1558
+ output: 0.28,
1559
+ cacheRead: 0.0028,
1560
+ cacheWrite: 0
1561
+ },
1562
+ modalities: ["text", "image"],
1563
+ minPlan: "Go"
1564
+ },
1565
+ "xiaomi/mimo-v2.6-pro": {
1566
+ name: "MiMo V2.6 Pro",
1567
+ context: 1050000,
1568
+ efforts: null,
1569
+ cost: {
1570
+ input: 0.435,
1571
+ output: 0.87,
1572
+ cacheRead: 0.0036,
1573
+ cacheWrite: 0
1574
+ },
1575
+ modalities: ["text", "image"],
1576
+ minPlan: "Go"
1577
+ },
1578
+ "xiaomi/mimo-v2.6-pro-ultraspeed": {
1579
+ name: "MiMo V2.6 Pro UltraSpeed",
1580
+ context: 1050000,
1581
+ efforts: null,
1582
+ cost: {
1583
+ input: 4.35,
1584
+ output: 8.7,
1585
+ cacheRead: 0.036,
1586
+ cacheWrite: 0
1587
+ },
1588
+ modalities: ["text", "image"],
1589
+ minPlan: "GOAT"
1590
+ },
1591
+ "z-ai/glm-5.3-flash": {
1592
+ name: "GLM-5.3 Flash",
1593
+ context: 1050000,
1594
+ efforts: ["low", "high", "max"],
1595
+ cost: {
1596
+ input: 0.15,
1597
+ output: 0.5,
1598
+ cacheRead: 0.03,
1599
+ cacheWrite: 0
1600
+ },
1601
+ modalities: ["text", "image"],
1602
+ minPlan: "Go"
1603
+ },
1604
+ "z-ai/glm-5.3-flashx": {
1605
+ name: "GLM-5.3 FlashX",
1606
+ context: 1e6,
1607
+ efforts: ["low", "high", "max"],
1608
+ cost: {
1609
+ input: 0.37,
1610
+ output: 1.25,
1611
+ cacheRead: 0.075,
1612
+ cacheWrite: 0
1613
+ },
1614
+ modalities: ["text", "image"],
1615
+ minPlan: "Go"
1616
+ },
1617
+ "zai-org/GLM-5": {
1618
+ name: "GLM-5",
1619
+ context: 200000,
1620
+ efforts: null,
1621
+ cost: {
1622
+ input: 1,
1623
+ output: 3.2,
1624
+ cacheRead: 0.2,
1625
+ cacheWrite: 0
1626
+ },
1627
+ modalities: ["text"],
1628
+ minPlan: "Go"
1629
+ },
1630
+ "zai-org/GLM-5.1": {
1631
+ name: "GLM-5.1",
1632
+ context: 0,
1633
+ efforts: null,
1634
+ cost: {
1635
+ input: 1.4,
1636
+ output: 4.4,
1637
+ cacheRead: 0.26,
1638
+ cacheWrite: 0
1639
+ },
1640
+ modalities: ["text"],
1641
+ minPlan: "Go"
1642
+ },
1643
+ "zai-org/GLM-5.2": {
1644
+ name: "GLM-5.2",
1645
+ context: 1e6,
1646
+ efforts: ["high", "max"],
1647
+ cost: {
1648
+ input: 1.4,
1649
+ output: 4.4,
1650
+ cacheRead: 0.26,
1651
+ cacheWrite: 0
1652
+ },
1653
+ modalities: ["text"],
1654
+ minPlan: "Go"
1655
+ },
1656
+ "zai-org/GLM-5.2-Fast": {
1657
+ name: "GLM-5.2 Fast",
1658
+ context: 1e6,
1659
+ efforts: null,
1660
+ cost: {
1661
+ input: 3,
1662
+ output: 10.25,
1663
+ cacheRead: 0.5,
1664
+ cacheWrite: 0
1665
+ },
1666
+ modalities: ["text"],
1667
+ minPlan: "Go"
1668
+ },
1669
+ "zai-org/GLM-5.3": {
1670
+ name: "GLM-5.3",
1671
+ context: 1e6,
1672
+ efforts: ["low", "high", "max"],
1673
+ cost: {
1674
+ input: 1.4,
1675
+ output: 4.4,
1676
+ cacheRead: 0.26,
1677
+ cacheWrite: 0
1678
+ },
1679
+ modalities: ["text"],
1680
+ minPlan: "Go"
1681
+ }
1682
+ };
1683
+ function minPlan(id) {
1684
+ return MODEL_CATALOG[id]?.minPlan ?? null;
1685
+ }
1686
+
625
1687
  // src/sidebar/usageDb.ts
626
1688
  import { Database } from "bun:sqlite";
627
1689
  import { homedir as homedir2 } from "os";
@@ -747,7 +1809,8 @@ function useRows(activeModelId, active) {
747
1809
  const found = id ? meta().get(modelKey(id)) ?? meta().get(id) : undefined;
748
1810
  const model = found ? {
749
1811
  ...found,
750
- tier: found.tier ?? (id ? tierFor(id) : undefined)
1812
+ tier: found.tier ?? (id ? tierFor(id) : undefined),
1813
+ minPlan: id ? minPlan(id) : undefined
751
1814
  } : undefined;
752
1815
  return [...usage(), ...modelRows(model, modelUsage())];
753
1816
  });