@flame0510/project-aether 1.5.1 → 1.5.2

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.
@@ -189,6 +189,27 @@
189
189
  "enabled": false,
190
190
  "modality": "text+image->text"
191
191
  },
192
+ {
193
+ "id": "glm/glm-5.3",
194
+ "name": "GLM-5.3",
195
+ "provider": "glm",
196
+ "enabled": false,
197
+ "modality": "text->text"
198
+ },
199
+ {
200
+ "id": "glm/glm-5.3-flash",
201
+ "name": "GLM-5.3 Flash",
202
+ "provider": "glm",
203
+ "enabled": false,
204
+ "modality": "text+image+video->text"
205
+ },
206
+ {
207
+ "id": "glm/glm-5.3-flashx",
208
+ "name": "GLM-5.3 FlashX",
209
+ "provider": "glm",
210
+ "enabled": false,
211
+ "modality": "text+image+video->text"
212
+ },
192
213
  {
193
214
  "id": "glm/glm-5.2",
194
215
  "name": "GLM-5.2",
@@ -448,6 +469,27 @@
448
469
  "enabled": true,
449
470
  "modality": "text->text"
450
471
  },
472
+ {
473
+ "id": "openrouter/z-ai/glm-5.3",
474
+ "name": "GLM 5.3 (OR)",
475
+ "provider": "openrouter",
476
+ "enabled": true,
477
+ "modality": "text->text"
478
+ },
479
+ {
480
+ "id": "openrouter/z-ai/glm-5.3-flash",
481
+ "name": "GLM 5.3 Flash (OR)",
482
+ "provider": "openrouter",
483
+ "enabled": true,
484
+ "modality": "text+image+video->text"
485
+ },
486
+ {
487
+ "id": "openrouter/z-ai/glm-5.3-flashx",
488
+ "name": "GLM 5.3 FlashX (OR)",
489
+ "provider": "openrouter",
490
+ "enabled": true,
491
+ "modality": "text+image+video->text"
492
+ },
451
493
  {
452
494
  "id": "openrouter/z-ai/glm-5.2",
453
495
  "name": "GLM 5.2 (OR)",
@@ -558,21 +600,24 @@
558
600
  "name": "Nex AGI N2 Pro (OR)",
559
601
  "provider": "openrouter",
560
602
  "enabled": false,
561
- "modality": "text+image->text"
603
+ "modality": "text+image->text",
604
+ "deprecated": true
562
605
  },
563
606
  {
564
607
  "id": "openrouter/arcee-ai/virtuoso-large",
565
608
  "name": "Arcee Virtuoso Large (OR)",
566
609
  "provider": "openrouter",
567
610
  "enabled": false,
568
- "modality": "text->text"
611
+ "modality": "text->text",
612
+ "deprecated": true
569
613
  },
570
614
  {
571
615
  "id": "openrouter/deepcogito/cogito-v2.1-671b",
572
616
  "name": "DeepCogito V2.1 671B (OR)",
573
617
  "provider": "openrouter",
574
618
  "enabled": false,
575
- "modality": "text->text"
619
+ "modality": "text->text",
620
+ "deprecated": true
576
621
  },
577
622
  {
578
623
  "id": "openrouter/morph/morph-v3-large",
@@ -592,8 +637,9 @@
592
637
  "id": "openrouter/mistralai/mistral-large-2512",
593
638
  "name": "Mistral Large 2512 (OR)",
594
639
  "provider": "openrouter",
595
- "enabled": true,
596
- "modality": "text+image+file->text"
640
+ "enabled": false,
641
+ "modality": "text+image+file->text",
642
+ "deprecated": true
597
643
  },
598
644
  {
599
645
  "id": "openrouter/mistralai/mistral-medium-3.1",
@@ -775,7 +821,8 @@
775
821
  "name": "Qwen 3.8 Max (OR)",
776
822
  "provider": "openrouter",
777
823
  "enabled": false,
778
- "modality": "text+image+video->text"
824
+ "modality": "text+image+video->text",
825
+ "deprecated": true
779
826
  },
780
827
  {
781
828
  "id": "openrouter/qwen/qwen3.6-max-preview",
@@ -854,6 +901,377 @@
854
901
  "enabled": false,
855
902
  "modality": "text+image->text",
856
903
  "deprecated": true
904
+ },
905
+ {
906
+ "id": "openrouter/openai/gpt-5-image",
907
+ "name": "GPT-5 Image (OR)",
908
+ "provider": "openrouter",
909
+ "enabled": false,
910
+ "modality": "text+image+file->text+image"
911
+ },
912
+ {
913
+ "id": "openrouter/openai/gpt-5-image-mini",
914
+ "name": "GPT-5 Image Mini (OR)",
915
+ "provider": "openrouter",
916
+ "enabled": false,
917
+ "modality": "text+image+file->text+image"
918
+ },
919
+ {
920
+ "id": "openrouter/openai/gpt-5-mini",
921
+ "name": "GPT-5 Mini (OR)",
922
+ "provider": "openrouter",
923
+ "enabled": false,
924
+ "modality": "text+image+file->text"
925
+ },
926
+ {
927
+ "id": "openrouter/openai/gpt-5-nano",
928
+ "name": "GPT-5 Nano (OR)",
929
+ "provider": "openrouter",
930
+ "enabled": false,
931
+ "modality": "text+image+file->text"
932
+ },
933
+ {
934
+ "id": "openrouter/openai/gpt-5-pro",
935
+ "name": "GPT-5 Pro (OR)",
936
+ "provider": "openrouter",
937
+ "enabled": false,
938
+ "modality": "text+image+file->text"
939
+ },
940
+ {
941
+ "id": "openrouter/openai/gpt-5.2",
942
+ "name": "GPT-5.2 (OR)",
943
+ "provider": "openrouter",
944
+ "enabled": false,
945
+ "modality": "text+image+file->text"
946
+ },
947
+ {
948
+ "id": "openrouter/openai/gpt-5.2-chat",
949
+ "name": "GPT-5.2 Chat (OR)",
950
+ "provider": "openrouter",
951
+ "enabled": false,
952
+ "modality": "text+image+file->text"
953
+ },
954
+ {
955
+ "id": "openrouter/openai/gpt-5.2-codex",
956
+ "name": "GPT-5.2-Codex (OR)",
957
+ "provider": "openrouter",
958
+ "enabled": false,
959
+ "modality": "text+image->text"
960
+ },
961
+ {
962
+ "id": "openrouter/openai/gpt-5.2-pro",
963
+ "name": "GPT-5.2 Pro (OR)",
964
+ "provider": "openrouter",
965
+ "enabled": false,
966
+ "modality": "text+image+file->text"
967
+ },
968
+ {
969
+ "id": "openrouter/openai/gpt-5.3-codex",
970
+ "name": "GPT-5.3-Codex (OR)",
971
+ "provider": "openrouter",
972
+ "enabled": false,
973
+ "modality": "text+image+file->text"
974
+ },
975
+ {
976
+ "id": "openrouter/openai/gpt-5.4",
977
+ "name": "GPT-5.4 (OR)",
978
+ "provider": "openrouter",
979
+ "enabled": false,
980
+ "modality": "text+image+file->text"
981
+ },
982
+ {
983
+ "id": "openrouter/openai/gpt-5.4-image-2",
984
+ "name": "GPT-5.4 Image 2 (OR)",
985
+ "provider": "openrouter",
986
+ "enabled": false,
987
+ "modality": "text+image+file->text+image"
988
+ },
989
+ {
990
+ "id": "openrouter/openai/gpt-5.4-nano",
991
+ "name": "GPT-5.4 Nano (OR)",
992
+ "provider": "openrouter",
993
+ "enabled": false,
994
+ "modality": "text+image+file->text"
995
+ },
996
+ {
997
+ "id": "openrouter/openai/gpt-5.4-pro",
998
+ "name": "GPT-5.4 Pro (OR)",
999
+ "provider": "openrouter",
1000
+ "enabled": false,
1001
+ "modality": "text+image+file->text"
1002
+ },
1003
+ {
1004
+ "id": "openrouter/openai/gpt-5.5",
1005
+ "name": "GPT-5.5 (OR)",
1006
+ "provider": "openrouter",
1007
+ "enabled": false,
1008
+ "modality": "text+image+file->text"
1009
+ },
1010
+ {
1011
+ "id": "openrouter/openai/gpt-5.5-pro",
1012
+ "name": "GPT-5.5 Pro (OR)",
1013
+ "provider": "openrouter",
1014
+ "enabled": false,
1015
+ "modality": "text+image+file->text"
1016
+ },
1017
+ {
1018
+ "id": "openrouter/openai/gpt-5.6-luna-pro",
1019
+ "name": "GPT-5.6 Luna Pro (OR)",
1020
+ "provider": "openrouter",
1021
+ "enabled": false,
1022
+ "modality": "text+image+file->text"
1023
+ },
1024
+ {
1025
+ "id": "openrouter/openai/gpt-5.6-sol-pro",
1026
+ "name": "GPT-5.6 Sol Pro (OR)",
1027
+ "provider": "openrouter",
1028
+ "enabled": false,
1029
+ "modality": "text+image+file->text"
1030
+ },
1031
+ {
1032
+ "id": "openrouter/openai/gpt-5.6-terra",
1033
+ "name": "GPT-5.6 Terra (OR)",
1034
+ "provider": "openrouter",
1035
+ "enabled": false,
1036
+ "modality": "text+image+file->text"
1037
+ },
1038
+ {
1039
+ "id": "openrouter/openai/gpt-5.6-terra-pro",
1040
+ "name": "GPT-5.6 Terra Pro (OR)",
1041
+ "provider": "openrouter",
1042
+ "enabled": false,
1043
+ "modality": "text+image+file->text"
1044
+ },
1045
+ {
1046
+ "id": "openrouter/openai/gpt-6-astra",
1047
+ "name": "GPT-6 Astra (OR)",
1048
+ "provider": "openrouter",
1049
+ "enabled": false,
1050
+ "modality": "text+image+file->text"
1051
+ },
1052
+ {
1053
+ "id": "openrouter/openai/gpt-6-astra-pro",
1054
+ "name": "GPT-6 Astra Pro (OR)",
1055
+ "provider": "openrouter",
1056
+ "enabled": false,
1057
+ "modality": "text+image+file->text"
1058
+ },
1059
+ {
1060
+ "id": "openrouter/openai/gpt-6-luna",
1061
+ "name": "GPT-6 Luna (OR)",
1062
+ "provider": "openrouter",
1063
+ "enabled": false,
1064
+ "modality": "text+image+file->text"
1065
+ },
1066
+ {
1067
+ "id": "openrouter/openai/gpt-6-luna-pro",
1068
+ "name": "GPT-6 Luna Pro (OR)",
1069
+ "provider": "openrouter",
1070
+ "enabled": false,
1071
+ "modality": "text+image+file->text"
1072
+ },
1073
+ {
1074
+ "id": "openrouter/openai/gpt-6-sol",
1075
+ "name": "GPT-6 Sol (OR)",
1076
+ "provider": "openrouter",
1077
+ "enabled": false,
1078
+ "modality": "text+image+file->text"
1079
+ },
1080
+ {
1081
+ "id": "openrouter/openai/gpt-6-sol-pro",
1082
+ "name": "GPT-6 Sol Pro (OR)",
1083
+ "provider": "openrouter",
1084
+ "enabled": false,
1085
+ "modality": "text+image+file->text"
1086
+ },
1087
+ {
1088
+ "id": "openrouter/anthropic/claude-fable-5.1",
1089
+ "name": "Claude Fable 5.1 (OR)",
1090
+ "provider": "openrouter",
1091
+ "enabled": false,
1092
+ "modality": "text+image+file->text"
1093
+ },
1094
+ {
1095
+ "id": "openrouter/anthropic/claude-opus-4.5",
1096
+ "name": "Claude Opus 4.5 (OR)",
1097
+ "provider": "openrouter",
1098
+ "enabled": false,
1099
+ "modality": "text+image+file->text"
1100
+ },
1101
+ {
1102
+ "id": "openrouter/anthropic/claude-opus-4.6",
1103
+ "name": "Claude Opus 4.6 (OR)",
1104
+ "provider": "openrouter",
1105
+ "enabled": false,
1106
+ "modality": "text+image+file->text"
1107
+ },
1108
+ {
1109
+ "id": "openrouter/anthropic/claude-opus-4.8",
1110
+ "name": "Claude Opus 4.8 (OR)",
1111
+ "provider": "openrouter",
1112
+ "enabled": false,
1113
+ "modality": "text+image+file->text"
1114
+ },
1115
+ {
1116
+ "id": "openrouter/anthropic/claude-opus-5.5",
1117
+ "name": "Claude Opus 5.5 (OR)",
1118
+ "provider": "openrouter",
1119
+ "enabled": false,
1120
+ "modality": "text+image+file->text"
1121
+ },
1122
+ {
1123
+ "id": "openrouter/google/gemini-3.5-flash",
1124
+ "name": "Gemini 3.5 Flash (OR)",
1125
+ "provider": "openrouter",
1126
+ "enabled": false,
1127
+ "modality": "text+image+file+audio+video->text"
1128
+ },
1129
+ {
1130
+ "id": "openrouter/google/gemini-3.5-flash-lite",
1131
+ "name": "Gemini 3.5 Flash Lite (OR)",
1132
+ "provider": "openrouter",
1133
+ "enabled": false,
1134
+ "modality": "text+image+file+audio+video->text"
1135
+ },
1136
+ {
1137
+ "id": "openrouter/google/gemini-3.7-flash",
1138
+ "name": "Gemini 3.7 Flash (OR)",
1139
+ "provider": "openrouter",
1140
+ "enabled": false,
1141
+ "modality": "text+image+file+audio+video->text"
1142
+ },
1143
+ {
1144
+ "id": "openrouter/google/gemini-3.8-flash",
1145
+ "name": "Gemini 3.8 Flash (OR)",
1146
+ "provider": "openrouter",
1147
+ "enabled": false,
1148
+ "modality": "text+image+file+audio+video->text"
1149
+ },
1150
+ {
1151
+ "id": "openrouter/qwen/qwen3.5-122b-a10b",
1152
+ "name": "Qwen3.5-122B-A10B (OR)",
1153
+ "provider": "openrouter",
1154
+ "enabled": false,
1155
+ "modality": "text+image+video->text"
1156
+ },
1157
+ {
1158
+ "id": "openrouter/qwen/qwen3.5-27b",
1159
+ "name": "Qwen3.5-27B (OR)",
1160
+ "provider": "openrouter",
1161
+ "enabled": false,
1162
+ "modality": "text+image+video->text"
1163
+ },
1164
+ {
1165
+ "id": "openrouter/qwen/qwen3.5-35b-a3b",
1166
+ "name": "Qwen3.5-35B-A3B (OR)",
1167
+ "provider": "openrouter",
1168
+ "enabled": false,
1169
+ "modality": "text+image+video->text"
1170
+ },
1171
+ {
1172
+ "id": "openrouter/qwen/qwen3.5-397b-a17b",
1173
+ "name": "Qwen3.5 397B A17B (OR)",
1174
+ "provider": "openrouter",
1175
+ "enabled": false,
1176
+ "modality": "text+image+video->text"
1177
+ },
1178
+ {
1179
+ "id": "openrouter/qwen/qwen3.5-9b",
1180
+ "name": "Qwen3.5-9B (OR)",
1181
+ "provider": "openrouter",
1182
+ "enabled": false,
1183
+ "modality": "text+image+video->text"
1184
+ },
1185
+ {
1186
+ "id": "openrouter/qwen/qwen3.5-flash-02-23",
1187
+ "name": "Qwen3.5-Flash (OR)",
1188
+ "provider": "openrouter",
1189
+ "enabled": false,
1190
+ "modality": "text+image+video->text"
1191
+ },
1192
+ {
1193
+ "id": "openrouter/qwen/qwen3.5-plus-02-15",
1194
+ "name": "Qwen3.5 Plus 2026-02-15 (OR)",
1195
+ "provider": "openrouter",
1196
+ "enabled": false,
1197
+ "modality": "text+image+video->text"
1198
+ },
1199
+ {
1200
+ "id": "openrouter/qwen/qwen3.5-plus-20260420",
1201
+ "name": "Qwen3.5 Plus 2026-04-20 (OR)",
1202
+ "provider": "openrouter",
1203
+ "enabled": false,
1204
+ "modality": "text+image+video->text"
1205
+ },
1206
+ {
1207
+ "id": "openrouter/qwen/qwen3.8-2.4t-a95b",
1208
+ "name": "Qwen3.8 2.4T A95B (OR)",
1209
+ "provider": "openrouter",
1210
+ "enabled": false,
1211
+ "modality": "text->text"
1212
+ },
1213
+ {
1214
+ "id": "openrouter/qwen/qwen3.8-27b",
1215
+ "name": "Qwen3.8 27B (OR)",
1216
+ "provider": "openrouter",
1217
+ "enabled": false,
1218
+ "modality": "text+image+video->text"
1219
+ },
1220
+ {
1221
+ "id": "openrouter/qwen/qwen3.8-flash",
1222
+ "name": "Qwen3.8 Flash (OR)",
1223
+ "provider": "openrouter",
1224
+ "enabled": false,
1225
+ "modality": "text+image+video->text"
1226
+ },
1227
+ {
1228
+ "id": "openrouter/qwen/qwen3.8-max-0902",
1229
+ "name": "Qwen3.8 Max (0902) (OR)",
1230
+ "provider": "openrouter",
1231
+ "enabled": false,
1232
+ "modality": "text+image+video->text"
1233
+ },
1234
+ {
1235
+ "id": "openrouter/qwen/qwen3.8-omni-flash",
1236
+ "name": "Qwen3.8 Omni Flash (OR)",
1237
+ "provider": "openrouter",
1238
+ "enabled": false,
1239
+ "modality": "text+image+audio+video->text"
1240
+ },
1241
+ {
1242
+ "id": "openrouter/deepseek/deepseek-v4-flash-0731",
1243
+ "name": "DeepSeek V4 Flash 0731 (OR)",
1244
+ "provider": "openrouter",
1245
+ "enabled": false,
1246
+ "modality": "text->text"
1247
+ },
1248
+ {
1249
+ "id": "openrouter/deepseek/deepseek-v4-pro-0813",
1250
+ "name": "DeepSeek V4 Pro 0813 (OR)",
1251
+ "provider": "openrouter",
1252
+ "enabled": false,
1253
+ "modality": "text->text"
1254
+ },
1255
+ {
1256
+ "id": "openrouter/moonshotai/kimi-k2.5",
1257
+ "name": "Kimi K2.5 (OR)",
1258
+ "provider": "openrouter",
1259
+ "enabled": false,
1260
+ "modality": "text+image->text"
1261
+ },
1262
+ {
1263
+ "id": "openrouter/x-ai/grok-4.6",
1264
+ "name": "Grok 4.6 (OR)",
1265
+ "provider": "openrouter",
1266
+ "enabled": false,
1267
+ "modality": "text+image+file->text"
1268
+ },
1269
+ {
1270
+ "id": "openrouter/x-ai/grok-4.7",
1271
+ "name": "Grok 4.7 (OR)",
1272
+ "provider": "openrouter",
1273
+ "enabled": false,
1274
+ "modality": "text+image+file->text"
857
1275
  }
