fix: harden compat and editor ctor

This commit is contained in:
Peter Steinberger
2026-01-20 15:16:00 +00:00
parent 1f7cb4b853
commit c6812c6af4
2 changed files with 11 additions and 5 deletions

View File

@@ -9,9 +9,11 @@ export function normalizeModelCompat(model: Model<Api>): Model<Api> {
const isZai = model.provider === "zai" || baseUrl.includes("api.z.ai");
if (!isZai || !isOpenAiCompletionsModel(model)) return model;
const compat = model.compat ?? {};
if (compat.supportsDeveloperRole === false) return model;
const compat = model.compat as { supportsDeveloperRole?: boolean } | undefined;
if (compat?.supportsDeveloperRole === false) return model;
model.compat = { ...compat, supportsDeveloperRole: false };
model.compat = compat
? { ...compat, supportsDeveloperRole: false }
: { supportsDeveloperRole: false };
return model;
}

View File

@@ -12,8 +12,12 @@ export class CustomEditor extends Editor {
onShiftTab?: () => void;
onAltEnter?: () => void;
constructor(tui: TUI, theme: EditorTheme) {
super(tui, theme);
constructor(tuiOrTheme: TUI | EditorTheme, themeMaybe?: EditorTheme) {
const useTui = typeof themeMaybe !== "undefined" && Editor.length >= 2;
const args = (useTui ? [tuiOrTheme, themeMaybe] : [tuiOrTheme]) as ConstructorParameters<
typeof Editor
>;
super(...args);
}
handleInput(data: string): void {
if (matchesKey(data, Key.alt("enter")) && this.onAltEnter) {