{"version":3,"file":"index.cjs","names":["MastraBase"],"sources":["../../src/bundler/index.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises';\nimport { parse } from 'dotenv';\n\nimport { MastraBase } from '../base';\n\nexport interface IBundler {\n  loadEnvVars(): Promise<Map<string, string>>;\n  getEnvFiles(): Promise<string[]>;\n  getAllToolPaths(mastraDir: string, toolsPaths: (string | string[])[]): (string | string[])[];\n  bundle(\n    entryFile: string,\n    outputDirectory: string,\n    options: { toolsPaths: (string | string[])[]; projectRoot: string },\n  ): Promise<void>;\n  prepare(outputDirectory: string): Promise<void>;\n  writePackageJson(outputDirectory: string, dependencies: Map<string, string>): Promise<void>;\n  lint(entryFile: string, outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void>;\n}\n\nexport abstract class MastraBundler extends MastraBase implements IBundler {\n  constructor({ name, component = 'BUNDLER' }: { name: string; component?: 'BUNDLER' | 'DEPLOYER' }) {\n    super({ component, name });\n  }\n\n  async loadEnvVars(): Promise<Map<string, string>> {\n    const envVars = new Map();\n\n    for (const file of await this.getEnvFiles()) {\n      const content = await readFile(file, 'utf-8');\n      const config = parse(content);\n\n      Object.entries(config).forEach(([key, value]) => {\n        envVars.set(key, value);\n      });\n    }\n\n    return envVars;\n  }\n\n  abstract getAllToolPaths(mastraDir: string, toolsPaths: (string | string[])[]): (string | string[])[];\n  abstract prepare(outputDirectory: string): Promise<void>;\n  abstract writePackageJson(outputDirectory: string, dependencies: Map<string, string>): Promise<void>;\n  abstract getEnvFiles(): Promise<string[]>;\n  abstract bundle(\n    entryFile: string,\n    outputDirectory: string,\n    { toolsPaths, projectRoot }: { toolsPaths: (string | string[])[]; projectRoot: string },\n  ): Promise<void>;\n  abstract lint(entryFile: string, outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void>;\n}\n"],"mappings":";;;;;AAmBA,IAAsB,gBAAtB,cAA4CA,aAAAA,WAA+B;CACzE,YAAY,EAAE,MAAM,YAAY,aAAmE;EACjG,MAAM;GAAE;GAAW;EAAK,CAAC;CAC3B;CAEA,MAAM,cAA4C;EAChD,MAAM,0BAAU,IAAI,IAAI;EAExB,KAAK,MAAM,QAAQ,MAAM,KAAK,YAAY,GAAG;GAE3C,MAAM,UAAA,GAAA,OAAA,MAAA,CAAe,OAAA,GAAA,YAAA,SAAA,CADU,MAAM,OAAO,CAChB;GAE5B,OAAO,QAAQ,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW;IAC/C,QAAQ,IAAI,KAAK,KAAK;GACxB,CAAC;EACH;EAEA,OAAO;CACT;AAYF"}