diff --git a/pkg/workflow/claude_engine.go b/pkg/workflow/claude_engine.go index 34e880b168..8c34492bb3 100644 --- a/pkg/workflow/claude_engine.go +++ b/pkg/workflow/claude_engine.go @@ -25,12 +25,12 @@ func NewClaudeEngine() *ClaudeEngine { description: "Uses Claude Code with full MCP tool support and allow-listing", experimental: false, supportsToolsAllowlist: true, - supportsHTTPTransport: true, // Claude supports both stdio and HTTP transport - supportsMaxTurns: true, // Claude supports max-turns feature - supportsWebFetch: true, // Claude has built-in WebFetch support - supportsWebSearch: true, // Claude has built-in WebSearch support - supportsFirewall: true, // Claude supports network firewalling via AWF - supportsLLMGateway: true, // Claude supports LLM gateway via AWF api-proxy + supportsHTTPTransport: true, // Claude supports both stdio and HTTP transport + supportsMaxTurns: true, // Claude supports max-turns feature + supportsWebFetch: true, // Claude has built-in WebFetch support + supportsWebSearch: true, // Claude has built-in WebSearch support + supportsFirewall: true, // Claude supports network firewalling via AWF + supportsLLMGateway: false, // Claude does not support LLM gateway }, } } diff --git a/pkg/workflow/codex_engine.go b/pkg/workflow/codex_engine.go index 72ec3124d0..38dc995e7e 100644 --- a/pkg/workflow/codex_engine.go +++ b/pkg/workflow/codex_engine.go @@ -41,7 +41,7 @@ func NewCodexEngine() *CodexEngine { supportsWebFetch: false, // Codex does not have built-in web-fetch support supportsWebSearch: true, // Codex has built-in web-search support supportsFirewall: true, // Codex supports network firewalling via AWF - supportsLLMGateway: false, // Codex does not support LLM gateway + supportsLLMGateway: true, // Codex supports LLM gateway via AWF api-proxy }, } } diff --git a/pkg/workflow/docker_api_proxy_test.go b/pkg/workflow/docker_api_proxy_test.go index 8028a2eb69..f228304871 100644 --- a/pkg/workflow/docker_api_proxy_test.go +++ b/pkg/workflow/docker_api_proxy_test.go @@ -15,9 +15,9 @@ func TestCollectDockerImages_APIProxyForEnginesWithLLMGateway(t *testing.T) { expectAPIProxy bool }{ { - name: "Claude engine includes api-proxy image (supportsLLMGateway: true)", + name: "Claude engine does not include api-proxy image (supportsLLMGateway: false)", engine: "claude", - expectAPIProxy: true, + expectAPIProxy: false, }, { name: "Copilot engine does not include api-proxy image (supportsLLMGateway: false)", @@ -25,9 +25,9 @@ func TestCollectDockerImages_APIProxyForEnginesWithLLMGateway(t *testing.T) { expectAPIProxy: false, }, { - name: "Codex engine does not include api-proxy image (supportsLLMGateway: false)", + name: "Codex engine includes api-proxy image (supportsLLMGateway: true)", engine: "codex", - expectAPIProxy: false, + expectAPIProxy: true, }, } diff --git a/pkg/workflow/enable_api_proxy_test.go b/pkg/workflow/enable_api_proxy_test.go index 1a618bb9d9..c67a6e51d8 100644 --- a/pkg/workflow/enable_api_proxy_test.go +++ b/pkg/workflow/enable_api_proxy_test.go @@ -8,7 +8,7 @@ import ( // TestEngineAWFEnableApiProxy tests that engines with supportsLLMGateway: true // include --enable-api-proxy in AWF commands, while engines with supportsLLMGateway: false do not. func TestEngineAWFEnableApiProxy(t *testing.T) { - t.Run("Claude AWF command includes enable-api-proxy flag (supportsLLMGateway: true)", func(t *testing.T) { + t.Run("Claude AWF command does not include enable-api-proxy flag (supportsLLMGateway: false)", func(t *testing.T) { workflowData := &WorkflowData{ Name: "test-workflow", EngineConfig: &EngineConfig{ @@ -30,8 +30,8 @@ func TestEngineAWFEnableApiProxy(t *testing.T) { stepContent := strings.Join(steps[0], "\n") - if !strings.Contains(stepContent, "--enable-api-proxy") { - t.Error("Expected Claude AWF command to contain '--enable-api-proxy' flag (supportsLLMGateway: true)") + if strings.Contains(stepContent, "--enable-api-proxy") { + t.Error("Expected Claude AWF command to NOT contain '--enable-api-proxy' flag (supportsLLMGateway: false)") } }) @@ -62,7 +62,7 @@ func TestEngineAWFEnableApiProxy(t *testing.T) { } }) - t.Run("Codex AWF command does not include enable-api-proxy flag (supportsLLMGateway: false)", func(t *testing.T) { + t.Run("Codex AWF command includes enable-api-proxy flag (supportsLLMGateway: true)", func(t *testing.T) { workflowData := &WorkflowData{ Name: "test-workflow", EngineConfig: &EngineConfig{ @@ -84,8 +84,8 @@ func TestEngineAWFEnableApiProxy(t *testing.T) { stepContent := strings.Join(steps[0], "\n") - if strings.Contains(stepContent, "--enable-api-proxy") { - t.Error("Expected Codex AWF command to NOT contain '--enable-api-proxy' flag (supportsLLMGateway: false)") + if !strings.Contains(stepContent, "--enable-api-proxy") { + t.Error("Expected Codex AWF command to contain '--enable-api-proxy' flag (supportsLLMGateway: true)") } }) }