ai-persona-hub
Version:
AI Profile CLI - Create custom AI profiles run against dynamic LLM providers
80 lines ⢠2.85 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommand = createCommand;
const inquirer_1 = __importDefault(require("inquirer"));
const chalk_1 = __importDefault(require("chalk"));
const profile_manager_1 = require("../services/profile-manager");
async function createCommand() {
console.log(chalk_1.default.blue('š® Creating a new AI profile...\n'));
// Get profile name
const name = await inquirer_1.default.prompt([
{
type: 'input',
name: 'value',
message: 'Profile name:',
validate: (input) => {
if (!input.trim()) {
return 'Profile name is required';
}
if (input.length > 50) {
return 'Profile name must be 50 characters or less';
}
return true;
},
},
]);
// Get system prompt
const systemPrompt = await inquirer_1.default.prompt([
{
type: 'input',
name: 'value',
message: 'System prompt:',
validate: (input) => {
if (!input.trim()) {
return 'System prompt is required';
}
return true;
},
},
]);
// Get max tokens
const maxTokens = await inquirer_1.default.prompt([
{
type: 'number',
name: 'value',
message: 'Max tokens (optional):',
default: 1000,
validate: (input) => {
if (input && (input < 1 || input > 8192)) {
return 'Max tokens must be between 1 and 8192';
}
return true;
},
},
]);
const answers = {
name: name.value,
systemPrompt: systemPrompt.value,
maxTokens: maxTokens.value,
};
try {
const profileManager = new profile_manager_1.ProfileManager();
const profile = await profileManager.createProfile({
name: answers.name,
systemPrompt: answers.systemPrompt,
maxTokens: answers.maxTokens,
});
console.log(chalk_1.default.green('\nā
Profile created successfully!'));
console.log(chalk_1.default.gray(`Profile ID: ${profile.id}`));
console.log(chalk_1.default.gray(`Use: ${chalk_1.default.white(`cgem chat ${profile.name}`)}`));
}
catch (error) {
console.error(chalk_1.default.red('\nā Error creating profile:'));
console.error(chalk_1.default.red(error instanceof Error ? error.message : 'Unknown error'));
process.exit(1);
}
}
//# sourceMappingURL=create.js.map