@bitkyc08/opencodex 2.22.0 → 2.23.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 (79) hide show
  1. package/gui/dist/assets/{index-ClEcVlFO.js → index-rFWrIE11.js} +19 -19
  2. package/gui/dist/index.html +1 -1
  3. package/package.json +2 -2
  4. package/src/adapters/anthropic.ts +39 -7
  5. package/src/adapters/cursor/tool-definitions.ts +48 -0
  6. package/src/adapters/google.ts +18 -12
  7. package/src/adapters/openai-chat.ts +106 -13
  8. package/src/adapters/tool-call-id.ts +119 -0
  9. package/src/adapters/tool-catalog-nudge.ts +3 -0
  10. package/src/bridge.ts +16 -5
  11. package/src/chat/inbound.ts +5 -11
  12. package/src/claude/context-windows.ts +5 -1
  13. package/src/claude/desktop-3p.ts +11 -6
  14. package/src/claude/inbound.ts +39 -1
  15. package/src/claude/model-info.ts +28 -8
  16. package/src/cli/account-api.ts +5 -1
  17. package/src/cli/claude-desktop.ts +3 -0
  18. package/src/cli/config-command.ts +37 -14
  19. package/src/codex/app-server-restart-service.ts +1 -1
  20. package/src/codex/auth-api.ts +5 -0
  21. package/src/codex/auth-context.ts +43 -2
  22. package/src/codex/catalog/metadata.ts +55 -8
  23. package/src/codex/catalog/native-models.ts +32 -2
  24. package/src/codex/catalog/parsing.ts +21 -7
  25. package/src/codex/catalog/provider-fetch.ts +35 -7
  26. package/src/codex/catalog/sync.ts +40 -18
  27. package/src/codex/catalog-refresh-status.ts +21 -3
  28. package/src/codex/catalog.ts +1 -1
  29. package/src/codex/convergence-types.ts +23 -2
  30. package/src/codex/desired-state.ts +1 -1
  31. package/src/codex/inject.ts +38 -7
  32. package/src/codex/injected-marker.ts +28 -0
  33. package/src/codex/journal.ts +40 -1
  34. package/src/codex/management-convergence.ts +55 -2
  35. package/src/codex/quota-rejection.ts +61 -1
  36. package/src/codex/quota.ts +60 -6
  37. package/src/codex/routing.ts +30 -3
  38. package/src/combos/failover.ts +20 -0
  39. package/src/config.ts +271 -4
  40. package/src/generated/compatibility-version.json +86 -74
  41. package/src/grok/sync.ts +3 -1
  42. package/src/lab/artifacts/sanitize.ts +1 -1
  43. package/src/lab/live/manifest.ts +1 -1
  44. package/src/lib/codex-restart-contract.ts +1 -1
  45. package/src/lib/config-ownership.ts +1 -0
  46. package/src/lib/errors.ts +9 -0
  47. package/src/lib/lab-activation.ts +1 -1
  48. package/src/lib/optional-shutdown-hooks.ts +1 -1
  49. package/src/providers/quota.ts +10 -4
  50. package/src/providers/registry.ts +2 -2
  51. package/src/responses/parser.ts +42 -7
  52. package/src/responses/provider-opaque-metadata.ts +1 -1
  53. package/src/responses/thought-signature-replay.ts +261 -0
  54. package/src/router.ts +6 -1
  55. package/src/routing/compatibility/provider-slot.ts +1 -1
  56. package/src/routing/evaluator.ts +12 -2
  57. package/src/routing/health.ts +16 -5
  58. package/src/routing/history/schema.ts +1 -1
  59. package/src/routing/trace.ts +1 -1
  60. package/src/server/auth-cors.ts +56 -21
  61. package/src/server/chat-completions.ts +6 -2
  62. package/src/server/index.ts +5 -3
  63. package/src/server/management/agent-settings-routes.ts +26 -4
  64. package/src/server/management/context.ts +1 -1
  65. package/src/server/management/model-rows.ts +5 -0
  66. package/src/server/management/native-integration-routes.ts +4 -1
  67. package/src/server/management/provider-routes.ts +19 -0
  68. package/src/server/management/shared.ts +3 -3
  69. package/src/server/management-api.ts +13 -6
  70. package/src/server/passive-route-linker.ts +1 -1
  71. package/src/server/relay.ts +16 -0
  72. package/src/server/responses/compact.ts +10 -3
  73. package/src/server/responses/core.ts +160 -33
  74. package/src/server/responses/fetch-helpers.ts +34 -2
  75. package/src/server/responses/input-admission.ts +17 -9
  76. package/src/server/responses-undeclared-tool-guard.ts +153 -0
  77. package/src/server/system-env.ts +4 -2
  78. package/src/service.ts +14 -7
  79. package/src/types.ts +34 -0
