{"version":3,"sources":["../src/cli/commands/projects/create.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { ProjectsApiService } from \"@/client-sdk/services/projects/projects-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { failSpinner } from \"../../utils/spinnerError\";\n\nexport interface CreateProjectOptions {\n  name: string;\n  language: string;\n  framework: string;\n  teamId?: string;\n  newTeamName?: string;\n  format?: string;\n}\n\nexport const createProjectCommand = async (options: CreateProjectOptions): Promise<void> => {\n  checkApiKey();\n\n  if (!options.name) {\n    console.error(chalk.red(\"Error: --name is required\"));\n    process.exit(1);\n  }\n  if (!options.language) {\n    console.error(chalk.red(\"Error: --language is required\"));\n    process.exit(1);\n  }\n  if (!options.framework) {\n    console.error(chalk.red(\"Error: --framework is required\"));\n    process.exit(1);\n  }\n  if (!options.teamId && !options.newTeamName) {\n    console.error(chalk.red(\"Error: either --team-id or --new-team-name is required\"));\n    process.exit(1);\n  }\n\n  const service = new ProjectsApiService();\n  const spinner = ora(`Creating project \"${options.name}\"...`).start();\n\n  try {\n    const project = await service.create({\n      name: options.name,\n      language: options.language,\n      framework: options.framework,\n      teamId: options.teamId,\n      newTeamName: options.newTeamName,\n    });\n\n    spinner.succeed(`Created project \"${chalk.cyan(project.name)}\"`);\n\n    if (options.format === \"json\") {\n      console.log(JSON.stringify(project, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(chalk.bold.yellow(\"⚠  Save the service API key below NOW. It will not be shown again.\"));\n    console.log();\n    console.log(`  ${chalk.green(project.serviceApiKey)}`);\n    console.log();\n    console.log(chalk.gray(\"Use it to authenticate project-scoped operations:\"));\n    console.log(chalk.cyan(`  export LANGWATCH_API_KEY=\"${project.serviceApiKey}\"`));\n    console.log();\n    console.log(chalk.gray(\"Project id:         \") + project.id);\n    console.log(chalk.gray(\"Slug:               \") + project.slug);\n    console.log(chalk.gray(\"Service API key id: \") + project.serviceApiKeyId);\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"create project\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAcT,IAAM,uBAAuB,OAAO,YAAiD;AAC1F,cAAY;AAEZ,MAAI,CAAC,QAAQ,MAAM;AACjB,YAAQ,MAAM,MAAM,IAAI,2BAA2B,CAAC;AACpD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,CAAC,QAAQ,UAAU;AACrB,YAAQ,MAAM,MAAM,IAAI,+BAA+B,CAAC;AACxD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,CAAC,QAAQ,WAAW;AACtB,YAAQ,MAAM,MAAM,IAAI,gCAAgC,CAAC;AACzD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,MAAI,CAAC,QAAQ,UAAU,CAAC,QAAQ,aAAa;AAC3C,YAAQ,MAAM,MAAM,IAAI,wDAAwD,CAAC;AACjF,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,IAAI,mBAAmB;AACvC,QAAM,UAAU,IAAI,qBAAqB,QAAQ,IAAI,MAAM,EAAE,MAAM;AAEnE,MAAI;AACF,UAAM,UAAU,MAAM,QAAQ,OAAO;AAAA,MACnC,MAAM,QAAQ;AAAA,MACd,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB,QAAQ,QAAQ;AAAA,MAChB,aAAa,QAAQ;AAAA,IACvB,CAAC;AAED,YAAQ,QAAQ,oBAAoB,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG;AAE/D,QAAI,QAAQ,WAAW,QAAQ;AAC7B,cAAQ,IAAI,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAC5C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,MAAM,KAAK,OAAO,yEAAoE,CAAC;AACnG,YAAQ,IAAI;AACZ,YAAQ,IAAI,KAAK,MAAM,MAAM,QAAQ,aAAa,CAAC,EAAE;AACrD,YAAQ,IAAI;AACZ,YAAQ,IAAI,MAAM,KAAK,mDAAmD,CAAC;AAC3E,YAAQ,IAAI,MAAM,KAAK,+BAA+B,QAAQ,aAAa,GAAG,CAAC;AAC/E,YAAQ,IAAI;AACZ,YAAQ,IAAI,MAAM,KAAK,sBAAsB,IAAI,QAAQ,EAAE;AAC3D,YAAQ,IAAI,MAAM,KAAK,sBAAsB,IAAI,QAAQ,IAAI;AAC7D,YAAQ,IAAI,MAAM,KAAK,sBAAsB,IAAI,QAAQ,eAAe;AACxE,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,iBAAiB,CAAC;AACxD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}