{"version":3,"sources":["../src/cli/utils/init.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport { FileManager } from \"./fileManager\";\n\nexport const initializeProject = async (): Promise<void> => {\n  console.log(chalk.blue(\"Initializing LangWatch prompts project...\"));\n\n  // Initialize prompts.json\n  const configResult = FileManager.initializePromptsConfig();\n  if (configResult.created) {\n    console.log(chalk.green(`✓ Created ${chalk.gray(\"./prompts.json\")}`));\n\n    const gitignoreResult = FileManager.addToGitignore(\"prompts/.materialized\");\n    if (gitignoreResult.added) {\n      if (gitignoreResult.existed) {\n        console.log(\n          chalk.green(\n            `✓ Added ${chalk.gray(\n              \"prompts/.materialized\"\n            )} to existing .gitignore`\n          )\n        );\n      } else {\n        console.log(\n          chalk.green(\n            `✓ Created .gitignore with ${chalk.gray(\"prompts/.materialized\")}`\n          )\n        );\n      }\n    } else {\n      console.log(\n        chalk.gray(\n          `• ${chalk.gray(\"prompts/.materialized\")} already in .gitignore`\n        )\n      );\n    }\n  } else {\n    console.log(chalk.gray(`• prompts.json already exists`));\n  }\n\n  // Initialize lock file\n  const lockResult = FileManager.initializePromptsLock();\n  if (lockResult.created) {\n    console.log(chalk.green(`✓ Created ${chalk.gray(\"./prompts-lock.json\")}`));\n  } else {\n    console.log(chalk.gray(`• prompts-lock.json already exists`));\n  }\n\n  // Ensure directories exist\n  FileManager.ensureDirectories();\n  console.log(\n    chalk.green(`✓ Created ${chalk.gray(\"./prompts/\")} directory structure`)\n  );\n\n  console.log(\n    chalk.green(\"\\n✨ Project initialized! You can now add prompts with:\")\n  );\n  console.log(chalk.gray(\"  langwatch prompt add <name>\"));\n};\n\nexport const ensureProjectInitialized = async (\n  shouldCheckForGitignore = true\n): Promise<{ configCreated: boolean; lockCreated: boolean }> => {\n  // Initialize prompts.json\n  const configResult = FileManager.initializePromptsConfig();\n\n  if (configResult.created) {\n    console.log(chalk.green(`✓ Created ${chalk.gray(\"./prompts.json\")}`));\n\n    if (shouldCheckForGitignore) {\n      const gitignoreResult = FileManager.addToGitignore(\n        \"prompts/.materialized\"\n      );\n      if (gitignoreResult.added) {\n        if (gitignoreResult.existed) {\n          console.log(\n            chalk.green(\n              `✓ Added ${chalk.gray(\n                \"prompts/.materialized\"\n              )} to existing .gitignore`\n            )\n          );\n        } else {\n          console.log(\n            chalk.green(\n              `✓ Created .gitignore with ${chalk.gray(\"prompts/.materialized\")}`\n            )\n          );\n        }\n      }\n    }\n  }\n\n  // Initialize lock file\n  const lockResult = FileManager.initializePromptsLock();\n  if (lockResult.created) {\n    console.log(chalk.green(`✓ Created ${chalk.gray(\"./prompts-lock.json\")}`));\n  }\n\n  // Ensure directories exist\n  FileManager.ensureDirectories();\n\n  return {\n    configCreated: configResult.created,\n    lockCreated: lockResult.created,\n  };\n};\n"],"mappings":";;;;;AAAA,OAAO,WAAW;AAGX,IAAM,oBAAoB,YAA2B;AAC1D,UAAQ,IAAI,MAAM,KAAK,2CAA2C,CAAC;AAGnE,QAAM,eAAe,YAAY,wBAAwB;AACzD,MAAI,aAAa,SAAS;AACxB,YAAQ,IAAI,MAAM,MAAM,kBAAa,MAAM,KAAK,gBAAgB,CAAC,EAAE,CAAC;AAEpE,UAAM,kBAAkB,YAAY,eAAe,uBAAuB;AAC1E,QAAI,gBAAgB,OAAO;AACzB,UAAI,gBAAgB,SAAS;AAC3B,gBAAQ;AAAA,UACN,MAAM;AAAA,YACJ,gBAAW,MAAM;AAAA,cACf;AAAA,YACF,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF,OAAO;AACL,gBAAQ;AAAA,UACN,MAAM;AAAA,YACJ,kCAA6B,MAAM,KAAK,uBAAuB,CAAC;AAAA,UAClE;AAAA,QACF;AAAA,MACF;AAAA,IACF,OAAO;AACL,cAAQ;AAAA,QACN,MAAM;AAAA,UACJ,UAAK,MAAM,KAAK,uBAAuB,CAAC;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,YAAQ,IAAI,MAAM,KAAK,oCAA+B,CAAC;AAAA,EACzD;AAGA,QAAM,aAAa,YAAY,sBAAsB;AACrD,MAAI,WAAW,SAAS;AACtB,YAAQ,IAAI,MAAM,MAAM,kBAAa,MAAM,KAAK,qBAAqB,CAAC,EAAE,CAAC;AAAA,EAC3E,OAAO;AACL,YAAQ,IAAI,MAAM,KAAK,yCAAoC,CAAC;AAAA,EAC9D;AAGA,cAAY,kBAAkB;AAC9B,UAAQ;AAAA,IACN,MAAM,MAAM,kBAAa,MAAM,KAAK,YAAY,CAAC,sBAAsB;AAAA,EACzE;AAEA,UAAQ;AAAA,IACN,MAAM,MAAM,6DAAwD;AAAA,EACtE;AACA,UAAQ,IAAI,MAAM,KAAK,+BAA+B,CAAC;AACzD;AAEO,IAAM,2BAA2B,OACtC,0BAA0B,SACoC;AAE9D,QAAM,eAAe,YAAY,wBAAwB;AAEzD,MAAI,aAAa,SAAS;AACxB,YAAQ,IAAI,MAAM,MAAM,kBAAa,MAAM,KAAK,gBAAgB,CAAC,EAAE,CAAC;AAEpE,QAAI,yBAAyB;AAC3B,YAAM,kBAAkB,YAAY;AAAA,QAClC;AAAA,MACF;AACA,UAAI,gBAAgB,OAAO;AACzB,YAAI,gBAAgB,SAAS;AAC3B,kBAAQ;AAAA,YACN,MAAM;AAAA,cACJ,gBAAW,MAAM;AAAA,gBACf;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF,OAAO;AACL,kBAAQ;AAAA,YACN,MAAM;AAAA,cACJ,kCAA6B,MAAM,KAAK,uBAAuB,CAAC;AAAA,YAClE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,QAAM,aAAa,YAAY,sBAAsB;AACrD,MAAI,WAAW,SAAS;AACtB,YAAQ,IAAI,MAAM,MAAM,kBAAa,MAAM,KAAK,qBAAqB,CAAC,EAAE,CAAC;AAAA,EAC3E;AAGA,cAAY,kBAAkB;AAE9B,SAAO;AAAA,IACL,eAAe,aAAa;AAAA,IAC5B,aAAa,WAAW;AAAA,EAC1B;AACF;","names":[]}