Commit e1af388
committed
feat(openai-native): always send instructions with Responses API; remove developer/system role injection from input
- Always set top-level `instructions` for every Responses API call (not just when using `previous_response_id`)
- Remove embedding the system prompt as a developer role message in `input` for Responses API
- Keep SDK request builder gating: only include `temperature` when the model supports it
- Update provider tests to assert `instructions` presence and absence of developer/system role in input
feat(ui): gate TemperatureControl by model capability
- Only render the Advanced Settings temperature control when `selectedModelInfo.supportsTemperature !== false`
- Avoids surfacing a no-op UI for models that ignore temperature (e.g., o-series / certain GPT‑5)
- All related UI tests pass
Rationale:
- Responses API treats roles in `input` as free-form; the only standardized way to set system behavior is the top-level `instructions` field.
- UI should reflect model capabilities to prevent user confusion; backend already omits temperature when unsupported, now the UI matches that behavior.1 parent c2ec3d9 commit e1af388
File tree
6 files changed
+6654
-32
lines changed- src
- api/providers
- __tests__
- core/task
- __tests__
- webview-ui/src/components/settings
6 files changed
+6654
-32
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
222 | | - | |
| 222 | + | |
| 223 | + | |
223 | 224 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | 225 | | |
229 | 226 | | |
230 | 227 | | |
| |||
872 | 869 | | |
873 | 870 | | |
874 | 871 | | |
| 872 | + | |
875 | 873 | | |
876 | | - | |
877 | | - | |
878 | | - | |
879 | | - | |
880 | 874 | | |
881 | 875 | | |
882 | 876 | | |
| |||
1224 | 1218 | | |
1225 | 1219 | | |
1226 | 1220 | | |
| 1221 | + | |
1227 | 1222 | | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | 1223 | | |
1233 | 1224 | | |
1234 | 1225 | | |
| |||
1321 | 1312 | | |
1322 | 1313 | | |
1323 | 1314 | | |
1324 | | - | |
| 1315 | + | |
1325 | 1316 | | |
| 1317 | + | |
1326 | 1318 | | |
1327 | | - | |
1328 | | - | |
1329 | | - | |
1330 | | - | |
1331 | 1319 | | |
1332 | 1320 | | |
1333 | 1321 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
219 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
220 | 221 | | |
221 | 222 | | |
222 | 223 | | |
| |||
316 | 317 | | |
317 | 318 | | |
318 | 319 | | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
| 320 | + | |
| 321 | + | |
324 | 322 | | |
325 | 323 | | |
326 | 324 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
582 | 594 | | |
583 | 595 | | |
584 | 596 | | |
| |||
2633 | 2645 | | |
2634 | 2646 | | |
2635 | 2647 | | |
2636 | | - | |
| 2648 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1615 | 1615 | | |
1616 | 1616 | | |
1617 | 1617 | | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
| 1621 | + | |
| 1622 | + | |
| 1623 | + | |
| 1624 | + | |
| 1625 | + | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
| 1636 | + | |
| 1637 | + | |
| 1638 | + | |
| 1639 | + | |
| 1640 | + | |
| 1641 | + | |
| 1642 | + | |
| 1643 | + | |
| 1644 | + | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
| 1648 | + | |
| 1649 | + | |
| 1650 | + | |
| 1651 | + | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
| 1655 | + | |
| 1656 | + | |
| 1657 | + | |
| 1658 | + | |
| 1659 | + | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
1618 | 1681 | | |
1619 | 1682 | | |
1620 | 1683 | | |
| |||
0 commit comments