You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
address remaining review for deepseek responses repair
Budget responseIdMap and reasoning text, emit [DONE] for failed/incomplete,
preserve plaintext reasoning for DeepSeek replay, alias rewritten response
ids into local previous_response_id state, document rewriteNonCanonicalIds,
and cover eager trailer plus budget regressions.
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/reference/configuration/providers.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,7 +88,7 @@ differing backup and rewrites known legacy namespaced selected ids to bare ids.
88
88
|`noTopPModels?`|`string[]`| Models that reject caller-specified `top_p`. |
89
89
|`noPenaltyModels?`|`string[]`| Models that reject presence/frequency penalties. |
90
90
|`parallelToolCalls?`|`boolean`| Toggle parallel tool calls. OpenAI Chat defaults on; non-chat adapters advertise only on explicit `true`. |
91
-
|`responsesItemIdRepair?`|`{ message?: string[]; reasoning?: string[]; repairMissingTerminalIds?: boolean}`| Disabled-by-default downstream SSE repair for exact placeholder ids and missing terminal ids. Function-call ids are never rewritten. |
91
+
|`responsesItemIdRepair?`|`{ message?: string[]; reasoning?: string[]; repairMissingTerminalIds?: boolean; rewriteNonCanonicalIds?: boolean }`| Disabled-by-default downstream SSE repair for exact placeholder ids, missing terminal ids, and non-canonical UUID-style response/item ids (`rewriteNonCanonicalIds`). Function-call ids are never rewritten. |
92
92
|`autoToolChoiceOnlyModels?`|`string[]`| Models whose `tool_choice` accepts only `auto` or `none`; forced choices are downgraded. |
93
93
|`preserveReasoningContentModels?`|`string[]`| Models requiring prior assistant `reasoning_content` in chat history. |
94
94
|`thinkingToggleModels?`|`string[]`| Chat models using `thinking.enabled` rather than an effort ladder. |
@@ -234,15 +234,15 @@ For a broken `openai-responses` gateway, repair belongs on the provider object:
234
234
"responsesItemIdRepair": {
235
235
"reasoning": ["rs_0"],
236
236
"message": ["msg_0"],
237
-
"repairMissingTerminalIds": true
237
+
"repairMissingTerminalIds": true,
238
+
"rewriteNonCanonicalIds": true
238
239
}
239
240
}
240
241
}
241
242
}
242
243
```
243
244
244
-
Placeholder lists are exact matches. Leave the field unset for normal/stateful Responses providers
245
-
so passthrough stays byte-for-byte identical.
245
+
Placeholder lists are exact matches. Set `rewriteNonCanonicalIds` for gateways such as DeepSeek Responses that emit UUID item/response ids and raw `reasoning_text` streams; OpenCodex rewrites those ids to Codex-friendly prefixes, folds reasoning into `encrypted_content` (while keeping plaintext `content` for replay), and ensures a terminal `[DONE]`. Leave the field unset for normal/stateful Responses providers so passthrough stays byte-for-byte identical.
|`parallelToolCalls?`|`boolean`| Переключатель parallel tool call'ов. Для OpenAI Chat по умолчанию включено; не-chat adapter'ы рекламируют это только при явном `true`. |
96
-
|`responsesItemIdRepair?`|`{ message?: string[]; reasoning?: string[]; repairMissingTerminalIds?: boolean}`| По умолчанию выключенная downstream SSE-repair для exact placeholder-id и отсутствующих terminal-id. Function-call id никогда не переписываются. |
96
+
|`responsesItemIdRepair?`|`{ message?: string[]; reasoning?: string[]; repairMissingTerminalIds?: boolean; rewriteNonCanonicalIds?: boolean }`| По умолчанию выключенная downstream SSE-repair для exact placeholder-id, отсутствующих terminal-id и неканонических UUID-style response/item id (`rewriteNonCanonicalIds`). Function-call id никогда не переписываются. |
97
97
|`autoToolChoiceOnlyModels?`|`string[]`| Модели, у которых `tool_choice` принимает только `auto` или `none`; forced choice понижается. |
98
98
|`preserveReasoningContentModels?`|`string[]`| Модели, которым нужен предыдущий assistant `reasoning_content` в chat history. |
99
99
|`thinkingToggleModels?`|`string[]`| Chat-модели, использующие `thinking.enabled` вместо effort-ladder. |
@@ -244,7 +244,8 @@ Beijing, а `alibaba-token-plan-intl` обслуживает междунаро
0 commit comments