@bitkyc08/opencodex 2.40.0 → 2.41.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.
Files changed (72) hide show
  1. package/README.md +4 -0
  2. package/gui/dist/assets/index-B2YjLA-i.css +1 -0
  3. package/gui/dist/assets/{index-BHe2rl_C.js → index-aPup8CKb.js} +20 -20
  4. package/gui/dist/index.html +2 -2
  5. package/gui/dist/provider-icons/meta.svg +1 -0
  6. package/package.json +4 -3
  7. package/src/adapters/cursor/catalog.ts +71 -29
  8. package/src/adapters/cursor/claude-id.ts +76 -0
  9. package/src/adapters/cursor/discovery.ts +16 -3
  10. package/src/adapters/cursor/effort-map.ts +27 -12
  11. package/src/adapters/google.ts +39 -2
  12. package/src/adapters/openai-responses.ts +14 -1
  13. package/src/cli/claude.ts +11 -2
  14. package/src/cli/connect.ts +7 -1
  15. package/src/cli/registry.ts +1 -1
  16. package/src/cli/status.ts +19 -4
  17. package/src/client/connect.ts +5 -1
  18. package/src/client/hub-client.ts +29 -5
  19. package/src/clients/config-export.ts +12 -2
  20. package/src/codex/catalog/aggregation.ts +8 -0
  21. package/src/codex/catalog/metadata.ts +5 -0
  22. package/src/codex/catalog/parsing.ts +2 -0
  23. package/src/codex/catalog/provider-fetch.ts +163 -26
  24. package/src/codex/catalog.ts +1 -1
  25. package/src/codex/convergence-types.ts +1 -0
  26. package/src/codex/desired-state.ts +18 -11
  27. package/src/combos/failover.ts +185 -6
  28. package/src/combos/index.ts +6 -0
  29. package/src/combos/resolve.ts +43 -6
  30. package/src/config.ts +5 -1
  31. package/src/generated/compatibility-version.json +85 -61
  32. package/src/generated/model-metadata.ts +1 -1
  33. package/src/grok/sync.ts +10 -2
  34. package/src/integrations/cursor-effort-table.ts +143 -0
  35. package/src/integrations/state.ts +1 -1
  36. package/src/integrations/writer.ts +2 -2
  37. package/src/lib/app-owned-memory-stores.ts +27 -8
  38. package/src/lib/bounded-body.ts +16 -1
  39. package/src/oauth/generic-account-failover.ts +2 -2
  40. package/src/oauth/index.ts +11 -0
  41. package/src/oauth/meta-muse.ts +235 -0
  42. package/src/providers/antigravity-models.ts +71 -13
  43. package/src/providers/command-code-efforts.ts +15 -0
  44. package/src/providers/free-directory.ts +4 -1
  45. package/src/providers/registry.ts +116 -8
  46. package/src/responses/code-mode-helper-compat.ts +4 -1
  47. package/src/responses/state.ts +5 -4
  48. package/src/server/auth-cors.ts +241 -56
  49. package/src/server/chat-completions.ts +11 -2
  50. package/src/server/chat-native.ts +30 -4
  51. package/src/server/claude-messages.ts +17 -3
  52. package/src/server/effort-row.ts +131 -0
  53. package/src/server/index.ts +67 -38
  54. package/src/server/management/api-key-rotation.ts +2 -1
  55. package/src/server/management/api-key-usage.ts +97 -43
  56. package/src/server/management/context.ts +3 -0
  57. package/src/server/management/cursor-integration-routes.ts +36 -7
  58. package/src/server/management/logs-usage-routes.ts +64 -87
  59. package/src/server/management/provider-routes.ts +218 -1
  60. package/src/server/management/route-registry.ts +1 -0
  61. package/src/server/management/usage-aggregate-cache.ts +464 -0
  62. package/src/server/management/usage-summary-cache.ts +4 -0
  63. package/src/server/models-capabilities.ts +60 -5
  64. package/src/server/responses/core.ts +61 -7
  65. package/src/types/config.ts +10 -1
  66. package/src/types/tools.ts +12 -9
  67. package/src/usage/expected-prices.ts +43 -7
  68. package/src/usage/ledger-scanner.ts +448 -0
  69. package/src/usage/log.ts +1 -1
  70. package/src/usage/summary.ts +915 -655
  71. package/src/web-search/index.ts +1 -1
  72. package/gui/dist/assets/index-CJSb3HPe.css +0 -1
