{"version":3,"file":"project-config.cjs","sources":["@gensx/core/../../../../src/utils/project-config.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { z } from \"zod\";\n\n// Define schema for gensx.yaml\nconst ProjectConfigSchema = z.object({\n  projectName: z.string(),\n  environmentName: z.string().optional(),\n  description: z.string().optional(),\n});\n\nexport type ProjectConfig = z.infer<typeof ProjectConfigSchema>;\n\n/**\n * Get the path to the gensx.yaml file\n */\nexport function getProjectConfigPath(dir: string): string {\n  return path.join(dir, \"gensx.yaml\");\n}\n\n/**\n * Read the gensx.yaml file and return the parsed config\n */\nexport function readProjectConfig(dir: string): ProjectConfig | null {\n  try {\n    const configPath = getProjectConfigPath(dir);\n    const content = readFileSync(configPath, \"utf-8\");\n\n    // Simple YAML parser for our specific needs\n    // We'll keep it basic since our format is simple\n    const lines = content.split(\"\\n\");\n    const config: Record<string, string> = {};\n\n    for (const line of lines) {\n      const trimmedLine = line.trim();\n      if (!trimmedLine || trimmedLine.startsWith(\"#\")) continue;\n\n      const [key, ...valueParts] = trimmedLine.split(\":\");\n      if (key && valueParts.length > 0) {\n        const value = valueParts.join(\":\").trim();\n        // Remove quotes if they exist\n        config[key.trim()] = value.replace(/^['\"](.*)['\"]$/, \"$1\");\n      }\n    }\n\n    return ProjectConfigSchema.parse(config);\n  } catch {\n    return null;\n  }\n}\n"],"names":["z","readFileSync"],"mappings":";;;;;;;;;;;;AAKA;AACA,MAAM,mBAAmB,GAAGA,KAAC,CAAC,MAAM,CAAC;AACnC,IAAA,WAAW,EAAEA,KAAC,CAAC,MAAM,EAAE;AACvB,IAAA,eAAe,EAAEA,KAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACtC,IAAA,WAAW,EAAEA,KAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACnC,CAAA,CAAC;AAIF;;AAEG;AACG,SAAU,oBAAoB,CAAC,GAAW,EAAA;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;AACrC;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAAC,GAAW,EAAA;AAC3C,IAAA,IAAI;AACF,QAAA,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAC5C,MAAM,OAAO,GAAGC,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC;;;QAIjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACjC,MAAM,MAAM,GAA2B,EAAE;AAEzC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE;YAC/B,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE;AAEjD,YAAA,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;YACnD,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAEzC,gBAAA,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC;;;AAI9D,QAAA,OAAO,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;;AACxC,IAAA,MAAM;AACN,QAAA,OAAO,IAAI;;AAEf;;;;;"}