import { DefaultExecutor } from "./default.js"; import { resolveXiaomiTokenplanBaseUrl } from "../config/providers.js"; import { getModelTargetFormat } from "../config/providerModels.js"; import { FORMATS } from "../translator/formats.js"; export class XiaomiTokenplanExecutor extends DefaultExecutor { constructor() { super("xiaomi-tokenplan"); } // Claude-native aliases route to the Anthropic-compatible messages endpoint buildUrl(model, stream, urlIndex = 0, credentials = null) { const baseUrl = resolveXiaomiTokenplanBaseUrl(credentials); if (getModelTargetFormat(model, model) === FORMATS.CLAUDE) { return `${baseUrl.replace(/\/v1\/?$/, "/anthropic/v1")}/messages`; } return `${baseUrl}/chat/completions`; } }