UNPKG

@nestbox-ai/cli

Version:

The cli tools that helps developers to build agents

46 lines (41 loc) 1.76 kB
import { Command } from "commander"; import { withTokenRefresh } from "../../utils/error"; import chalk from "chalk"; import { readNestboxConfig, writeNestboxConfig } from "../../utils/config"; import { createApis } from "./apiUtils"; export function registerUseCommand(projectCommand: Command): void { projectCommand .command('use <project-name>') .description('Set default project for all commands') .action(async (projectName: string) => { try { const apis = createApis(); // Execute with token refresh support await withTokenRefresh( async () => { const config = readNestboxConfig(); config.projects = config.projects || {}; config.projects.default = projectName; // Check if the project exists const response = await apis.projectsApi.projectControllerGetAllProjects(); const projectExists = response.data.data.projects.some((project: any) => project.name === projectName); if (!projectExists) { console.error(chalk.red(`Project '${projectName}' does not exist.`)); return; } // Write the configuration writeNestboxConfig(config); console.log(chalk.green(`Default project set to '${projectName}'`)); } ); } catch (error: any) { if (error.message && error.message.includes('Authentication')) { console.error(chalk.red(error.message)); } else if (error.message) { console.error(chalk.red('Error setting default project:'), error.message); } else { console.error(chalk.red('Error setting default project:'), 'Unknown error'); } } }); }