858
1276
  ]
859
1277
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flame0510/project-aether",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Rev4a — Revolution for Agents. OpenClaw agent fleet orchestrator.",
5
5
  "keywords": [
6
6
  "openclaw",
@@ -49,13 +49,13 @@ function round(n) {
49
49
  }
50
50
 
51
51
  /**
52
- * Serialise model-pricing.json preserving its `5.0` style for whole numbers.
53
- * JSON.stringify writes `5`, which is the same value but rewrites ~114 lines
54
- * that didn't change — burying the handful of real price moves in noise and
55
- * making the diff unreviewable on every run.
52
+ * Serialise model-pricing.json in the shape the committed file has: integers as
53
+ * integers (`5`, not `5.0`) and up to six decimals otherwise. `perMillion` already
54
+ * rounds there, so `String` cannot emit float noise, and a run rewrites only the lines
55
+ * whose price actually moved — which is what makes the diff reviewable.
56
56
  */
57
57
  function serialisePricing(pricing) {
58
- const num = (n) => (Number.isInteger(n) ? n.toFixed(1) : String(n));
58
+ const num = (n) => String(n);
59
59
  const body = Object.entries(pricing)
60
60
  .map(([id, p]) => ` ${JSON.stringify(id)}: {\n "input": ${num(p.input)},\n "output": ${num(p.output)}\n }`)
61
61
  .join(',\n');