feat: introduced max reasoning effort tier across model and rpc systems
- Introduced `Max` as a first-class reasoning effort tier across all packages, including AI providers, coding agent configurations, and RPC protocols. - Refactored model effort ladders to use wire-exact mappings and removed legacy effort aliasing (e.g., `max-to-xhigh` mapping). - Updated model registry and provider configurations to support `Max` tier routing, color themes, and UI icon associations. - Expanded test suites to provide end-to-end coverage for the new reasoning tier, including updated compatibility and fallback scenarios.
This commit is contained in:
@@ -11,8 +11,10 @@ JsonValue: TypeAlias = JsonPrimitive | list["JsonValue"] | dict[str, "JsonValue"
|
||||
JsonObject: TypeAlias = dict[str, JsonValue]
|
||||
|
||||
Attribution: TypeAlias = Literal["user", "agent"]
|
||||
Effort: TypeAlias = Literal["minimal", "low", "medium", "high", "xhigh"]
|
||||
ThinkingLevel: TypeAlias = Literal["off", "minimal", "low", "medium", "high", "xhigh"]
|
||||
Effort: TypeAlias = Literal["minimal", "low", "medium", "high", "xhigh", "max"]
|
||||
ThinkingLevel: TypeAlias = Literal[
|
||||
"off", "minimal", "low", "medium", "high", "xhigh", "max"
|
||||
]
|
||||
StreamingBehavior: TypeAlias = Literal["steer", "followUp"]
|
||||
SteeringMode: TypeAlias = Literal["all", "one-at-a-time"]
|
||||
InterruptMode: TypeAlias = Literal["immediate", "wait"]
|
||||
@@ -50,7 +52,7 @@ VALUE_EXTENSION_UI_METHODS: Final[frozenset[ValueExtensionUiMethod]] = frozenset
|
||||
{"select", "input", "editor"}
|
||||
)
|
||||
_EFFORT_VALUES: Final[frozenset[str]] = frozenset(
|
||||
{"minimal", "low", "medium", "high", "xhigh"}
|
||||
{"minimal", "low", "medium", "high", "xhigh", "max"}
|
||||
)
|
||||
_THINKING_LEVEL_VALUES: Final[frozenset[str]] = _EFFORT_VALUES | frozenset({"off"})
|
||||
_STEERING_MODE_VALUES: Final[frozenset[str]] = frozenset({"all", "one-at-a-time"})
|
||||
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
version = 1
|
||||
revision = 3
|
||||
requires-python = ">=3.11"
|
||||
|
||||
[[package]]
|
||||
name = "omp-rpc"
|
||||
version = "0.1.0"
|
||||
source = { editable = "." }
|
||||
@@ -10,7 +10,7 @@ from typing import Literal
|
||||
from pydantic import Field, SecretStr, field_validator, model_validator
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
ThinkingLevel = Literal["off", "low", "medium", "high", "xhigh"]
|
||||
ThinkingLevel = Literal["off", "low", "medium", "high", "xhigh", "max"]
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
|
||||
@@ -33,7 +33,7 @@ Supported keys (today):
|
||||
contains `<alias>` (case-insensitive). Falls back to the normal random
|
||||
pool selection if no member matches.
|
||||
- `/thinking <level>` — override `ROBOMP_THINKING` for this run. Accepts
|
||||
`off|none|no`, `lo|low`, `med|medium`, `hi|high`, `xhi|xhigh`
|
||||
`off|none|no`, `lo|low`, `med|medium`, `hi|high`, `xhi|xhigh`, `max`
|
||||
(case-insensitive); anything else is ignored.
|
||||
|
||||
Parser semantics:
|
||||
@@ -49,7 +49,7 @@ from __future__ import annotations
|
||||
import re
|
||||
from typing import Literal
|
||||
|
||||
ThinkingLevel = Literal["off", "low", "medium", "high", "xhigh"]
|
||||
ThinkingLevel = Literal["off", "low", "medium", "high", "xhigh", "max"]
|
||||
|
||||
# Key = ascii lowercase / digit / dash / underscore, must start with a letter.
|
||||
# The value (when using `/key=value` form) runs to end-of-token.
|
||||
@@ -164,6 +164,7 @@ _THINKING_ALIASES: dict[str, ThinkingLevel] = {
|
||||
"high": "high",
|
||||
"xhi": "xhigh",
|
||||
"xhigh": "xhigh",
|
||||
"max": "max",
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user