@@ -6,11 +6,11 @@
6
6
  "files": [
7
7
  {
8
8
  "path": "bun.lock",
9
- "sha256": "a22537a6b5f7c67c3043c1c112d90122e0a1874d0704b5ce997f8e855975d103"
9
+ "sha256": "dbbd8ffc7f0fc893dbf15cb96552b9ba044a4ffaf0447ac5f6c1817b9ec48ca2"
10
10
  },
11
11
  {
12
12
  "path": "package.json",
13
- "sha256": "23d58fd93c12138baca76f044899d82aea45768aa38f5f78c86e957e080be06b"
13
+ "sha256": "57bd46dc1a69c71fc5d775e860bfa1dee2852d2f8151ff3a22b3c269fe47cf70"
14
14
  },
15
15
  {
16
16
  "path": "scripts/model-metadata.source.json",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  {
36
36
  "path": "src/adapters/anthropic.ts",
37
- "sha256": "ab7791765594ed63fc57a170e2a7e760a882a17ae0d51c0f44a7fbbb789a0416"
37
+ "sha256": "2b565b0a8e84ab143b3a159e9f9cf65d368f2b7e27f41fadb827e28bd76b5a40"
38
38
  },
39
39
  {
40
40
  "path": "src/adapters/azure.ts",
@@ -166,7 +166,7 @@
166
166
  },
167
167
  {
168
168
  "path": "src/adapters/cursor/tool-definitions.ts",
169
- "sha256": "95b440c3456085df1216ed1eb2659025edfc49e6ba121bd8231b46f32fa88870"
169
+ "sha256": "b0e77a16aeb85466052774491c8a4cf3ba3cc5c25bf5c60315efa5a9959d626e"
170
170
  },
171
171
  {
172
172
  "path": "src/adapters/cursor/transport-retry.ts",
@@ -210,7 +210,7 @@
210
210
  },
211
211
  {
212
212
  "path": "src/adapters/google.ts",
213
- "sha256": "2144cb4567aefe746a3b95eb78ac280fbd6ed7bf8dc0d05a88802d526abcc4f1"
213
+ "sha256": "fe8f2df66b0df49927c1e9d261ac122020dd56b3a7bca6f77a3fabf34c8183bd"
214
214
  },
215
215
  {
216
216
  "path": "src/adapters/identity.ts",
@@ -274,7 +274,7 @@
274
274
  },
275
275
  {
276
276
  "path": "src/adapters/openai-chat.ts",
277
- "sha256": "b95eb2964332647ca72f83b1684394d2013d992287a626c04134a5897ddaa251"
277
+ "sha256": "c18a403715cb5d39ff0983decf5fdc4774d3e97fe76f970c07e518e869ca89e0"
278
278
  },
279
279
  {
280
280
  "path": "src/adapters/openai-responses-url.ts",
@@ -296,9 +296,13 @@
296
296
  "path": "src/adapters/run-turn-queue.ts",
297
297
  "sha256": "7599ccc46be13507bdec6e27095092efb0b6d84976bcffe0cca972ce08a6da62"
298
298
  },
299
+ {
300
+ "path": "src/adapters/tool-call-id.ts",
301
+ "sha256": "1426793f965af96c96e297d5ceab7a3dcb36bc19088f6407f89f340b40e94577"
302
+ },
299
303
  {
300
304
  "path": "src/adapters/tool-catalog-nudge.ts",
301
- "sha256": "bf2bc3f1860ef7264df4a2f438df55cc46326c31e1a16e37f1d92b5446b5937b"
305
+ "sha256": "d315b8113a492794ee1321fd3c69638e52af47b8060682e331243cba10167cef"
302
306
  },
303
307
  {
304
308
  "path": "src/adapters/upstream-http-error.ts",
@@ -306,11 +310,11 @@
306
310
  },
307
311
  {
308
312
  "path": "src/bridge.ts",
309
- "sha256": "3176bc017560ccec87b911a00e263aebee23dc8067b6c1d5405137e72a22e0d2"
313
+ "sha256": "63ccf86cb645d70b1e735633e082b483e41507a443a851d4b1ea76436a9a1e3d"
310
314
  },
311
315
  {
312
316
  "path": "src/chat/inbound.ts",
313
- "sha256": "1c5d487db6338883629466d13be1db7aa2c3ee14f1c81e5a0943e7cd7e74bb37"
317
+ "sha256": "d7c3fdf2e5051c59cf7ae9f80c32f9e476f41d479aa3b4c2241a3e90c1ed58fa"
314
318
  },
315
319
  {
316
320
  "path": "src/chat/outbound.ts",
@@ -338,7 +342,7 @@
338
342
  },
339
343
  {
340
344
  "path": "src/claude/context-windows.ts",
341
- "sha256": "0f0313dda8693598cdb05f88f083835f960914ac91e1431af3745fcc5206976f"
345
+ "sha256": "586219c2f9c4e69085e7484d5c081d48b1139a05cb1569ce820ff3b6c41b4843"
342
346
  },
343
347
  {
344
348
  "path": "src/claude/desktop-3p-guard.ts",
@@ -350,7 +354,7 @@
350
354
  },
351
355
  {
352
356
  "path": "src/claude/desktop-3p.ts",
353
- "sha256": "90899339e6bacde190c6ebe8e1af063e3e4604d62b5f03cc0693a9eeac1a7aa0"
357
+ "sha256": "10bfcaa2f68521b6b2f93c33e3d622679a25f1e9cdebc28cb0c034f25ea12aa8"
354
358
  },
355
359
  {
356
360
  "path": "src/claude/desktop-health.ts",
@@ -370,11 +374,11 @@
370
374
  },
371
375
  {
372
376
  "path": "src/claude/inbound.ts",
373
- "sha256": "05027f9f6388bb3e66db5a26d2b4d665fe5dc545b0880b09aa805a5accc26ba3"
377
+ "sha256": "8d496e3e520df59de12daa2b4813e3db7c43525767039684bd0cb0e488f61c2f"
374
378
  },
375
379
  {
376
380
  "path": "src/claude/model-info.ts",
377
- "sha256": "ada4c6917f37361f7ac7e22672b3ddd456c897fee734c76aecf58f0c30bf4183"
381
+ "sha256": "dae5d67dc82592f2d994bb3681dfa561957379e6b6124b532d797714dc9eedc9"
378
382
  },
379
383
  {
380
384
  "path": "src/claude/outbound.ts",
@@ -390,7 +394,7 @@
390
394
  },
391
395
  {
392
396
  "path": "src/cli/account-api.ts",
393
- "sha256": "e192189ffe01a7c1fb0a5cb3d007ffee7717304a2644514f1f61f24126d48b4d"
397
+ "sha256": "103af72b27506261f850c4ea9e281b1007a2ad96efa9832973b17c92d91c6418"
394
398
  },
395
399
  {
396
400
  "path": "src/cli/account-auth.ts",
@@ -426,7 +430,7 @@
426
430
  },
427
431
  {
428
432
  "path": "src/cli/claude-desktop.ts",
429
- "sha256": "787ef85865cc4383e4947dc50b5027d7ab998b3b3e7a486b9f4ee62f726d47f4"
433
+ "sha256": "5ee287b01b95b4e48e3fd6f444f2642289f849b3e843b87d502a2e125c298fdb"
430
434
  },
431
435
  {
432
436
  "path": "src/cli/claude.ts",
@@ -450,7 +454,7 @@
450
454
  },
451
455
  {
452
456
  "path": "src/cli/config-command.ts",
453
- "sha256": "1dfa5934103c6cff76cd8b712660ef6d8b74f3ae2ac570a296a844f287d04405"
457
+ "sha256": "fa4b09ccb9a24384520818d11510f0400679597ee2936bc180a2555c329689bc"
454
458
  },
455
459
  {
456
460
  "path": "src/cli/debug.ts",
@@ -626,11 +630,11 @@
626
630
  },
627
631
  {
628
632
  "path": "src/codex/app-server-restart-service.ts",
629
- "sha256": "f3454caa4a298955f2c67d9e6abc6de6715f8d9538c881e034f8b43205dfc393"
633
+ "sha256": "975b84bd6ce1b51e14081b44904605fec298bf386165466f8197570aa6cb2b27"
630
634
  },
631
635
  {
632
636
  "path": "src/codex/auth-api.ts",
633
- "sha256": "074bef369e3d1e300c051076088e01408183d5e95db1b405a0c0f5301e3a37d7"
637
+ "sha256": "07e64f986d0b3bf685cc6d55ba8b3fe54e9c97ac126043969fa0bd3e27aca0bc"
634
638
  },
635
639
  {
636
640
  "path": "src/codex/auth-collision.ts",
@@ -638,7 +642,7 @@
638
642
  },
639
643
  {
640
644
  "path": "src/codex/auth-context.ts",
641
- "sha256": "137606d112ab4a836c92cb8750b7633d74f7b2adface33207e21371df46c5303"
645
+ "sha256": "7fe1b5593315309532b6f25d53de17ccf4f01677366f1e69c0b94f83e0c6329a"
642
646
  },
643
647
  {
644
648
  "path": "src/codex/autostart-health.ts",
@@ -650,7 +654,7 @@
650
654
  },
651
655
  {
652
656
  "path": "src/codex/catalog-refresh-status.ts",
653
- "sha256": "decc74b0c92855ce4ab12317796d4c19390edf1395cf242199de0ac4d8c7ff9d"
657
+ "sha256": "8e908b7a42f010b16c00fcda1194ec35fc8a6de6acf7e53ccce50df5238555bc"
654
658
  },
655
659
  {
656
660
  "path": "src/codex/catalog-write-serialization.ts",
@@ -658,7 +662,7 @@
658
662
  },
659
663
  {
660
664
  "path": "src/codex/catalog.ts",
661
- "sha256": "ae99f51a899f5fdd753b1bd605b47d8f658885648cf26e5d1d001b5f75bb8134"
665
+ "sha256": "8597b4cac76055772d9ef207b5661d0e77713f406e5b4a849725c4f26ef6a9a1"
662
666
  },
663
667
  {
664
668
  "path": "src/codex/catalog/account-models.ts",
@@ -686,23 +690,23 @@
686
690
  },
687
691
  {
688
692
  "path": "src/codex/catalog/metadata.ts",
689
- "sha256": "da2aff0057e1b98d62e481043b2f16fb9679b4df4226e9754963b7262fde2691"
693
+ "sha256": "0c519602bb24c836ad960bf26835bc23a3e17e62b5d4c3d9e056a29f666b1e12"
690
694
  },
691
695
  {
692
696
  "path": "src/codex/catalog/native-models.ts",
693
- "sha256": "3d8a70d56fee1cf503da01c62608b338c3ec293114d1825c0bd1f96f817cda99"
697
+ "sha256": "d0d8764f7d9b1d102350527f8b196beac0db5ed492ae2b2147158d57981494f7"
694
698
  },
695
699
  {
696
700
  "path": "src/codex/catalog/parsing.ts",
697
- "sha256": "0998690562c0f00554630f2070205f6864d8f573ffcaa809d0def6c67f21be6c"
701
+ "sha256": "55375cc7a7162b609a27c4d16bf87ed204737e977fc357dbea285483e8f8d3a5"
698
702
  },
699
703
  {
700
704
  "path": "src/codex/catalog/provider-fetch.ts",
701
- "sha256": "472501e50bc4c82cfc0df13fd534b9ca9b391f3207b8bee74543d6cc999c3d30"
705
+ "sha256": "fc052262bc324234b53f65af433c24de5eb71faa954b2038f33fa4fc5854aa9b"
702
706
  },
703
707
  {
704
708
  "path": "src/codex/catalog/sync.ts",
705
- "sha256": "d586a2d468cf4120da088f0bdc3088751c0e7015a9fc5545dd5584804d1e3525"
709
+ "sha256": "221eb6f979016e8d1183529eb83b374223f0b106af441992c87c740ff67cfc36"
706
710
  },
707
711
  {
708
712
  "path": "src/codex/codex-write-lock.ts",
@@ -710,7 +714,7 @@
710
714
  },
711
715
  {
712
716
  "path": "src/codex/convergence-types.ts",
713
- "sha256": "cf2337127e2ac36c56f01e333a4c80cd80d4427e3a2600c918cb9e917da369fa"
717
+ "sha256": "63af180cbe35b8cc0d66a7e142f590fd9cf4bd9f8f3135b1bae48a8efa2d2476"
714
718
  },
715
719
  {
716
720
  "path": "src/codex/convergence.ts",
@@ -726,7 +730,7 @@
726
730
  },
727
731
  {
728
732
  "path": "src/codex/desired-state.ts",
729
- "sha256": "6f9f526d81f9f93013ed0c43eca0514b54e5eab77a72054d3d8ca84d0f04ce08"
733
+ "sha256": "648ef53c33216ec01742c81045ed50e035906a6795b77802bcb020a4bb8fcca1"
730
734
  },
731
735
  {
732
736
  "path": "src/codex/exec-invocation.ts",
@@ -774,11 +778,11 @@
774
778
  },
775
779
  {
776
780
  "path": "src/codex/inject.ts",
777
- "sha256": "fd020e956a6b7b50d256c9bdd7d585172cc7662993e4eb21fe2c55b0e2387e37"
781
+ "sha256": "21536a2f4d1065428217a55e5b97a21b76aae6e97d774c3e63cdc17d795399c5"
778
782
  },
779
783
  {
780
784
  "path": "src/codex/injected-marker.ts",
781
- "sha256": "9c024cdaa9f51c4e8bc1e79baf9df3619924497448e059d473d91a675fa27717"
785
+ "sha256": "20ea9be70b7dc48fc0be124ca0b4670ddbe75c9683dac96fa1cc3a8792af0f15"
782
786
  },
783
787
  {
784
788
  "path": "src/codex/integration-record.ts",
@@ -794,7 +798,7 @@
794
798
  },
795
799
  {
796
800
  "path": "src/codex/journal.ts",
797
- "sha256": "f90fcb039ff2ca8ddbdfe8e9101b431e4c8d864cc18923bbbc98c671b1b7adb0"
801
+ "sha256": "084f4330df3f56dd2aa1086671dbdd02338838251fa0f7929b6b646e96f11a48"
798
802
  },
799
803
  {
800
804
  "path": "src/codex/log-guard/inspect.ts",
@@ -838,7 +842,7 @@
838
842
  },
839
843
  {
840
844
  "path": "src/codex/management-convergence.ts",
841
- "sha256": "b080721ecdda70d87f74959c7b1aa67ebc0b10da568ac9fd180ddfa8e9635944"
845
+ "sha256": "41f1e2214eb88636b9708516a0bc2090d310793f6a6c69d6c77ade8aff3b349b"
842
846
  },
843
847
  {
844
848
  "path": "src/codex/model-cache.ts",
@@ -934,11 +938,11 @@
934
938
  },
935
939
  {
936
940
  "path": "src/codex/quota-rejection.ts",
937
- "sha256": "b6030d577644f71a92335dba29cd6aec1d540cd2efbda28b07d2804ec7ea8fad"
941
+ "sha256": "a3ff6b3a7899682ad60dfba44d6271d08c7632a27279328c84d9d36f6650becf"
938
942
  },
939
943
  {
940
944
  "path": "src/codex/quota.ts",
941
- "sha256": "3fb2130263e2fcb753229f2a3981a834d0311ac3599bd62d425fbc75b4145292"
945
+ "sha256": "5adb6824a01a928c37effa5b0cd745e2efb25baf1033079d5a81ff33b4cf0549"
942
946
  },
943
947
  {
944
948
  "path": "src/codex/refresh.ts",
@@ -950,7 +954,7 @@
950
954
  },
951
955
  {
952
956
  "path": "src/codex/routing.ts",
953
- "sha256": "881524cfb978020dd2da516458ac6a62dedbad8cc89eb3efb94759f9f4037ff6"
957
+ "sha256": "741aeeb7c6939a859500e6424c6676fe7c247472392108b2616a2dc4a2349374"
954
958
  },
955
959
  {
956
960
  "path": "src/codex/runtime.ts",
@@ -998,7 +1002,7 @@
998
1002
  },
999
1003
  {
1000
1004
  "path": "src/combos/failover.ts",
1001
- "sha256": "d71e85ead518a5e30a0932f7140dfd48528778afd88b82aef5200c5e2b68b910"
1005
+ "sha256": "b58541b6b3acbc85f628206cf9456ff116e4679dad464ab6b1cef2c545499df9"
1002
1006
  },
1003
1007
  {
1004
1008
  "path": "src/combos/index.ts",
@@ -1018,7 +1022,7 @@
1018
1022
  },
1019
1023
  {
1020
1024
  "path": "src/config.ts",
1021
- "sha256": "299b6ebd1a6d89bc34352ac5e2fcf446e4fb7fd08da7bbd178123c85a6a8162d"
1025
+ "sha256": "3552e7f943e5bcd6af57acfbe0bd2316d9ab4a060e32e6ca01adac97d27960d4"
1022
1026
  },
1023
1027
  {
1024
1028
  "path": "src/generated/model-metadata.ts",
@@ -1042,7 +1046,7 @@
1042
1046
  },
1043
1047
  {
1044
1048
  "path": "src/grok/sync.ts",
1045
- "sha256": "da93914d9c8619f8c1f67fe338e3ebc9e0dc9862466bc04516d412a146f848c7"
1049
+ "sha256": "20b41bbcba0f876a376c69a0a00c953632869fcba7c2dd3b5f0b850b55b987ff"
1046
1050
  },
1047
1051
  {
1048
1052
  "path": "src/images/artifacts.ts",
@@ -1138,7 +1142,7 @@
1138
1142
  },
1139
1143
  {
1140
1144
  "path": "src/lab/artifacts/sanitize.ts",
1141
- "sha256": "d6c4f5811b2e7e86404d3c0a4cc086a9a2dadc78c20eeb958d9b005eab14092e"
1145
+ "sha256": "e854b69ac9088be7c44a1dae4fa4e7ea4fffd325f440efb2fb420316a2d6f11d"
1142
1146
  },
1143
1147
  {
1144
1148
  "path": "src/lab/artifacts/secure-fs.ts",
@@ -1398,7 +1402,7 @@
1398
1402
  },
1399
1403
  {
1400
1404
  "path": "src/lab/live/manifest.ts",
1401
- "sha256": "1b2b6364b25738feff31bc0608a873db01b16591572ca0b2c96e85bbcf28a724"
1405
+ "sha256": "75ac32d510bd9f3f5b90276a18ac524fcd92e3bb4530ed42e664af73d7a5de3a"
1402
1406
  },
1403
1407
  {
1404
1408
  "path": "src/lab/live/mcp-loopback.ts",
@@ -1654,11 +1658,11 @@
1654
1658
  },
1655
1659
  {
1656
1660
  "path": "src/lib/codex-restart-contract.ts",
1657
- "sha256": "7325e56a4c27d552e91929a217dfd3c1c8f676dd51a74327a753788aa8ca10e7"
1661
+ "sha256": "25518ea4ef7f482da904bd862d165fc7cee19add6cead5ced5b1126362077a15"
1658
1662
  },
1659
1663
  {
1660
1664
  "path": "src/lib/config-ownership.ts",
1661
- "sha256": "7055c5a2c882b796831acbc32c35654d57f7ce8d810511854469ee51bf3ddda9"
1665
+ "sha256": "7934533d0e5cb4e7c1c5217d88d2dd9d94f53fc51e6704d44057c18df498fff3"
1662
1666
  },
1663
1667
  {
1664
1668
  "path": "src/lib/crash-guard.ts",
@@ -1682,7 +1686,7 @@
1682
1686
  },
1683
1687
  {
1684
1688
  "path": "src/lib/errors.ts",
1685
- "sha256": "39613acb1eaae98fa448296a9ea6e55e246e7348aebf3110d775ac05febae7df"
1689
+ "sha256": "576e12852255862f9241837b9c772d499ee0752ce34b43b080c3069e4f1d3f33"
1686
1690
  },
1687
1691
  {
1688
1692
  "path": "src/lib/eventstream-decoder.ts",
@@ -1706,7 +1710,7 @@
1706
1710
  },
1707
1711
  {
1708
1712
  "path": "src/lib/lab-activation.ts",
1709
- "sha256": "4c5579eb0afd004358788cef0998c3379e0df5a4ee1bd1b2634ffab85aa8007b"
1713
+ "sha256": "d1345dc867095f90b9ec2f4e911cc7d2e9bcd4e4a24265f58a2768e7181a1ba0"
1710
1714
  },
1711
1715
  {
1712
1716
  "path": "src/lib/lab-live-execution-authority.ts",
@@ -1746,7 +1750,7 @@
1746
1750
  },
1747
1751
  {
1748
1752
  "path": "src/lib/optional-shutdown-hooks.ts",
1749
- "sha256": "ba1fb3f46ddd1ad7d1cf90e22ae8df5dd2969dbb99449beaf8fac3100425a908"
1753
+ "sha256": "0d0a20ce244b59a2ce8f88487f86648705580007774e3eeb44da6c477b65e17d"
1750
1754
  },
1751
1755
  {
1752
1756
  "path": "src/lib/pinned-http.ts",
@@ -2094,11 +2098,11 @@
2094
2098
  },
2095
2099
  {
2096
2100
  "path": "src/providers/quota.ts",
2097
- "sha256": "828c4304b6b67d2a71d85141f8da0d2a59453f782c3de46a1905e68903750375"
2101
+ "sha256": "6d101988931c219b5d96f2f0f7d8ea84591ec8445585020f74b847b33149ca76"
2098
2102
  },
2099
2103
  {
2100
2104
  "path": "src/providers/registry.ts",
2101
- "sha256": "363d273b5dbf67ed5b3491578f18c5d408d10b546a21a4a7cad3697606a47047"
2105
+ "sha256": "f5dc94d7f975b060362bd95e9a0e144c8bf62f871d46f821db6fb7f7eef5ec47"
2102
2106
  },
2103
2107
  {
2104
2108
  "path": "src/providers/request-pacing.ts",
@@ -2138,11 +2142,11 @@
2138
2142
  },
2139
2143
  {
2140
2144
  "path": "src/responses/parser.ts",
2141
- "sha256": "bd1d2ad40ffc8b17453f657f9453d1a29c81d568a19826a0fb62e9af3175f7ae"
2145
+ "sha256": "e8fffd98b5bac31773dff5c22c65ef5cf39d535c578ec708700aa6d25e2d9e71"
2142
2146
  },
2143
2147
  {
2144
2148
  "path": "src/responses/provider-opaque-metadata.ts",
2145
- "sha256": "a452108841dcb07d21e43832aae70a66bbf26a8a6c9eb52c8c9ef11120dfb234"
2149
+ "sha256": "44acebbbd8efe49c974b2beefd6738a2d49e6ea707a425b08f59d3e776d0b371"
2146
2150
  },
2147
2151
  {
2148
2152
  "path": "src/responses/reasoning-envelope.ts",
@@ -2164,13 +2168,17 @@
2164
2168
  "path": "src/responses/state.ts",
2165
2169
  "sha256": "761a96f2839ee22f7cea11f037424a13bd1dedb0f747f1bc35a81c91ca9b0bbd"
2166
2170
  },
2171
+ {
2172
+ "path": "src/responses/thought-signature-replay.ts",
2173
+ "sha256": "fa1a7c06af55241083f7fb31638e12630c444c72a3d9879ce02ca7bdef2fb705"
2174
+ },
2167
2175
  {
2168
2176
  "path": "src/responses/tool-groups.ts",
2169
2177
  "sha256": "b2750b33ec7bb5a7f76f27584bf99372fac4f253dd287849b2f3f9821db574cd"
2170
2178
  },
2171
2179
  {
2172
2180
  "path": "src/router.ts",
2173
- "sha256": "574c51a5c95350217d72b6fa82b06806251e6706265866e909fec729882f82fb"
2181
+ "sha256": "f365eb302f068368ce2966a7232b2ddd8ce1fc00ad2751df46feb06009633a07"
2174
2182
  },
2175
2183
  {
2176
2184
  "path": "src/routing/analytics.ts",
@@ -2206,7 +2214,7 @@
2206
2214
  },
2207
2215
  {
2208
2216
  "path": "src/routing/compatibility/provider-slot.ts",
2209
- "sha256": "809c7b5dbe13b6e90d5abf51cadf33825f8d82b5fd1c7355d9ef25b736371bdc"
2217
+ "sha256": "9f02fa21cfac67f0903ea1141d4c4e8b604435393b25ab16dce823721eb4b51a"
2210
2218
  },
2211
2219
  {
2212
2220
  "path": "src/routing/compatibility/reader.ts",
@@ -2230,11 +2238,11 @@
2230
2238
  },
2231
2239
  {
2232
2240
  "path": "src/routing/evaluator.ts",
2233
- "sha256": "81b207ce57ffec2851a919885866a1345c98500e3706a2f08c6992386ef77ce2"
2241
+ "sha256": "e9dce7dbfda58fa37647eed3a95291e12af4a338f215db2a61374e49f4d99f62"
2234
2242
  },
2235
2243
  {
2236
2244
  "path": "src/routing/health.ts",
2237
- "sha256": "42c795303cffdc197b20756c862700140fbf584bc159c430d29244e544b96d3e"
2245
+ "sha256": "5bfc824578e2c04357d4e4348fcd94014a46263531d58417d747aadd29ac16c4"
2238
2246
  },
2239
2247
  {
2240
2248
  "path": "src/routing/history/cursor.ts",
@@ -2246,7 +2254,7 @@
2246
2254
  },
2247
2255
  {
2248
2256
  "path": "src/routing/history/schema.ts",
2249
- "sha256": "1bb8999af1caad02cd9a81e8907b058dda7319881e38e5a9e1a90597dacf96c5"
2257
+ "sha256": "289b655f265ae752df56bbeee6839e648f086cfe18076585bfcc1afdb6d84a8e"
2250
2258
  },
2251
2259
  {
2252
2260
  "path": "src/routing/profile-namespace.ts",
@@ -2266,7 +2274,7 @@
2266
2274
  },
2267
2275
  {
2268
2276
  "path": "src/routing/trace.ts",
2269
- "sha256": "4d629c9786083ada25876deadfb5ddaed03a0d207fb0683721c1f983619eb020"
2277
+ "sha256": "4c4160a86433ab1ea8825b81e4838ee7fd401da6fb3325cfa9d9dc409da7f2cd"
2270
2278
  },
2271
2279
  {
2272
2280
  "path": "src/server/adapter-resolve.ts",
@@ -2274,7 +2282,7 @@
2274
2282
  },
2275
2283
  {
2276
2284
  "path": "src/server/auth-cors.ts",
2277
- "sha256": "412a504bd8c3df8fcc0b33de12f321f16a103168e278357de13cd479336073e9"
2285
+ "sha256": "f96a03d8dc0c4b2021aaeefae404bfec369bf4c3979774836d6ee58de2835c79"
2278
2286
  },
2279
2287
  {
2280
2288
  "path": "src/server/background-lifecycle.ts",
@@ -2282,7 +2290,7 @@
2282
2290
  },
2283
2291
  {
2284
2292
  "path": "src/server/chat-completions.ts",
2285
- "sha256": "e9fa0d98b2677cf9068d0801ee79b7b0bddce7207b3199a31121607c073be68c"
2293
+ "sha256": "a1dcf1aa726fbdfc4bea1b7079cf7ef62aa17e8c9ce76021a97338d2b172bd4f"
2286
2294
  },
2287
2295
  {
2288
2296
  "path": "src/server/chat-native-sse.ts",
@@ -2322,7 +2330,7 @@
2322
2330
  },
2323
2331
  {
2324
2332
  "path": "src/server/index.ts",
2325
- "sha256": "2745fca63c657742f90c22f2a251a3bf1702aca0c5c5b24cfab9d01dad39cd93"
2333
+ "sha256": "d3d1d19add61e536b9c1ede4676c5ef67a79ccc3e3e55302592d9f4228635d59"
2326
2334
  },
2327
2335
  {
2328
2336
  "path": "src/server/lifecycle.ts",
@@ -2342,7 +2350,7 @@
2342
2350
  },
2343
2351
  {
2344
2352
  "path": "src/server/management-api.ts",
2345
- "sha256": "4736d3b1030eff60d06b22e3339bb25f66062d9d3bf0c2becc701f5b10bcc032"
2353
+ "sha256": "6a5238bfda08e77c550185fc54e54214da3fe6b10d4264c13f263f3c67a76939"
2346
2354
  },
2347
2355
  {
2348
2356
  "path": "src/server/management-auth.ts",
@@ -2350,7 +2358,7 @@
2350
2358
  },
2351
2359
  {
2352
2360
  "path": "src/server/management/agent-settings-routes.ts",
2353
- "sha256": "d22e53a8f698e29c78905944a8c696522a0fe468bda72da4fb5f6491aa0b0cc6"
2361
+ "sha256": "cf34cb29cc6e80b22b47bab31f5d6fc19e44e5604ba847ed0fbfdc500dd38136"
2354
2362
  },
2355
2363
  {
2356
2364
  "path": "src/server/management/api-access.ts",
@@ -2374,7 +2382,7 @@
2374
2382
  },
2375
2383
  {
2376
2384
  "path": "src/server/management/context.ts",
2377
- "sha256": "85564a590d77fb49f7aab7a0cf4729ca6d704bcef4b3a68b5a437d87809aa212"
2385
+ "sha256": "ee5a6bbd25f568425e75677d0ab11e16b4996096512599c37b785d18e6dfcb18"
2378
2386
  },
2379
2387
  {
2380
2388
  "path": "src/server/management/integration-routes.ts",
@@ -2398,11 +2406,11 @@
2398
2406
  },
2399
2407
  {
2400
2408
  "path": "src/server/management/model-rows.ts",
2401
- "sha256": "c91b2e868f4f73a322fc08095939587177e58a2cd1394e985d7b08bd77ac7e7e"
2409
+ "sha256": "8222455775c291b704d7b3fd807de115e7bab596d9183a8f0a0393aa4954054b"
2402
2410
  },
2403
2411
  {
2404
2412
  "path": "src/server/management/native-integration-routes.ts",
2405
- "sha256": "7bc9a5b90ed4b0a949dd1b97fdbdef8aec26ce21b13c3ca1e58bb03db6005dbc"
2413
+ "sha256": "12ebeccbcffb49b3132d799bf7faa1534da4d7f5cf6c32a15c4b75b7e6eda7c7"
2406
2414
  },
2407
2415
  {
2408
2416
  "path": "src/server/management/oauth-account-routes.ts",
@@ -2414,7 +2422,7 @@
2414
2422
  },
2415
2423
  {
2416
2424
  "path": "src/server/management/provider-routes.ts",
2417
- "sha256": "ab0b77ba9b50d862e6cf5bb93cb89b4c48f63a54c14c46d6f774a0ee3e87e3f2"
2425
+ "sha256": "5671232af392b8ba84ecc516c99d33b3cd294bfbd3fd9c5df04cf99b32d04049"
2418
2426
  },
2419
2427
  {
2420
2428
  "path": "src/server/management/request-history-routes.ts",
@@ -2430,7 +2438,7 @@
2430
2438
  },
2431
2439
  {
2432
2440
  "path": "src/server/management/shared.ts",
2433
- "sha256": "93920432e6b8ef3fbe5dd583e335d023929c8f348459a17541c5646916b2f7dc"
2441
+ "sha256": "111efaa480b344e3d0a0bff639c9946b4a5691c6ed02727dd929deffc532a938"
2434
2442
  },
2435
2443
  {
2436
2444
  "path": "src/server/management/sidebar-routes.ts",
@@ -2466,7 +2474,7 @@
2466
2474
  },
2467
2475
  {
2468
2476
  "path": "src/server/passive-route-linker.ts",
2469
- "sha256": "6a20d1e864efe80cd9d6c69df9616bc6092a6102cd8d339f0cb376f8821bed0b"
2477
+ "sha256": "1cf21be7d35d87f6642358ed3f068c5fb647099da52f68b49d1b5535c84cca14"
2470
2478
  },
2471
2479
  {
2472
2480
  "path": "src/server/port-reclaim.ts",
@@ -2490,7 +2498,7 @@
2490
2498
  },
2491
2499
  {
2492
2500
  "path": "src/server/relay.ts",
2493
- "sha256": "e1afe85809711a569efb635868b1b72602d5267792867d99483f94a976291881"
2501
+ "sha256": "4dcf70379cda6e45db6e2a3989d44099e36d1e05bb2259baad9169222420b5f2"
2494
2502
  },
2495
2503
  {
2496
2504
  "path": "src/server/request-decompress.ts",
@@ -2532,6 +2540,10 @@
2532
2540
  "path": "src/server/responses-terminal-repair.ts",
2533
2541
  "sha256": "d7467f1c5e0c93236c27fd3b9edab289f14cca6d15d07dfe00b3fb6f1f04e0ae"
2534
2542
  },
2543
+ {
2544
+ "path": "src/server/responses-undeclared-tool-guard.ts",
2545
+ "sha256": "1846475786b9009d6d2c4620aa3fc8abcfd39fb07531f14e65182437848168bb"
2546
+ },
2535
2547
  {
2536
2548
  "path": "src/server/responses.ts",
2537
2549
  "sha256": "b5a7c538e73c6c5d1245faae2a6a8968f16870796aa2c0bdbfb8e19fe2c95ed5"
@@ -2550,11 +2562,11 @@
2550
2562
  },
2551
2563
  {
2552
2564
  "path": "src/server/responses/compact.ts",
2553
- "sha256": "604868d3a00d79e9cfee3c8e7938a972ccb7998db3369fd7085706f19b2ed491"
2565
+ "sha256": "28bf7c356d9b7290adbb04411b89790ee8040ed798a088a98e6c0d499e4f030b"
2554
2566
  },
2555
2567
  {
2556
2568
  "path": "src/server/responses/core.ts",
2557
- "sha256": "8a4539f6e9fd8a7016bc7562316525f7ce0f236481ec51c63d14a6ca253d1786"
2569
+ "sha256": "15210453413f7f152083a987226695faa7a373a36f97486353272df0143f60cc"
2558
2570
  },
2559
2571
  {
2560
2572
  "path": "src/server/responses/empty-completion-guard.ts",
@@ -2566,11 +2578,11 @@
2566
2578
  },
2567
2579
  {
2568
2580
  "path": "src/server/responses/fetch-helpers.ts",
2569
- "sha256": "b1dd2429492653084ac4c01f43ae49839627538c939c68fdf81b2d3646338d12"
2581
+ "sha256": "d1b36d318e4a170b0cb42d1e785cd286c1b43191fb22c8180f25bc25307f9a51"
2570
2582
  },
2571
2583
  {
2572
2584
  "path": "src/server/responses/input-admission.ts",
2573
- "sha256": "961168288033b3bb4f1b9542e7ab329a0350d2c5fc44036d2e6cf39355d3b26c"
2585
+ "sha256": "b9536eb8dc3532c35ef65bd0a1f910e1e20db74e0ac6b581de529f4e60fd4120"
2574
2586
  },
2575
2587
  {
2576
2588
  "path": "src/server/responses/pacing-overload.ts",
@@ -2618,7 +2630,7 @@
2618
2630
  },
2619
2631
  {
2620
2632
  "path": "src/server/system-env.ts",
2621
- "sha256": "4ba855172048295bd4933bcdade706a901fbf96b345c98e226c548bd32720a6e"
2633
+ "sha256": "4a501266f1b914fa83f0646f3679d38b0fdda8399bb01cc0451054d03b93dfe1"
2622
2634
  },
2623
2635
  {
2624
2636
  "path": "src/server/windows-tcp-drop.ts",
@@ -2638,7 +2650,7 @@
2638
2650
  },
2639
2651
  {
2640
2652
  "path": "src/service.ts",
2641
- "sha256": "da173595e82233c5b20b78026255027004f0eea388fc66a7bf073229dd69e45e"
2653
+ "sha256": "de767b040554e966d3858bfbdf8b0a4b047ed816bd24b91d7380b7349fe66ba1"
2642
2654
  },
2643
2655
  {
2644
2656
  "path": "src/stall-timeout.ts",
@@ -2714,7 +2726,7 @@
2714
2726
  },
2715
2727
  {
2716
2728
  "path": "src/types.ts",
2717
- "sha256": "a1aa12232d1424a93598402de73b7455bf5d33892c67ef0772b8c60a44f64560"
2729
+ "sha256": "36393bc83887926ecb77c8695c1db03e9124e04a982eb2a7d96978438574b9cf"
2718
2730
  },
2719
2731
  {
2720
2732
  "path": "src/update/badge.ts",
package/src/grok/sync.ts CHANGED
@@ -7,6 +7,8 @@
7
7
  * Deps are injectable (mirrors src/codex/sync.ts) so tests can run without a live proxy.
8
8
  */
9
9
  import { visibleNativeSlugs, filterCatalogVisibleModels, nativeOpenAiContextWindow, type CatalogModel } from "../codex/catalog";
10
+ import { providerContextCap } from "../providers/context-cap";
11
+ import { OPENAI_CODEX_PROVIDER_ID } from "../providers/openai-tiers";
10
12
  import type { OcxConfig } from "../types";
11
13
  import { injectGrokConfig, type GrokInjectModel, type GrokInjectResult } from "./inject";
12
14
 
@@ -40,7 +42,7 @@ export async function syncGrokConfig(
40
42
  // default (200k) and understates models like gpt-5.6-sol, which is 372k. This is the same
41
43
  // accessor the dashboard's native rows use, so the two cannot disagree.
42
44
  ...visibleNativeSlugs(config).map(id => {
43
- const contextWindow = nativeOpenAiContextWindow(id);
45
+ const contextWindow = nativeOpenAiContextWindow(id, providerContextCap(config, OPENAI_CODEX_PROVIDER_ID));
44
46
  return { id, ...(contextWindow !== undefined ? { contextWindow } : {}) };
45
47
  }),
46
48
  ...routed.map(m => ({
@@ -83,7 +83,7 @@ function scrubValue(value: unknown, depth: number): unknown {
83
83
  * Provider-controlled text can carry network and account identifiers that the
84
84
  * Compatibility Lab privacy contract forbids persisting. The rules below run in
85
85
  * a fixed total order; the order is load-bearing and documented in
86
- * `devlog/_plan/260810_release_train_and_triage/040_sec02_remediation.md`:
86
+ * `devlog/_fin/260810_release_train_and_triage/040_sec02_remediation.md`:
87
87
  *
88
88
  * email before hostname - else the hostname rule eats `example.com` in an address
89
89
  * MAC before IPv6 - else `01:23:45:67:89:ab` matches as a mangled address
@@ -8,7 +8,7 @@ import { CL03_LIVE_SUITES, SYNTHETIC_MARKER } from "../conformance/types";
8
8
  const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
9
9
  const AUTHORITY_FILE = "024_live_v1_cases.json";
10
10
  const RUNTIME_AUTHORITY = join(MODULE_DIR, "..", "conformance", "fixtures", "live-v1-cases.json");
11
- const REPO_AUTHORITY = join(MODULE_DIR, "..", "..", "..", "devlog", "_plan", "260807_compatibility_lab", AUTHORITY_FILE);
11
+ const REPO_AUTHORITY = join(MODULE_DIR, "..", "..", "..", "devlog", "_fin", "260807_compatibility_lab", AUTHORITY_FILE);
12
12
 
13
13
  function readAuthority(path: string): CaseAuthority { return JSON.parse(readFileSync(path, "utf8")) as CaseAuthority; }
14
14
 
@@ -10,7 +10,7 @@
10
10
  * Scalar-only payload. A command line can contain a home directory and a username,
11
11
  * and an OS error message often embeds a path, so neither crosses this boundary.
12
12
  *
13
- * Design and audit history: `devlog/_plan/260815_gui_codex_restart/`.
13
+ * Design and audit history: `devlog/_fin/260815_gui_codex_restart/`.
14
14
  */
15
15
 
16
16
  export const CODEX_RESTART_METHOD = "POST";
@@ -69,6 +69,7 @@ const INITIAL_OWNED_PATHS = [
69
69
  "service-state.json",
70
70
  "service.log",
71
71
  "system-env-port",
72
+ "thought-signature-replay.json",
72
73
  "tray-heartbeat.json",
73
74
  "tray-state.json",
74
75
  "update-job.json",