mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-17 00:04:50 +00:00
feat: add xhigh thinking level support for gpt-5.2 models
- Add supportsXhigh() function to ai package for checking xhigh support - Clamp xhigh to high for OpenAI models that don't support it - Update coding-agent to use centralized supportsXhigh() - gpt-5.2, gpt-5.2-codex now show xhigh in thinking selector Closes #236
This commit is contained in:
parent
4f981d8ebc
commit
7e38897673
5 changed files with 24 additions and 8 deletions
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- **xhigh thinking level for gpt-5.2 models**: The thinking level selector and shift+tab cycling now show xhigh option for gpt-5.2 and gpt-5.2-codex models (in addition to gpt-5.1-codex-max). ([#236](https://github.com/badlogic/pi-mono/pull/236) by [@theBucky](https://github.com/theBucky))
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Hooks wrap custom tools**: Custom tools are now executed through the hook wrapper, so `tool_call`/`tool_result` hooks can observe, block, and modify custom tool executions (consistent with hook type docs).
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
import type { Agent, AgentEvent, AgentState, AppMessage, Attachment, ThinkingLevel } from "@mariozechner/pi-agent-core";
|
||||
import type { AssistantMessage, Message, Model, TextContent } from "@mariozechner/pi-ai";
|
||||
import { isContextOverflow } from "@mariozechner/pi-ai";
|
||||
import { isContextOverflow, supportsXhigh } from "@mariozechner/pi-ai";
|
||||
import { getModelsPath } from "../config.js";
|
||||
import { type BashResult, executeBash as executeBashCommand } from "./bash-executor.js";
|
||||
import { calculateContextTokens, compact, shouldCompact } from "./compaction.js";
|
||||
|
|
@ -102,9 +102,6 @@ export interface SessionStats {
|
|||
// Constants
|
||||
// ============================================================================
|
||||
|
||||
/** Models that support xhigh thinking level */
|
||||
const XHIGH_MODELS = ["gpt-5.1-codex-max", "gpt-5.2", "gpt-5.2-codex"];
|
||||
|
||||
/** Standard thinking levels */
|
||||
const THINKING_LEVELS: ThinkingLevel[] = ["off", "minimal", "low", "medium", "high"];
|
||||
|
||||
|
|
@ -670,8 +667,7 @@ export class AgentSession {
|
|||
* Check if current model supports xhigh thinking level.
|
||||
*/
|
||||
supportsXhighThinking(): boolean {
|
||||
const modelId = this.model?.id || "";
|
||||
return XHIGH_MODELS.some((m) => modelId === m || modelId.endsWith(`/${m}`));
|
||||
return this.model ? supportsXhigh(this.model) : false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue