Fix jiti alias resolution in dev mode with tsx
When running from source with tsx, the jiti aliases pointed to .js files that don't exist (only .ts files exist). This caused jiti to fall back to different module resolution, loading a separate instance of theme.ts where initTheme() was never called, resulting in undefined theme. Now checks if .js exists and falls back to .ts for dev mode compatibility.
This commit is contained in:
@@ -4359,23 +4359,6 @@ export const MODELS = {
|
||||
contextWindow: 256000,
|
||||
maxTokens: 128000,
|
||||
} satisfies Model<"openai-completions">,
|
||||
"kwaipilot/kat-coder-pro:free": {
|
||||
id: "kwaipilot/kat-coder-pro:free",
|
||||
name: "Kwaipilot: KAT-Coder-Pro V1 (free)",
|
||||
api: "openai-completions",
|
||||
provider: "openrouter",
|
||||
baseUrl: "https://openrouter.ai/api/v1",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
},
|
||||
contextWindow: 256000,
|
||||
maxTokens: 128000,
|
||||
} satisfies Model<"openai-completions">,
|
||||
"meta-llama/llama-3-70b-instruct": {
|
||||
id: "meta-llama/llama-3-70b-instruct",
|
||||
name: "Meta: Llama 3 70B Instruct",
|
||||
@@ -4589,13 +4572,13 @@ export const MODELS = {
|
||||
reasoning: true,
|
||||
input: ["text"],
|
||||
cost: {
|
||||
input: 0.28,
|
||||
output: 1.2,
|
||||
cacheRead: 0.14,
|
||||
input: 0.27,
|
||||
output: 1.12,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
},
|
||||
contextWindow: 196608,
|
||||
maxTokens: 4096,
|
||||
maxTokens: 65536,
|
||||
} satisfies Model<"openai-completions">,
|
||||
"mistralai/codestral-2508": {
|
||||
id: "mistralai/codestral-2508",
|
||||
|
||||
@@ -31,14 +31,25 @@ function getAliases(): Record<string, string> {
|
||||
if (_aliases) return _aliases;
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const packageIndex = path.resolve(__dirname, "../..", "index.js");
|
||||
// Use .js extension but check if .ts exists (dev mode with tsx)
|
||||
let packageIndex = path.resolve(__dirname, "../..", "index.js");
|
||||
if (!fs.existsSync(packageIndex)) {
|
||||
const tsPath = packageIndex.replace(/\.js$/, ".ts");
|
||||
if (fs.existsSync(tsPath)) packageIndex = tsPath;
|
||||
}
|
||||
|
||||
let extensionsIndex = path.resolve(__dirname, "index.js");
|
||||
if (!fs.existsSync(extensionsIndex)) {
|
||||
const tsPath = extensionsIndex.replace(/\.js$/, ".ts");
|
||||
if (fs.existsSync(tsPath)) extensionsIndex = tsPath;
|
||||
}
|
||||
|
||||
const typeboxEntry = require.resolve("@sinclair/typebox");
|
||||
const typeboxRoot = typeboxEntry.replace(/\/build\/cjs\/index\.js$/, "");
|
||||
|
||||
_aliases = {
|
||||
"@mariozechner/pi-coding-agent": packageIndex,
|
||||
"@mariozechner/pi-coding-agent/extensions": path.resolve(__dirname, "index.js"),
|
||||
"@mariozechner/pi-coding-agent/extensions": extensionsIndex,
|
||||
"@mariozechner/pi-tui": require.resolve("@mariozechner/pi-tui"),
|
||||
"@mariozechner/pi-ai": require.resolve("@mariozechner/pi-ai"),
|
||||
"@sinclair/typebox": typeboxRoot,
|
||||
|
||||
Reference in New Issue
Block a user