@@ -6,15 +6,15 @@
6
6
  "files": [
7
7
  {
8
8
  "path": "bun.lock",
9
- "sha256": "29a6cf6ad4c475b5ec0fbcc104b032fbdb293fed12eb17d803ce626481e7e2f5"
9
+ "sha256": "1c8763b0a3f765d54642538bedc8e770070785077013998a9c7d1bd8f1499897"
10
10
  },
11
11
  {
12
12
  "path": "package.json",
13
- "sha256": "744d790076a782983caf3f0b41cfdf19bb626b89cde350551d85fcbe0a5dbeb7"
13
+ "sha256": "47de57e8a70dd7d845a202d2863bcb8b0a27b4f842de035a18565f8dcf104ebf"
14
14
  },
15
15
  {
16
16
  "path": "scripts/model-metadata.source.json",
17
- "sha256": "cc4bb56e0e01d4a0d49211bcf5da13efb92d1cf208bb6ec57dcdea110ac32d97"
17
+ "sha256": "12a2f52a16b4633b8315733ca387df8103f049f1e375f48c2fe670047d109544"
18
18
  },
19
19
  {
20
20
  "path": "src/AGENTS.md",
@@ -78,23 +78,27 @@
78
78
  },
79
79
  {
80
80
  "path": "src/adapters/cursor/catalog.ts",
81
- "sha256": "19ba3fd16f30263e6de3e3f8a3d7b5a3b4f44a43f86ec9a3ebf3ca26ce205d2c"
81
+ "sha256": "b70cf4ca5f700f3db00b3dc8ceebecbc084bcd4faf76c50dc9e2ff062d5e3d87"
82
82
  },
83
83
  {
84
84
  "path": "src/adapters/cursor/checkpoint-store.ts",
85
85
  "sha256": "6bb5a6661bd251dd43ebc096adf207c0198fa145cc3d0246cd22920b7efafb8e"
86
86
  },
87
+ {
88
+ "path": "src/adapters/cursor/claude-id.ts",
89
+ "sha256": "1be7fb39ce50b0407ba98f6052ecbb9092fcb2220cf5388336f14c04f32c15b6"
90
+ },
87
91
  {
88
92
  "path": "src/adapters/cursor/cursor-errors.ts",
89
93
  "sha256": "2baae75f883e4f09b3cb20084be8124f00d727f007ccdfbd898f61052a59fd4b"
90
94
  },
91
95
  {
92
96
  "path": "src/adapters/cursor/discovery.ts",
93
- "sha256": "14457625c0139bdd13a06c50439e223d8d16908ea2385b967b68525dfb71fd67"
97
+ "sha256": "6ea681e67ef8e1669d96970420de6620e10d43adc93b33c7613a33e4b9c1331e"
94
98
  },
95
99
  {
96
100
  "path": "src/adapters/cursor/effort-map.ts",
97
- "sha256": "4ad9e17b7779f31a57b68802498b6772d66d1e7fe9d69fd9872c0b6aa05fe241"
101
+ "sha256": "620b1369e1594445753f5c9c5bb2c486b12e7fa5ee4f2a29d3be23a2eaa498c8"
98
102
  },
99
103
  {
100
104
  "path": "src/adapters/cursor/envelope-echo.ts",
@@ -258,7 +262,7 @@
258
262
  },
259
263
  {
260
264
  "path": "src/adapters/google.ts",
261
- "sha256": "7a8a1bfebf75e041f849dd268b1a72ddf94aa42c673665b01991933ad4c88e3b"
265
+ "sha256": "37830368c38f2493d5777467e32c596c97dff7190bc4038981b8e5f0cdcf0efe"
262
266
  },
263
267
  {
264
268
  "path": "src/adapters/identity.ts",
@@ -338,7 +342,7 @@
338
342
  },
339
343
  {
340
344
  "path": "src/adapters/openai-responses.ts",
341
- "sha256": "7dab1ab1e07efe29f0e53b872025cdbd4113b66d5fffd90abde4fba3e82f7489"
345
+ "sha256": "4a12d138aca9dd1e56ef6d11907aa69a143acd9e1534d991806d217dbe975890"
342
346
  },
343
347
  {
344
348
  "path": "src/adapters/registry.ts",
@@ -518,7 +522,7 @@
518
522
  },
519
523
  {
520
524
  "path": "src/cli/claude.ts",
521
- "sha256": "7e030518c48a8f0d4f95fe2fcd67c61eedb65088e4b12986d8c094cca9dc0e4d"
525
+ "sha256": "708b66c910798f39a3122d21c3faee8682f31679a35d8bb0499a70b2d138b44f"
522
526
  },
523
527
  {
524
528
  "path": "src/cli/codex-cli-update.ts",
@@ -546,7 +550,7 @@
546
550
  },
547
551
  {
548
552
  "path": "src/cli/connect.ts",
549
- "sha256": "a2ae6387d19fb3d9ea9640de24e70a9bec059fc6be24ad13d05d82c7d3cf954d"
553
+ "sha256": "a64cecea5f2a9911b27277bfe4e9d2609f030f9f6c3456e38d911f3f449e6bc5"
550
554
  },
551
555
  {
552
556
  "path": "src/cli/debug.ts",
@@ -646,7 +650,7 @@
646
650
  },
647
651
  {
648
652
  "path": "src/cli/registry.ts",
649
- "sha256": "0d547d22742194fb8121f1d3956098f25a1bf0e708515459a435d5256c28d0a1"
653
+ "sha256": "3b2791eb66c12c3eeaf4dbf04cd9ccdd345eeb7bf6c71550a735d37f2b684866"
650
654
  },
651
655
  {
652
656
  "path": "src/cli/root.ts",
@@ -670,7 +674,7 @@
670
674
  },
671
675
  {
672
676
  "path": "src/cli/status.ts",
673
- "sha256": "3168ea4179693a6a9c805d3fb1f8a91a88e0dae077afee484cd4ea7c1db918f9"
677
+ "sha256": "15b57593784dd82555d4ece9eaeb773c8d3690fd95dc84d5983e4aff19f014b5"
674
678
  },
675
679
  {
676
680
  "path": "src/cli/storage.ts",
@@ -706,11 +710,11 @@
706
710
  },
707
711
  {
708
712
  "path": "src/client/connect.ts",
709
- "sha256": "12da928094357fd016d80c5b489c114cd1470c18867d589c0b26131bb72f6487"
713
+ "sha256": "12bf414fd5edc8513de5f0c527d30d40060ffb9a5e42235ba3e6440062225170"
710
714
  },
711
715
  {
712
716
  "path": "src/client/hub-client.ts",
713
- "sha256": "ac194484053c87eb5354df3ae00da2246009012d0ad7ff14b61d83552bc0646d"
717
+ "sha256": "62d045ced99cacbb83331cf4e2b6be763d1b8640dbeea2a547879afb5baa636b"
714
718
  },
715
719
  {
716
720
  "path": "src/client/hub-relay.ts",
@@ -738,7 +742,7 @@
738
742
  },
739
743
  {
740
744
  "path": "src/clients/config-export.ts",
741
- "sha256": "fd3e715eb390ceb0edefe13502dbcd5f8aea07433d6eaf9837a9147d2eeb5bcd"
745
+ "sha256": "c43210235a5fbced089be5cf699a3cb40f941b52e16075906eaf59bdabb2cd01"
742
746
  },
743
747
  {
744
748
  "path": "src/codex/account-id.ts",
@@ -826,7 +830,7 @@
826
830
  },
827
831
  {
828
832
  "path": "src/codex/catalog.ts",
829
- "sha256": "063bd6fc04e9cebfab7dbb1354643f3473cd2b57fa375318cf7db5be4eb69b52"
833
+ "sha256": "31ec258ffb16b1f7393480f0fe3454263a0b8f7b9a646d84acc35c4122b30d0a"
830
834
  },
831
835
  {
832
836
  "path": "src/codex/catalog/account-models.ts",
@@ -834,7 +838,7 @@
834
838
  },
835
839
  {
836
840
  "path": "src/codex/catalog/aggregation.ts",
837
- "sha256": "12a51cc5db4c10f763489d1be5cd5ba30444c7c929b8e136b1da4c22298b6611"
841
+ "sha256": "6b0ebcf21c86fe5ae0880ed51922f487a3baa647a3d58e15b8f6a8dd48529f69"
838
842
  },
839
843
  {
840
844
  "path": "src/codex/catalog/bundled.ts",
@@ -854,7 +858,7 @@
854
858
  },
855
859
  {
856
860
  "path": "src/codex/catalog/metadata.ts",
857
- "sha256": "24dc72a112089964baeca9f2288154f67f70e90b1c08222ca1b30e9284ee50af"
861
+ "sha256": "7931ecde8e90f661b2550e3961607d04fd88e042099d628fb04d40c0b988ddbf"
858
862
  },
859
863
  {
860
864
  "path": "src/codex/catalog/native-models.ts",
@@ -862,11 +866,11 @@
862
866
  },
863
867
  {
864
868
  "path": "src/codex/catalog/parsing.ts",
865
- "sha256": "54e82601fd344a00f2a38ca9d5bdd4d318c14230722b34dcbfab30ec6a0fa7f3"
869
+ "sha256": "8dbf8350b263c8364f87e9b92aea6ccb9a97672047f81dad4d154f0e877f3a1e"
866
870
  },
867
871
  {
868
872
  "path": "src/codex/catalog/provider-fetch.ts",
869
- "sha256": "5ad626aec5df22408f16e95e942c7bcf4758ce9cd85b0985679d31d073cfed45"
873
+ "sha256": "b2e70967445db892ada6ba0525a7718a885b6fe362a56e85a5fa79de67ddd288"
870
874
  },
871
875
  {
872
876
  "path": "src/codex/catalog/sync.ts",
@@ -882,7 +886,7 @@
882
886
  },
883
887
  {
884
888
  "path": "src/codex/convergence-types.ts",
885
- "sha256": "695341c87bdcb5d6784a3ba8609d84893b1d0995a545331f2c171152f985efaf"
889
+ "sha256": "addd9aa3eda6c88d063078228a52c0c4d68b0d65452b4581c582b4a2850eb8e6"
886
890
  },
887
891
  {
888
892
  "path": "src/codex/convergence.ts",
@@ -906,7 +910,7 @@
906
910
  },
907
911
  {
908
912
  "path": "src/codex/desired-state.ts",
909
- "sha256": "e59769bed20c9e495ef66f27e06a47e1e5fc7344c52115fd64272659bc913ad7"
913
+ "sha256": "e87f09728bc5d21ff71603046fb132206dfa7bd4a1401fab99e9002e2ebac7ae"
910
914
  },
911
915
  {
912
916
  "path": "src/codex/desktop-app-restart.ts",
@@ -1214,11 +1218,11 @@
1214
1218
  },
1215
1219
  {
1216
1220
  "path": "src/combos/failover.ts",
1217
- "sha256": "b1472926d6c00449d71260270320601c510a74bfcb782804d0b7a2cb292dc813"
1221
+ "sha256": "f575ff508447834da27698e67c92b10df519876044171dcf8aed2e3f2b9581aa"
1218
1222
  },
1219
1223
  {
1220
1224
  "path": "src/combos/index.ts",
1221
- "sha256": "3ff0f0b6b61285684e43a6df48e4f0382b26fa3d478e0ceb507115fe2571e183"
1225
+ "sha256": "6669a1c45abd82fb148a5d4b9c0738d871d9a8f1b6e6e2f3cbec910ee1c4f284"
1222
1226
  },
1223
1227
  {
1224
1228
  "path": "src/combos/request.ts",
@@ -1230,7 +1234,7 @@
1230
1234
  },
1231
1235
  {
1232
1236
  "path": "src/combos/resolve.ts",
1233
- "sha256": "466205bdebea022827688229ef68f8c195d4ce6baddcf5bedf7a2ec5ba39f563"
1237
+ "sha256": "1731a5b07b9ffbf847a04eba5783de039200a3682e357e21fb04f0c10e4dafe7"
1234
1238
  },
1235
1239
  {
1236
1240
  "path": "src/combos/types.ts",
@@ -1250,7 +1254,7 @@
1250
1254
  },
1251
1255
  {
1252
1256
  "path": "src/config.ts",
1253
- "sha256": "930bea140309a44b4ba1bbafb62293bd12cf397e87ecfad5c38a5e2cdafbe203"
1257
+ "sha256": "f186133fa3f68f3cb4dbb47c194ec8c15de9e6a5bf814418e34d866ef5eb2be4"
1254
1258
  },
1255
1259
  {
1256
1260
  "path": "src/config/atomic-write.ts",
@@ -1290,7 +1294,7 @@
1290
1294
  },
1291
1295
  {
1292
1296
  "path": "src/generated/model-metadata.ts",
1293
- "sha256": "5fa3eca7680a8c0fc3b45402bcc11ccd1e0e23c56c78b01371d1e31812867800"
1297
+ "sha256": "a381b62b7c8e22c7c608cf43a9d764a231d054115662e2d3ab2c025ed7a9fe3e"
1294
1298
  },
1295
1299
  {
1296
1300
  "path": "src/github/star-state.ts",
@@ -1322,7 +1326,7 @@
1322
1326
  },
1323
1327
  {
1324
1328
  "path": "src/grok/sync.ts",
1325
- "sha256": "541d3e4688f0da876e8314bd16568b0897d0106379e0b519197a1c5c8a50532d"
1329
+ "sha256": "cb1126e20de6ba55076a6a0df479095d5da01940a69c361210ce77d04377d800"
1326
1330
  },
1327
1331
  {
1328
1332
  "path": "src/images/artifacts.ts",
@@ -1376,6 +1380,10 @@
1376
1380
  "path": "src/integrations/cursor-detect.ts",
1377
1381
  "sha256": "ec3c7c03cb7652bd7c89eee4a285fefd0c2c0fa4c641238fda91b977ac12f02c"
1378
1382
  },
1383
+ {
1384
+ "path": "src/integrations/cursor-effort-table.ts",
1385
+ "sha256": "01aaf416476550049fa9676f1aa8710e618000733e096d014d17fb63c94d801a"
1386
+ },
1379
1387
  {
1380
1388
  "path": "src/integrations/cursor-seen.ts",
1381
1389
  "sha256": "ed100257d59585f2f42c46157f844a44f0f53ec66f82cbd267675baef798e231"
@@ -1422,7 +1430,7 @@
1422
1430
  },
1423
1431
  {
1424
1432
  "path": "src/integrations/state.ts",
1425
- "sha256": "b6f44aeb35606aadfc73b7c688bc75db4f34504238081b75cb94637a73f43b89"
1433
+ "sha256": "bd2a343849d4c7c0fa54a7380220ab66cb03b7a49d7a9565c8e3e72128a32d15"
1426
1434
  },
1427
1435
  {
1428
1436
  "path": "src/integrations/store.ts",
@@ -1434,7 +1442,7 @@
1434
1442
  },
1435
1443
  {
1436
1444
  "path": "src/integrations/writer.ts",
1437
- "sha256": "3945b3b4c408c613f76672c8cb213d84433ec4474966d9e9f00923f6a3707ed9"
1445
+ "sha256": "907602643f7e344ad2ae7ccae1a485ba43ac00958d11f6552cea5e732585cad7"
1438
1446
  },
1439
1447
  {
1440
1448
  "path": "src/lab/artifacts/sanitize.ts",
@@ -1926,7 +1934,7 @@
1926
1934
  },
1927
1935
  {
1928
1936
  "path": "src/lib/app-owned-memory-stores.ts",
1929
- "sha256": "947c1cd5bdff6e15de778a76eb4d2d4cf103bf482354d2736003807b2e8d409c"
1937
+ "sha256": "aa59512ac53de389e9779b8c1d93661cf3e362fa053492c5453746d8e8f5d0fe"
1930
1938
  },
1931
1939
  {
1932
1940
  "path": "src/lib/app-owned-memory.ts",
@@ -1934,7 +1942,7 @@
1934
1942
  },
1935
1943
  {
1936
1944
  "path": "src/lib/bounded-body.ts",
1937
- "sha256": "3ae1a26d2bfa6dc6b06ec536b81e46278bbde99f4038c70e38c60bd9bc9a63be"
1945
+ "sha256": "bc51e0746b3ae2b8c0f93c359d7d8bb3867a38fb09a95f8fd40a6f1d39bacbcb"
1938
1946
  },
1939
1947
  {
1940
1948
  "path": "src/lib/bounded-subprocess.ts",
@@ -2258,7 +2266,7 @@
2258
2266
  },
2259
2267
  {
2260
2268
  "path": "src/oauth/generic-account-failover.ts",
2261
- "sha256": "f19d3d2506919e024c55eef12d5bd9da6d193392c1b92f2cd019fec7d6a35c97"
2269
+ "sha256": "a11267546a2c6064fba1ad819b50655652500e5b626fc1f2371bcf7707b04d81"
2262
2270
  },
2263
2271
  {
2264
2272
  "path": "src/oauth/github-copilot.ts",
@@ -2274,7 +2282,7 @@
2274
2282
  },
2275
2283
  {
2276
2284
  "path": "src/oauth/index.ts",
2277
- "sha256": "94a57b1785200cc5a7f3fb2b964317cf30a051baa4415c213c08cd39ee44ca75"
2285
+ "sha256": "361a8f0a010b93cdb165eb0f083dd8f38b9754fae6f9efae54225db4fbbd87b7"
2278
2286
  },
2279
2287
  {
2280
2288
  "path": "src/oauth/key-providers.ts",
@@ -2304,6 +2312,10 @@
2304
2312
  "path": "src/oauth/login-cli.ts",
2305
2313
  "sha256": "fb3fdbb504545f24f55c1251982f797d9b88989a4088141c19670ce5f1f5c8aa"
2306
2314
  },
2315
+ {
2316
+ "path": "src/oauth/meta-muse.ts",
2317
+ "sha256": "a3842edb088b44daa14d0713a909098c175cfb404831a72498ae9726f1271fcd"
2318
+ },
2307
2319
  {
2308
2320
  "path": "src/oauth/nous.ts",
2309
2321
  "sha256": "49fb089b01a8a118e575069d2308912b7fd661ef882913193b0e9f4d8df28201"
@@ -2354,7 +2366,7 @@
2354
2366
  },
2355
2367
  {
2356
2368
  "path": "src/providers/antigravity-models.ts",
2357
- "sha256": "81535ac49237b29eac0197350a3e11b09006dec8b7a20c03cf582b201f8b0350"
2369
+ "sha256": "48d33a66f89b30ebbb3679341850ffa1e679994702bd9799b1af5c5c82432a9a"
2358
2370
  },
2359
2371
  {
2360
2372
  "path": "src/providers/api-keys.ts",
@@ -2374,7 +2386,7 @@
2374
2386
  },
2375
2387
  {
2376
2388
  "path": "src/providers/command-code-efforts.ts",
2377
- "sha256": "41b349d769f57eb0a6622298caed550c2578c61b30d7297a0e4c0b65b41e5033"
2389
+ "sha256": "a0494b5501e38f1296645825613d96f0ccf18344dfd2c400976b9ac084745a70"
2378
2390
  },
2379
2391
  {
2380
2392
  "path": "src/providers/context-cap.ts",
@@ -2398,7 +2410,7 @@
2398
2410
  },
2399
2411
  {
2400
2412
  "path": "src/providers/free-directory.ts",
2401
- "sha256": "e984f4a79b202e702f4e73386c479fbe96293e6e99ac97d91ddd410e15999087"
2413
+ "sha256": "40db3451034f79a5bd0743e91ba1de12ffe1adc5be18ef19477498ef4b57d864"
2402
2414
  },
2403
2415
  {
2404
2416
  "path": "src/providers/github-copilot-transport.ts",
@@ -2502,7 +2514,7 @@
2502
2514
  },
2503
2515
  {
2504
2516
  "path": "src/providers/registry.ts",
2505
- "sha256": "961fd182fe812474bf1f996c9638d76d965d2da291f5905dfa3747f3eb9886d2"
2517
+ "sha256": "089732b5710356083ffe63ba2fea49974f5e5284e0df64829660e606323749b9"
2506
2518
  },
2507
2519
  {
2508
2520
  "path": "src/providers/request-pacing.ts",
@@ -2550,7 +2562,7 @@
2550
2562
  },
2551
2563
  {
2552
2564
  "path": "src/responses/code-mode-helper-compat.ts",
2553
- "sha256": "ddaffda75c4b3fb08f93f4b8f5c5413c55fe9a97f693d77d0d6bd6ffe615d03f"
2565
+ "sha256": "19e10d18df971760b47fe3a3b856138a62ea9b695cda758d1e0e02aaee0ca0ec"
2554
2566
  },
2555
2567
  {
2556
2568
  "path": "src/responses/compaction.ts",
@@ -2598,7 +2610,7 @@
2598
2610
  },
2599
2611
  {
2600
2612
  "path": "src/responses/state.ts",
2601
- "sha256": "9982437898211d879156666d375cc0c1fcc90b04297332ff74b320ca389d1c14"
2613
+ "sha256": "18573290dc0bee10d3eb7f0c97b2ac0e536ad0309613be8ed325b245e046e820"
2602
2614
  },
2603
2615
  {
2604
2616
  "path": "src/responses/thought-signature-replay.ts",
@@ -2726,7 +2738,7 @@
2726
2738
  },
2727
2739
  {
2728
2740
  "path": "src/server/auth-cors.ts",
2729
- "sha256": "4364ce5a0c2e8b1d440aecda315713c4af789d9f6b15858270a12f14d9a0423c"
2741
+ "sha256": "d4250f32a4a946ea93bdd03d57b60eccf661198b84b03a99fe7a41fc47422691"
2730
2742
  },
2731
2743
  {
2732
2744
  "path": "src/server/background-lifecycle.ts",
@@ -2738,7 +2750,7 @@
2738
2750
  },
2739
2751
  {
2740
2752
  "path": "src/server/chat-completions.ts",
2741
- "sha256": "376a861c718e14cf83623d977c4dc9df3cb0d7d6c211c9a562e94b7f10868b61"
2753
+ "sha256": "fd27ba35d4b585ca9c58fc03aab7ba73c88c93208598bc118fe6bbf571e0ff50"
2742
2754
  },
2743
2755
  {
2744
2756
  "path": "src/server/chat-native-sse.ts",
@@ -2746,11 +2758,11 @@
2746
2758
  },
2747
2759
  {
2748
2760
  "path": "src/server/chat-native.ts",
2749
- "sha256": "1edaf841c82f2df97c0fb91b877743aa2484cf32a287dc713b2385e747233bd5"
2761
+ "sha256": "d728fb68741a5eeefb2e9e616bd24cab31bda982f5da46412618392d53c050e7"
2750
2762
  },
2751
2763
  {
2752
2764
  "path": "src/server/claude-messages.ts",
2753
- "sha256": "e034e098e8ae45417625504e8c2736cc9549f17b19c37052934d6e364734864c"
2765
+ "sha256": "e9e17a15c824f249309473d25b6f2c1fba6a6ef72a2c53e36898a008ec964f06"
2754
2766
  },
2755
2767
  {
2756
2768
  "path": "src/server/direct-local-http.ts",
@@ -2760,6 +2772,10 @@
2760
2772
  "path": "src/server/effort-policy.ts",
2761
2773
  "sha256": "1678af1658f000101cb2c5f3273388953e642fbaf7e85771d425d057c4fd2a6f"
2762
2774
  },
2775
+ {
2776
+ "path": "src/server/effort-row.ts",
2777
+ "sha256": "83d790f4ee36a45b73ef964ad15145d01c7e7be22498c73ab9c88c6d5524e80a"
2778
+ },
2763
2779
  {
2764
2780
  "path": "src/server/github-copilot-responses-repair.ts",
2765
2781
  "sha256": "7cff66ca0b8e1b4ff64e29c3b353d876d053a9612a0c357ea5af9603c8400629"
@@ -2782,7 +2798,7 @@
2782
2798
  },
2783
2799
  {
2784
2800
  "path": "src/server/index.ts",
2785
- "sha256": "e3354347dc863e0171ae45380cde8537064b3667c02c0c495aaae2c73cb70161"
2801
+ "sha256": "77a4c65499054cde948de592c27b8e522a12f16e06bdc472cb80e1a4978d1398"
2786
2802
  },
2787
2803
  {
2788
2804
  "path": "src/server/lifecycle.ts",
@@ -2818,11 +2834,11 @@
2818
2834
  },
2819
2835
  {
2820
2836
  "path": "src/server/management/api-key-rotation.ts",
2821
- "sha256": "fdb7fc0a2ba32d94a67896c9580f30034a6c1693e704e1fc2485a5e2eb991db4"
2837
+ "sha256": "ae48461dd5163d331c9270e4713285b36b4aa5c83958713ac8e9af27a376ed75"
2822
2838
  },
2823
2839
  {
2824
2840
  "path": "src/server/management/api-key-usage.ts",
2825
- "sha256": "86a9fbebb6986d115b46e32da123b706d9ee773881bfa5e13b9d87554d89001f"
2841
+ "sha256": "b43e83b249ad82ba1f4f04504c0a19ddd5d7e4f5a23292eaf2309dec58838a3f"
2826
2842
  },
2827
2843
  {
2828
2844
  "path": "src/server/management/body.ts",
@@ -2842,11 +2858,11 @@
2842
2858
  },
2843
2859
  {
2844
2860
  "path": "src/server/management/context.ts",
2845
- "sha256": "8a74e30cce85dbeb7f925fc9894bd9e952e106bc4c5c20a177d2a26d25e70246"
2861
+ "sha256": "197bb4270dbfd81ee8ebf9f7265791516de6c625ba0378306e92c092ace02795"
2846
2862
  },
2847
2863
  {
2848
2864
  "path": "src/server/management/cursor-integration-routes.ts",
2849
- "sha256": "f2d0348443076ac9a766947d0509408e3c915fd9bdc5b352720a98f125291475"
2865
+ "sha256": "8e0d9937c7ee8d2b49a8c15d268b99432367db7228bc8ffbac1fd5b175d3cbad"
2850
2866
  },
2851
2867
  {
2852
2868
  "path": "src/server/management/integration-routes.ts",
@@ -2862,7 +2878,7 @@
2862
2878
  },
2863
2879
  {
2864
2880
  "path": "src/server/management/logs-usage-routes.ts",
2865
- "sha256": "79705f72fed9ab2e4365688b80292b6c53b7bf01588576b67a3b84518dbe99d0"
2881
+ "sha256": "2592a126a2907f0d3519bf05a4abb5aeb464a51c95d27aeacea3a6d3b0d1df01"
2866
2882
  },
2867
2883
  {
2868
2884
  "path": "src/server/management/model-routes.ts",
@@ -2886,7 +2902,7 @@
2886
2902
  },
2887
2903
  {
2888
2904
  "path": "src/server/management/provider-routes.ts",
2889
- "sha256": "5cc1fc2efe6a5bb331df980d2d2d51baa1c5e182a239d1bb441742158e5058b1"
2905
+ "sha256": "2f062d1b43c23029b3957fedfc3a54251463a6db0fb5b87e425aea5da921c74b"
2890
2906
  },
2891
2907
  {
2892
2908
  "path": "src/server/management/request-history-routes.ts",
@@ -2894,7 +2910,7 @@
2894
2910
  },
2895
2911
  {
2896
2912
  "path": "src/server/management/route-registry.ts",
2897
- "sha256": "d35f96021c4a95f5a84e35c891feba00b9ee8e9bd9c4c4b983ed16177fa759ee"
2913
+ "sha256": "88da5666831714ca469f6e11b634ca7120c628317cc3027bc93251e776b52f14"
2898
2914
  },
2899
2915
  {
2900
2916
  "path": "src/server/management/routing-analytics-routes.ts",
@@ -2936,9 +2952,13 @@
2936
2952
  "path": "src/server/management/system-routes.ts",
2937
2953
  "sha256": "16093bf012527111a784f289b2db9ed560e3a6607eecfbda0627f66a0e053487"
2938
2954
  },
2955
+ {
2956
+ "path": "src/server/management/usage-aggregate-cache.ts",
2957
+ "sha256": "9ca0cef386b0bdb989a54bbafdab7cc9aacd392afe6a82849139d465afad3fe8"
2958
+ },
2939
2959
  {
2940
2960
  "path": "src/server/management/usage-summary-cache.ts",
2941
- "sha256": "a8a386202dac11802e51c3bef85ce868363f80ed05aef9db3775109e40a2aba2"
2961
+ "sha256": "2c3f036a2bb01d0adf156397feeb69b20574b1e3325f028ddf30c966b09f5a67"
2942
2962
  },
2943
2963
  {
2944
2964
  "path": "src/server/management/vision-sidecar-options.ts",
@@ -2954,7 +2974,7 @@
2954
2974
  },
2955
2975
  {
2956
2976
  "path": "src/server/models-capabilities.ts",
2957
- "sha256": "6e7d6272689a2184cdd85dcbddf5b43afd54fdc7fab8a048bbc5ff2b5c0669cf"
2977
+ "sha256": "30a0c40cb9f6f53c03fc125e6f69f7c5f4ff84144dcd1af40b8c108b17bc3d28"
2958
2978
  },
2959
2979
  {
2960
2980
  "path": "src/server/passive-route-linker.ts",
@@ -3074,7 +3094,7 @@
3074
3094
  },
3075
3095
  {
3076
3096
  "path": "src/server/responses/core.ts",
3077
- "sha256": "531c2bd4b8c89dc6294f9b7e10a64f69e384cd6990afaf4dbc46a4404dc3b3b1"
3097
+ "sha256": "73233daa85faa14e355d11e0b9aaabda463d586e23d7c44f40373cddab8eb265"
3078
3098
  },
3079
3099
  {
3080
3100
  "path": "src/server/responses/empty-completion-guard.ts",
@@ -3262,7 +3282,7 @@
3262
3282
  },
3263
3283
  {
3264
3284
  "path": "src/types/config.ts",
3265
- "sha256": "c111f1a1fb3ac32b556fbf7aab8f7ccadc27c8e34958e91d1e154ad8da4aaa4b"
3285
+ "sha256": "72d8ebd995cdf43d80d6c314695512fc557a6d61bd336b51fd2e8ced31903c5b"
3266
3286
  },
3267
3287
  {
3268
3288
  "path": "src/types/provider.ts",
@@ -3274,7 +3294,7 @@
3274
3294
  },
3275
3295
  {
3276
3296
  "path": "src/types/tools.ts",
3277
- "sha256": "909fe9af1870f3b6648b703ea395c918e08c95eb2834a5baf7e99269f2333f9e"
3297
+ "sha256": "1d01fdc4670ace7e8aad42665fd2fac149c2bf3fd0fbbf05f8a091f0cd0f31b6"
3278
3298
  },
3279
3299
  {
3280
3300
  "path": "src/types/wire.ts",
@@ -3370,15 +3390,19 @@
3370
3390
  },
3371
3391
  {
3372
3392
  "path": "src/usage/expected-prices.ts",
3373
- "sha256": "2c745e575ef352ffaaac7bfd2360cb9c786e6551f59b5dc4a2a6b997bfc92fab"
3393
+ "sha256": "5ce535b1cd6c76687ae7e790504f1acbf74e849095dd138e69adfed700908f33"
3394
+ },
3395
+ {
3396
+ "path": "src/usage/ledger-scanner.ts",
3397
+ "sha256": "2e7d8e65319a34105f8e7f3e9701c9df09b886156b8dceccef13ca6cf43754c4"
3374
3398
  },
3375
3399
  {
3376
3400
  "path": "src/usage/log.ts",
3377
- "sha256": "6df3d4cccf3082ad2891ed0786fbe7fd5d687ff912043d343dd7fc0e8e1f1546"
3401
+ "sha256": "423aa36de976bb5dd4735ecadb84aa523bc3f4ad6772efed5d609f0c2430fa75"
3378
3402
  },
3379
3403
  {
3380
3404
  "path": "src/usage/summary.ts",
3381
- "sha256": "95a355bc44f028439358fff979d93c17209c1c4d6fa188015f78efc69295e3d6"
3405
+ "sha256": "e5dcc837a20d3cb37f2933ec0f4d31524f09cec15f8817971ab5a1a2d118eb22"
3382
3406
  },
3383
3407
  {
3384
3408
  "path": "src/usage/totals.ts",
@@ -3450,7 +3474,7 @@
3450
3474
  },
3451
3475
  {
3452
3476
  "path": "src/web-search/index.ts",
3453
- "sha256": "f9de3df23c1184f0a7b09ae6ebe9857824dd23a79132bd11d3e36e9a5b6268e4"
3477
+ "sha256": "91f8f8838b95b1403939f507b04c02f8ceb9d9f9d92aeebf77bff4ec938229cf"
3454
3478
  },
3455
3479
  {
3456
3480
  "path": "src/web-search/loop.ts",
@@ -42,7 +42,7 @@ const DATA: Record<string, readonly Row[]> = {
42
42
  "azure-openai": [["gpt-4.1",1047576,32768,"text,image",0,null,2,8,0.5,0],["gpt-4o",128000,16384,"text,image",0,null,2.5,10,1.25,0],["gpt-4o-mini",128000,16384,"text,image",0,null,0.15,0.6,0.075,0],["o3",200000,100000,"text,image",1,null,2,8,0.5,0],["o3-mini",200000,100000,"text",1,null,1.1,4.4,0.55,0]],
43
43
  "cerebras": [["gemma-4-31b",131072,40960,"text,image",1,null,0.99,1.49,0,0],["gpt-oss-120b",131072,40960,"text",1,null,0.35,0.75,0,0],["llama3.1-8b",32000,8000,"text",0,null,0.1,0.1,0,0],["qwen-3-235b-a22b-instruct-2507",131000,32000,"text",0,null,0.6,1.2,0,0],["qwen-3-coder-480b",131072,32768,"text",0,null,0,0,0,0],["zai-glm-4.6",131072,32768,"text",0,null,0,0,0,0],["zai-glm-4.7",131072,40960,"text",1,null,2.25,2.75,2.25,0]],
44
44
  "deepseek": [["deepseek-v4-flash",1048576,384000,"text",1,null,0.14,0.28,0.0028,0],["deepseek-v4-pro",1048576,384000,"text",1,null,0.435,0.87,0.003625,0]],
45
- "google": [["deep-research-max-preview-04-2026",131072,65536,"text,image",1,null,2,12,0.2,0],["deep-research-preview-04-2026",131072,65536,"text,image",1,null,2,12,0.2,0],["gemini-1.5-flash",1000000,8192,"text,image",0,null,0.075,0.3,0.01875,0],["gemini-1.5-flash-8b",1000000,8192,"text,image",0,null,0.0375,0.15,0.01,0],["gemini-1.5-pro",1000000,8192,"text,image",0,null,1.25,5,0.3125,0],["gemini-2.0-flash",1048576,8192,"text,image",0,null,0.1,0.4,0.025,0],["gemini-2.0-flash-lite",1048576,8192,"text,image",0,null,0.075,0.3,0,0],["gemini-2.5-computer-use-preview-10-2025",131072,65536,"text,image",1,null,1.25,10,0,0],["gemini-2.5-flash",1048576,65536,"text,image",1,null,0.3,2.5,0.03,0],["gemini-2.5-flash-lite",1048576,65536,"text,image",1,null,0.1,0.4,0.01,0],["gemini-2.5-flash-lite-preview-06-17",1048576,65536,"text,image",1,null,0.1,0.4,0.025,0],["gemini-2.5-flash-lite-preview-09-2025",1048576,65536,"text,image",1,null,0.1,0.4,0.025,0],["gemini-2.5-flash-preview-04-17",1048576,65536,"text,image",1,null,0.15,0.6,0.0375,0],["gemini-2.5-flash-preview-05-20",1048576,65536,"text,image",1,null,0.15,0.6,0.0375,0],["gemini-2.5-flash-preview-09-2025",1048576,65536,"text,image",1,null,0.3,2.5,0.075,0],["gemini-2.5-pro",1048576,65536,"text,image",1,null,1.25,10,0.125,0],["gemini-2.5-pro-preview-05-06",1048576,65536,"text,image",1,null,1.25,10,0.31,0],["gemini-2.5-pro-preview-06-05",1048576,65536,"text,image",1,null,1.25,10,0.31,0],["gemini-3-flash-preview",1048576,65536,"text,image",1,null,0.5,3,0.05,0],["gemini-3-pro-preview",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.1-flash-lite",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-3.1-flash-lite-image",65536,65536,"text,image",1,null,0.25,30,0,0],["gemini-3.1-flash-lite-preview",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-3.1-flash-live-preview",131072,65536,"text,image",1,null,0.75,4.5,0,0],["gemini-3.1-pro-preview",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.1-pro-preview-customtools",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.5-flash",1048576,65536,"text,image",1,null,1.5,9,0.15,0],["gemini-3.5-flash-lite",1048576,65536,"text,image",1,null,0.3,2.5,0.03,0],["gemini-3.6-flash",1048576,65536,"text,image",1,null,1.5,7.5,0.15,0],["gemini-3.7-flash",1048576,65536,"text,image",1],["gemini-flash-latest",1048576,65536,"text,image",1,null,1.5,9,0.15,0],["gemini-flash-lite-latest",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-live-2.5-flash",128000,8000,"text,image",1,null,0.5,2,0,0],["gemini-live-2.5-flash-preview-native-audio",131072,65536,"text",1,null,0.5,2,0,0],["gemini-robotics-er-1.6-preview",131072,65536,"text,image",1,null,1,5,0,0],["gemma-3-27b-it",131072,8192,"text,image",0,null,0,0,0,0],["gemma-4-26b",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-26b-a4b-it",262144,32768,"text,image",1,null,0,0,0,0],["gemma-4-26b-it",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-31b",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-31b-it",262144,32768,"text,image",1,null,0,0,0,0],["gemma-4-E2B-it",131072,8192,"text,image",1,null,0,0,0,0],["gemma-4-E4B-it",131072,8192,"text,image",1,null,0,0,0,0]],
45
+ "google": [["deep-research-max-preview-04-2026",131072,65536,"text,image",1,null,2,12,0.2,0],["deep-research-preview-04-2026",131072,65536,"text,image",1,null,2,12,0.2,0],["gemini-1.5-flash",1000000,8192,"text,image",0,null,0.075,0.3,0.01875,0],["gemini-1.5-flash-8b",1000000,8192,"text,image",0,null,0.0375,0.15,0.01,0],["gemini-1.5-pro",1000000,8192,"text,image",0,null,1.25,5,0.3125,0],["gemini-2.0-flash",1048576,8192,"text,image",0,null,0.1,0.4,0.025,0],["gemini-2.0-flash-lite",1048576,8192,"text,image",0,null,0.075,0.3,0,0],["gemini-2.5-computer-use-preview-10-2025",131072,65536,"text,image",1,null,1.25,10,0,0],["gemini-2.5-flash",1048576,65536,"text,image",1,null,0.3,2.5,0.03,0],["gemini-2.5-flash-lite",1048576,65536,"text,image",1,null,0.1,0.4,0.01,0],["gemini-2.5-flash-lite-preview-06-17",1048576,65536,"text,image",1,null,0.1,0.4,0.025,0],["gemini-2.5-flash-lite-preview-09-2025",1048576,65536,"text,image",1,null,0.1,0.4,0.025,0],["gemini-2.5-flash-preview-04-17",1048576,65536,"text,image",1,null,0.15,0.6,0.0375,0],["gemini-2.5-flash-preview-05-20",1048576,65536,"text,image",1,null,0.15,0.6,0.0375,0],["gemini-2.5-flash-preview-09-2025",1048576,65536,"text,image",1,null,0.3,2.5,0.075,0],["gemini-2.5-pro",1048576,65536,"text,image",1,null,1.25,10,0.125,0],["gemini-2.5-pro-preview-05-06",1048576,65536,"text,image",1,null,1.25,10,0.31,0],["gemini-2.5-pro-preview-06-05",1048576,65536,"text,image",1,null,1.25,10,0.31,0],["gemini-3-flash-preview",1048576,65536,"text,image",1,null,0.5,3,0.05,0],["gemini-3-pro-preview",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.1-flash-lite",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-3.1-flash-lite-image",65536,65536,"text,image",1,null,0.25,30,0,0],["gemini-3.1-flash-lite-preview",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-3.1-flash-live-preview",131072,65536,"text,image",1,null,0.75,4.5,0,0],["gemini-3.1-pro-preview",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.1-pro-preview-customtools",1048576,65536,"text,image",1,null,2,12,0.2,0],["gemini-3.5-flash",1048576,65536,"text,image",1,null,1.5,9,0.15,0],["gemini-3.5-flash-lite",1048576,65536,"text,image",1,null,0.3,2.5,0.03,0],["gemini-3.6-flash",1048576,65536,"text,image",1,null,1.5,7.5,0.15,0],["gemini-3.7-flash",1048576,65536,"text,image",1],["gemini-3.8-flash",1048576,65536,"text,image",1],["gemini-flash-latest",1048576,65536,"text,image",1,null,1.5,9,0.15,0],["gemini-flash-lite-latest",1048576,65536,"text,image",1,null,0.25,1.5,0.025,0],["gemini-live-2.5-flash",128000,8000,"text,image",1,null,0.5,2,0,0],["gemini-live-2.5-flash-preview-native-audio",131072,65536,"text",1,null,0.5,2,0,0],["gemini-robotics-er-1.6-preview",131072,65536,"text,image",1,null,1,5,0,0],["gemma-3-27b-it",131072,8192,"text,image",0,null,0,0,0,0],["gemma-4-26b",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-26b-a4b-it",262144,32768,"text,image",1,null,0,0,0,0],["gemma-4-26b-it",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-31b",256000,8192,"text,image",1,null,0,0,0,0],["gemma-4-31b-it",262144,32768,"text,image",1,null,0,0,0,0],["gemma-4-E2B-it",131072,8192,"text,image",1,null,0,0,0,0],["gemma-4-E4B-it",131072,8192,"text,image",1,null,0,0,0,0]],
46
46
  "minimax": [["MiniMax-M2",196608,128000,"text",1,null,0.3,1.2,0,0],["MiniMax-M2.1",204800,131072,"text",1,null,0.3,1.2,0,0],["MiniMax-M2.5",204800,131072,"text",1,null,0.3,1.2,0.03,0.375],["MiniMax-M2.5-highspeed",204800,131072,"text",1,null,0.6,2.4,0.06,0.375],["MiniMax-M2.5-lightning",204800,32000,"text",1,null,0.3,2.4,0,0],["MiniMax-M2.7",204800,131072,"text",1,null,0.3,1.2,0.06,0.375],["MiniMax-M2.7-highspeed",204800,131072,"text",1,null,0.6,2.4,0.06,0.375],["minimax-m3",512000,128000,"text,image",1,null,0.6,2.4,0.12,0],["MiniMax-M3",1000000,128000,"text,image,video",1,null,0.3,1.2,0.06,0]],
47
47
  "mistral": [["codestral-latest",256000,4096,"text",0,null,0.3,0.9,0,0],["devstral-2512",262144,262144,"text",0,null,0.4,2,0,0],["devstral-latest",262144,262144,"text",0,null,0.4,2,0,0],["devstral-medium-2507",128000,128000,"text",0,null,0.4,2,0,0],["devstral-medium-latest",262144,262144,"text",0,null,0.4,2,0,0],["devstral-small-2505",128000,128000,"text",0,null,0.1,0.3,0,0],["devstral-small-2507",128000,128000,"text",0,null,0.1,0.3,0,0],["labs-devstral-small-2512",256000,256000,"text,image",0,null,0,0,0,0],["magistral-medium-latest",128000,16384,"text",1,null,2,5,0,0],["magistral-small",128000,128000,"text",1,null,0.5,1.5,0,0],["ministral-3b-latest",128000,128000,"text",0,null,0.04,0.04,0,0],["ministral-8b-latest",128000,128000,"text",0,null,0.1,0.1,0,0],["mistral-large-2411",131072,16384,"text",0,null,2,6,0,0],["mistral-large-2512",262144,262144,"text,image",0,null,0.5,1.5,0,0],["mistral-large-latest",262144,262144,"text,image",0,null,0.5,1.5,0,0],["mistral-medium-2505",131072,131072,"text,image",0,null,0.4,2,0,0],["mistral-medium-2508",262144,262144,"text,image",0,null,0.4,2,0,0],["mistral-medium-2604",262144,262144,"text,image",1,null,1.5,7.5,0,0],["mistral-medium-latest",262144,262144,"text,image",1,null,1.5,7.5,0,0],["mistral-nemo",128000,128000,"text",0,null,0.15,0.15,0,0],["mistral-small-2506",128000,16384,"text,image",0,null,0.1,0.3,0,0],["mistral-small-2603",256000,256000,"text,image",1,null,0.15,0.6,0,0],["mistral-small-latest",256000,256000,"text,image",1,null,0.15,0.6,0,0],["open-mistral-7b",8000,8000,"text",0,null,0.25,0.25,0,0],["open-mistral-nemo",128000,128000,"text",0,null,0.15,0.15,0,0],["open-mixtral-8x22b",64000,64000,"text",0,null,2,6,0,0],["open-mixtral-8x7b",32000,32000,"text",0,null,0.7,0.7,0,0],["pixtral-12b",128000,128000,"text,image",0,null,0.15,0.15,0,0],["pixtral-large-latest",128000,128000,"text,image",0,null,2,6,0,0]],
48
48
  "moonshot": [["kimi-k2.5",262144,65536,"text,image",1,null,0,0,0,0]],
package/src/grok/sync.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * Deps are injectable (mirrors src/codex/sync.ts) so tests can run without a live proxy.
8
8
  */
9
9
  import type { CatalogModel } from "../codex/catalog";
10
+ import { standaloneCodexRoutingTarget } from "../codex/inject";
10
11
  import type { OcxConfig } from "../types";
11
12
  import { projectGrokCatalog } from "./catalog";
12
13
  import { injectGrokConfig, type GrokInjectResult } from "./inject";
@@ -47,8 +48,15 @@ export async function syncGrokConfig(
47
48
  // Pass the FULL list plus the exclusion set: the writer allocates aliases over
48
49
  // everything and emits only what is switched on, so a model's alias never depends on
49
50
  // its neighbours' switches. Absent/empty selection keeps today's behaviour exactly.
50
- return deps.injectGrokConfig(port, projection.models, {
51
- ...(opts.hostname !== undefined ? { hostname: opts.hostname } : {}),
51
+ const target = standaloneCodexRoutingTarget(port, {
52
+ hostname: opts.hostname ?? config.hostname,
53
+ unauthenticatedLoopbackListener: config.unauthenticatedLoopbackListener,
54
+ });
55
+ const targetUrl = new URL(target.baseUrl);
56
+ return deps.injectGrokConfig(Number(targetUrl.port), projection.models, {
57
+ hostname: target.requiresAdmissionToken
58
+ ? (opts.hostname ?? config.hostname)
59
+ : targetUrl.hostname,
52
60
  ...(opts.grokHome !== undefined ? { grokHome: opts.grokHome } : {}),
53
61
  excluded: new Set(config.grokExcludedModels ?? []),
54
62
  catalogModelIds: projection.catalogModelIds,