import { resolve } from "node:path";
import { discoverExtensionsFromDirectories } from "../discovery";
import type { ExtensionDefinition } from "../types";

export const DEFAULT_EXTERNAL_EXTENSION_PATHS = ["./src/extensions/external"];

export async function discoverExternalExtensions(
    extensionPaths: string[] = DEFAULT_EXTERNAL_EXTENSION_PATHS
): Promise<ExtensionDefinition[]> {
    const resolvedPaths = extensionPaths.map((pathValue) => resolve(process.cwd(), pathValue));
    return await discoverExtensionsFromDirectories(resolvedPaths, "External");
}
