From 83b57924a0135651e9c0aa9aac503e9a86cb873a Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 4 Mar 2026 21:18:45 +0100 Subject: [PATCH] fix(coding-agent): resolve extension aliases without require.resolve --- .../coding-agent/src/core/extensions/loader.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/coding-agent/src/core/extensions/loader.ts b/packages/coding-agent/src/core/extensions/loader.ts index bf8c0211..8ff7228f 100644 --- a/packages/coding-agent/src/core/extensions/loader.ts +++ b/packages/coding-agent/src/core/extensions/loader.ts @@ -64,12 +64,21 @@ function getAliases(): Record { const typeboxEntry = require.resolve("@sinclair/typebox"); const typeboxRoot = typeboxEntry.replace(/[\\/]build[\\/]cjs[\\/]index\.js$/, ""); + const packagesRoot = path.resolve(__dirname, "../../../../"); + const resolveWorkspaceOrSpecifier = (workspaceRelativePath: string, specifier: string): string => { + const workspacePath = path.join(packagesRoot, workspaceRelativePath); + if (fs.existsSync(workspacePath)) { + return workspacePath; + } + return specifier; + }; + _aliases = { "@mariozechner/pi-coding-agent": packageIndex, - "@mariozechner/pi-agent-core": require.resolve("@mariozechner/pi-agent-core"), - "@mariozechner/pi-tui": require.resolve("@mariozechner/pi-tui"), - "@mariozechner/pi-ai": require.resolve("@mariozechner/pi-ai"), - "@mariozechner/pi-ai/oauth": require.resolve("@mariozechner/pi-ai/oauth"), + "@mariozechner/pi-agent-core": resolveWorkspaceOrSpecifier("agent/src/index.ts", "@mariozechner/pi-agent-core"), + "@mariozechner/pi-tui": resolveWorkspaceOrSpecifier("tui/src/index.ts", "@mariozechner/pi-tui"), + "@mariozechner/pi-ai": resolveWorkspaceOrSpecifier("ai/src/index.ts", "@mariozechner/pi-ai"), + "@mariozechner/pi-ai/oauth": resolveWorkspaceOrSpecifier("ai/src/oauth.ts", "@mariozechner/pi-ai/oauth"), "@sinclair/typebox": typeboxRoot, };