This commit is contained in:
Dave Lauer 2026-01-31 01:19:14 +09:00 committed by GitHub
commit 31e6866a4a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -68,6 +68,20 @@ async function resolveRealpathSafe(inputPath: string): Promise<string> {
}
}
/**
* Derive working directory from a dist entrypoint path.
* E.g., /path/to/moltbot/dist/entry.js -> /path/to/moltbot
*/
function resolveWorkingDirectoryFromEntrypoint(entrypointPath: string): string | undefined {
const dir = path.dirname(entrypointPath);
const parts = dir.split(path.sep);
const distIndex = parts.lastIndexOf("dist");
if (distIndex > 0) {
return parts.slice(0, distIndex).join(path.sep);
}
return undefined;
}
function buildDistCandidates(...inputs: string[]): string[] {
const candidates: string[] = [];
const seen = new Set<string>();
@ -167,6 +181,7 @@ async function resolveCliProgramArguments(params: {
const cliEntrypointPath = await resolveCliEntrypointPathForService();
return {
programArguments: [nodePath, cliEntrypointPath, ...params.args],
workingDirectory: resolveWorkingDirectoryFromEntrypoint(cliEntrypointPath),
};
}
@ -186,6 +201,7 @@ async function resolveCliProgramArguments(params: {
const cliEntrypointPath = await resolveCliEntrypointPathForService();
return {
programArguments: [bunPath, cliEntrypointPath, ...params.args],
workingDirectory: resolveWorkingDirectoryFromEntrypoint(cliEntrypointPath),
};
}
@ -194,6 +210,7 @@ async function resolveCliProgramArguments(params: {
const cliEntrypointPath = await resolveCliEntrypointPathForService();
return {
programArguments: [execPath, cliEntrypointPath, ...params.args],
workingDirectory: resolveWorkingDirectoryFromEntrypoint(cliEntrypointPath),
};
} catch (error) {
// If running under bun or another runtime that can execute TS directly