fix: align tui editor with pi-tui API

This commit is contained in:
Peter Steinberger
2026-01-20 16:51:37 +00:00
parent 40e928a4c4
commit 9f856abfe7
3 changed files with 6 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
import type { Api, Model, OpenAICompat } from "@mariozechner/pi-ai"; import type { Api, Model, OpenAICompletionsCompat } from "@mariozechner/pi-ai";
function isOpenAiCompletionsModel(model: Model<Api>): model is Model<"openai-completions"> { function isOpenAiCompletionsModel(model: Model<Api>): model is Model<"openai-completions"> {
return model.api === "openai-completions"; return model.api === "openai-completions";
@@ -10,7 +10,7 @@ export function normalizeModelCompat(model: Model<Api>): Model<Api> {
if (!isZai || !isOpenAiCompletionsModel(model)) return model; if (!isZai || !isOpenAiCompletionsModel(model)) return model;
const openaiModel = model as Model<"openai-completions">; const openaiModel = model as Model<"openai-completions">;
const compat = openaiModel.compat as OpenAICompat | undefined; const compat = openaiModel.compat as OpenAICompletionsCompat | undefined;
if (compat?.supportsDeveloperRole === false) return model; if (compat?.supportsDeveloperRole === false) return model;
openaiModel.compat = compat openaiModel.compat = compat

View File

@@ -1,9 +1,4 @@
import { import { Editor, type EditorTheme, type TUI, Key, matchesKey } from "@mariozechner/pi-tui";
Editor,
type EditorTheme,
Key,
matchesKey,
} from "@mariozechner/pi-tui";
export class CustomEditor extends Editor { export class CustomEditor extends Editor {
onEscape?: () => void; onEscape?: () => void;
@@ -17,8 +12,8 @@ export class CustomEditor extends Editor {
onShiftTab?: () => void; onShiftTab?: () => void;
onAltEnter?: () => void; onAltEnter?: () => void;
constructor(theme: EditorTheme) { constructor(tui: TUI, theme: EditorTheme) {
super(theme); super(tui, theme);
} }
handleInput(data: string): void { handleInput(data: string): void {
if (matchesKey(data, Key.alt("enter")) && this.onAltEnter) { if (matchesKey(data, Key.alt("enter")) && this.onAltEnter) {

View File

@@ -193,7 +193,7 @@ export async function runTui(opts: TuiOptions) {
const statusContainer = new Container(); const statusContainer = new Container();
const footer = new Text("", 1, 0); const footer = new Text("", 1, 0);
const chatLog = new ChatLog(); const chatLog = new ChatLog();
const editor = new CustomEditor(editorTheme); const editor = new CustomEditor(tui, editorTheme);
const root = new Container(); const root = new Container();
root.addChild(header); root.addChild(header);
root.addChild(chatLog); root.addChild(chatLog);