History

Merge pull request #1523 from xxddff/feature/removeUserField

fix(codex): remove unsupported 'user' field from /v1/responses payload

Luis Pater committed 9 months agov6.8.12

Commit a146c6c2 parents 4c133d3 bb9fe522 files · +20 −0Browse files

Unified · Split

2 files
  1. internal/translator/codex/openai/responses/codex_openai-responses_request.go +3 −0
  2. internal/translator/codex/openai/responses/codex_openai-responses_request_test.go +17 −0
internal/translator/codex/openai/responses/codex_openai-responses_request.go+3−0
@@ -27,6 +27,9 @@ func ConvertOpenAIResponsesRequestToCodex(modelName string, inputRawJSON []byte, · 26 unmodified lines
2727 rawJSON, _ = sjson.DeleteBytes(rawJSON, "top_p")
2828 rawJSON, _ = sjson.DeleteBytes(rawJSON, "service_tier")
2929
30+ // Delete the user field as it is not supported by the Codex upstream.
31+ rawJSON, _ = sjson.DeleteBytes(rawJSON, "user")
32+
3033 // Convert role "system" to "developer" in input array to comply with Codex API requirements.
3134 rawJSON = convertSystemRoleToDeveloper(rawJSON)
3235
internal/translator/codex/openai/responses/codex_openai-responses_request_test.go+17−0
@@ -263,3 +263,20 @@ func TestConvertSystemRoleToDeveloper_AssistantRole(t *testing.T) { · 262 unmodified lines
263263 t.Errorf("Expected third role 'assistant', got '%s'", thirdRole.String())
264264 }
265265 }
266+
267+func TestUserFieldDeletion(t *testing.T) {
268+ inputJSON := []byte(`{
269+ "model": "gpt-5.2",
270+ "user": "test-user",
271+ "input": [{"role": "user", "content": "Hello"}]
272+ }`)
273+
274+ output := ConvertOpenAIResponsesRequestToCodex("gpt-5.2", inputJSON, false)
275+ outputStr := string(output)
276+
277+ // Verify user field is deleted
278+ userField := gjson.Get(outputStr, "user")
279+ if userField.Exists() {
280+ t.Errorf("user field should be deleted, but it was found with value: %s", userField.Raw)
281+ }
282+}