- Update default Codex executor user-agent and model override headers to `codex-tui/0.153.3`.
Unified · Split
| @@ -30,7 +30,7 @@ func TestIsCodexMultiAgentClient(t *testing.T) { · 29 unmodified lines | ||
| 30 | 30 | }, |
| 31 | 31 | { |
| 32 | 32 | name: "codex tui", |
| 33 | − userAgent: "codex-tui/0.145.0 (Mac OS 26.5.2; arm64) iTerm.app/3.6.11 (codex-tui; 0.145.0)", | |
| 33 | + userAgent: "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)", | |
| 34 | 34 | want: true, |
| 35 | 35 | }, |
| 36 | 36 | { |
| @@ -237,7 +237,7 @@ func TestOptimizeCodexMultiAgentV2RequestSkipsNamespaceConflict(t *testing.T) { · 200 unmodified lines | ||
| 237 | 237 | t.Parallel() |
| 238 | 238 | |
| 239 | 239 | payload := []byte(`{"tools":[{"type":"namespace","name":"collaboration","tools":[{"type":"function","name":"spawn_agent"}]},{"type":"namespace","name":"collaboration-optimize","tools":[]}]}`) |
| 240 | − headers := http.Header{"User-Agent": []string{"codex-tui/0.145.0"}} | |
| 240 | + headers := http.Header{"User-Agent": []string{"codex-tui/0.153.3"}} | |
| 241 | 241 | cfg := &config.Config{Codex: config.CodexConfig{OptimizeMultiAgentV2: true}} |
| 242 | 242 | got, optimized := OptimizeCodexMultiAgentV2Request(context.Background(), headers, payload, cfg) |
| 243 | 243 | if optimized { |
| @@ -516,13 +516,13 @@ func TestRewriteCodexMultiAgentV2InputConditions(t *testing.T) { · 272 unmodified lines | ||
| 516 | 516 | { |
| 517 | 517 | name: "codex tui enabled", |
| 518 | 518 | cfg: &config.Config{Codex: config.CodexConfig{OptimizeMultiAgentV2: true}}, |
| 519 | − userAgent: "codex-tui/0.145.0", | |
| 519 | + userAgent: "codex-tui/0.153.3", | |
| 520 | 520 | want: true, |
| 521 | 521 | }, |
| 522 | 522 | { |
| 523 | 523 | name: "optimization disabled", |
| 524 | 524 | cfg: &config.Config{}, |
| 525 | − userAgent: "codex-tui/0.145.0", | |
| 525 | + userAgent: "codex-tui/0.153.3", | |
| 526 | 526 | }, |
| 527 | 527 | { |
| 528 | 528 | name: "unrelated client", |
| @@ -607,7 +607,7 @@ func TestRewriteCodexSpawnAgentDescriptionDisabledLeavesPayloadUnchanged(t *test · 78 unmodified lines | ||
| 607 | 607 | t.Parallel() |
| 608 | 608 | |
| 609 | 609 | payload := []byte(`{"tools":[{"type":"function","name":"spawn_agent","description":"unchanged","parameters":{"properties":{"message":{"encrypted":true}}}}]}`) |
| 610 | − headers := http.Header{"User-Agent": []string{"codex-tui/0.145.0"}} | |
| 610 | + headers := http.Header{"User-Agent": []string{"codex-tui/0.153.3"}} | |
| 611 | 611 | got := RewriteCodexSpawnAgentDescription(context.Background(), headers, payload, &config.Config{}) |
| 612 | 612 | if string(got) != string(payload) { |
| 613 | 613 | t.Fatalf("disabled optimization changed payload: %s", got) |
| @@ -645,13 +645,13 @@ func TestReplaceCodexSpawnAgentModelsNormalizesSectionsAndPreservesInstructions( · 31 unmodified lines | ||
| 645 | 645 | func TestCodexClientUserAgentPrefersGinRequest(t *testing.T) { |
| 646 | 646 | gin.SetMode(gin.TestMode) |
| 647 | 647 | request := httptest.NewRequest(http.MethodPost, "/v1/responses", nil) |
| 648 | − request.Header.Set("User-Agent", "codex-tui/0.145.0") | |
| 648 | + request.Header.Set("User-Agent", "codex-tui/0.153.3") | |
| 649 | 649 | ginCtx, _ := gin.CreateTestContext(httptest.NewRecorder()) |
| 650 | 650 | ginCtx.Request = request |
| 651 | 651 | ctx := context.WithValue(context.Background(), "gin", ginCtx) |
| 652 | 652 | headers := http.Header{"User-Agent": []string{"overridden-client/1.0"}} |
| 653 | 653 | |
| 654 | − if got := codexClientUserAgent(ctx, headers); got != "codex-tui/0.145.0" { | |
| 654 | + if got := codexClientUserAgent(ctx, headers); got != "codex-tui/0.153.3" { | |
| 655 | 655 | t.Fatalf("codexClientUserAgent() = %q, want gin request User-Agent", got) |
| 656 | 656 | } |
| 657 | 657 | } |
| @@ -785,7 +785,7 @@ func TestOptimizeCodexMultiAgentV2RequestRemovesEncryptionInAdditionalTools(t *t · 127 unmodified lines | ||
| 785 | 785 | ]} |
| 786 | 786 | ] |
| 787 | 787 | }`) |
| 788 | − headers := http.Header{"User-Agent": []string{"codex-tui/0.145.0"}} | |
| 788 | + headers := http.Header{"User-Agent": []string{"codex-tui/0.153.3"}} | |
| 789 | 789 | cfg := &config.Config{Codex: config.CodexConfig{OptimizeMultiAgentV2: true}} |
| 790 | 790 | got, _ := OptimizeCodexMultiAgentV2Request(context.Background(), headers, payload, cfg) |
| 791 | 791 | |
| @@ -10,7 +10,7 @@ func TestGetStaticModelDefinitionsByChannelSupportsGeminiInteractions(t *testing · 9 unmodified lines | ||
| 10 | 10 | } |
| 11 | 11 | |
| 12 | 12 | func TestModelOverrideHeadersFromEmbeddedModels(t *testing.T) { |
| 13 | − const wantUA = "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)" | |
| 13 | + const wantUA = "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)" | |
| 14 | 14 | got := ModelOverrideHeaders("gpt-5.6-luna") |
| 15 | 15 | if got == nil { |
| 16 | 16 | t.Fatal("ModelOverrideHeaders(gpt-5.6-luna) = nil, want headers") |
| @@ -2459,7 +2459,7 @@ · 2458 unmodified lines | ||
| 2459 | 2459 | }, |
| 2460 | 2460 | "config": { |
| 2461 | 2461 | "override_header": { |
| 2462 | − "user-agent": "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)", | |
| 2462 | + "user-agent": "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)", | |
| 2463 | 2463 | "originator": "codex-tui" |
| 2464 | 2464 | } |
| 2465 | 2465 | }, |
| @@ -2651,7 +2651,7 @@ · 185 unmodified lines | ||
| 2651 | 2651 | }, |
| 2652 | 2652 | "config": { |
| 2653 | 2653 | "override_header": { |
| 2654 | − "user-agent": "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)", | |
| 2654 | + "user-agent": "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)", | |
| 2655 | 2655 | "originator": "codex-tui" |
| 2656 | 2656 | } |
| 2657 | 2657 | }, |
| @@ -2872,7 +2872,7 @@ · 214 unmodified lines | ||
| 2872 | 2872 | }, |
| 2873 | 2873 | "config": { |
| 2874 | 2874 | "override_header": { |
| 2875 | − "user-agent": "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)", | |
| 2875 | + "user-agent": "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)", | |
| 2876 | 2876 | "originator": "codex-tui" |
| 2877 | 2877 | } |
| 2878 | 2878 | }, |
| @@ -3093,7 +3093,7 @@ · 214 unmodified lines | ||
| 3093 | 3093 | }, |
| 3094 | 3094 | "config": { |
| 3095 | 3095 | "override_header": { |
| 3096 | − "user-agent": "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)", | |
| 3096 | + "user-agent": "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)", | |
| 3097 | 3097 | "originator": "codex-tui" |
| 3098 | 3098 | } |
| 3099 | 3099 | }, |
| @@ -23,7 +23,7 @@ import ( · 22 unmodified lines | ||
| 23 | 23 | ) |
| 24 | 24 | |
| 25 | 25 | const ( |
| 26 | − codexUserAgent = "codex-tui/0.146.0 (Mac OS 26.5.0; arm64) iTerm.app/3.6.10 (codex-tui; 0.146.0)" | |
| 26 | + codexUserAgent = "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)" | |
| 27 | 27 | codexOriginator = "codex-tui" |
| 28 | 28 | codexDefaultImageToolModel = "gpt-image-2" |
| 29 | 29 | codexResponsesLiteHeader = "X-OpenAI-Internal-Codex-Responses-Lite" |
| @@ -234,7 +234,7 @@ func codexSpawnAgentTestPayload() []byte { · 233 unmodified lines | ||
| 234 | 234 | |
| 235 | 235 | func codexSpawnAgentTestContext() context.Context { |
| 236 | 236 | request := httptest.NewRequest(http.MethodPost, "/v1/responses", nil) |
| 237 | − request.Header.Set("User-Agent", "codex-tui/0.145.0") | |
| 237 | + request.Header.Set("User-Agent", "codex-tui/0.153.3") | |
| 238 | 238 | ginCtx, _ := gin.CreateTestContext(httptest.NewRecorder()) |
| 239 | 239 | ginCtx.Request = request |
| 240 | 240 | return context.WithValue(context.Background(), "gin", ginCtx) |
| @@ -1822,7 +1822,7 @@ func TestApplyCodexWebsocketHeaders_EmptyAPIKey_OmitsAuthorizationAndOAuthHeader · 1821 unmodified lines | ||
| 1822 | 1822 | } |
| 1823 | 1823 | |
| 1824 | 1824 | func TestApplyModelHeaderOverridesFromModelConfig(t *testing.T) { |
| 1825 | − const wantUA = "codex-tui/0.144.0 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.144.0)" | |
| 1825 | + const wantUA = "codex-tui/0.153.3 (Mac OS 26.5.1; arm64) iTerm.app/3.6.11 (codex-tui; 0.153.3)" | |
| 1826 | 1826 | req, err := http.NewRequest(http.MethodPost, "https://example.com/responses", nil) |
| 1827 | 1827 | if err != nil { |
| 1828 | 1828 | t.Fatalf("NewRequest() error = %v", err) |