feat(integrations): route gpt-* pi models through openai-responses api

This commit is contained in:
redshift
2026-09-22 13:55:17 +03:00
parent 1e882fb983
commit b1a2f2f6b5
+11
View File
@@ -18,6 +18,7 @@ export type ThinkingLevelMap = Partial<Record<PiThinkingLevel, string | null>>;
export type PiModelEntry = {
id: string;
api?: string;
contextWindow?: number;
name?: string;
input?: string[];
@@ -90,6 +91,7 @@ export function deriveThinkingFields(
}
const isDeepSeekModel = (id: string): boolean => id.startsWith("deepseek");
const isGptModel = (id: string): boolean => id.startsWith("gpt-");
/** Project one daemon model onto a pi config entry. */
export function buildPiModelEntry(
@@ -113,6 +115,15 @@ export function buildPiModelEntry(
if (mods.includes("image")) input.push("image");
entry.input = input;
// gpt-* models are served through OpenAI's Responses API; the provider-level
// `api: "openai-completions"` stays the default for everything else. For
// non-gpt models keep whatever per-model api the user curated.
if (isGptModel(model.id)) {
entry.api = "openai-responses";
} else if (previous?.api !== undefined) {
entry.api = previous.api;
}
const derived = deriveThinkingFields(model);
if (derived) {
entry.reasoning = derived.reasoning;