Skip to content

ci: verify #783 fix - #2

Closed
micookie2 wants to merge 1 commit into
mainfrom
codex/fix-unknown-field-reasoning-effort-783
Closed

micookie2 wants to merge 1 commit into
mainfrom
codex/fix-unknown-field-reasoning-effort-783

Conversation

@micookie2

Copy link
Copy Markdown
Owner

Temporary PR to run CI for mcowger#783 fix before opening upstream PR.

Some upstream providers (e.g. Alibaba Cloud DashScope) reject an
unrecognized request field with a structured error body instead of the
English "Unsupported parameter: X" text that the reactive auto-compat
loop matches on:

  {"code":"UNKNOWN_FIELD",
   "message":"未知请求字段:reasoning.effort",
   "data":{"field":"reasoning.effort"}}

Because matchUnsupportedParameter only recognized the free-text
"Unsupported parameter" phrasing, these structured unknown-field 400s
bypassed the strip-and-retry mechanism entirely and the request failed
outright instead of dropping the offending field and retrying the same
target.

Extend matchUnsupportedParameter to also parse structured error bodies
that carry an unknown/unexpected-field code (UNKNOWN_FIELD,
INVALID_PARAMETER, UNEXPECTED_PARAMETER) with the offending path in
data.field / data.field_path / data.fieldPath, returning the canonical
dotted path so the existing deleteDottedPath + strip-and-retry flow
handles them identically to the text-based errors.

Fixes mcowger#783
@micookie2 micookie2 closed this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant