@nestbox-ai/cli 1.0.23 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/commands/agent/apiUtils.d.ts +10 -0
  2. package/dist/commands/agent/apiUtils.js +20 -0
  3. package/dist/commands/agent/apiUtils.js.map +1 -0
  4. package/dist/commands/agent/create.d.ts +29 -0
  5. package/dist/commands/agent/create.js +88 -0
  6. package/dist/commands/agent/create.js.map +1 -0
  7. package/dist/commands/agent/createFromYaml.d.ts +2 -0
  8. package/dist/commands/agent/createFromYaml.js +172 -0
  9. package/dist/commands/agent/createFromYaml.js.map +1 -0
  10. package/dist/commands/agent/deploy.d.ts +2 -0
  11. package/dist/commands/agent/deploy.js +243 -0
  12. package/dist/commands/agent/deploy.js.map +1 -0
  13. package/dist/commands/agent/generate.d.ts +2 -0
  14. package/dist/commands/agent/generate.js +141 -0
  15. package/dist/commands/agent/generate.js.map +1 -0
  16. package/dist/commands/agent/index.d.ts +7 -0
  17. package/dist/commands/agent/index.js +21 -0
  18. package/dist/commands/agent/index.js.map +1 -0
  19. package/dist/commands/agent/list.d.ts +2 -0
  20. package/dist/commands/agent/list.js +94 -0
  21. package/dist/commands/agent/list.js.map +1 -0
  22. package/dist/commands/agent/remove.d.ts +2 -0
  23. package/dist/commands/agent/remove.js +85 -0
  24. package/dist/commands/agent/remove.js.map +1 -0
  25. package/dist/commands/agent.d.ts +4 -0
  26. package/dist/commands/agent.js +16 -731
  27. package/dist/commands/agent.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/commands/agent/apiUtils.ts +24 -0
  30. package/src/commands/agent/create.ts +105 -0
  31. package/src/commands/agent/createFromYaml.ts +192 -0
  32. package/src/commands/agent/deploy.ts +272 -0
  33. package/src/commands/agent/generate.ts +151 -0
  34. package/src/commands/agent/index.ts +12 -0
  35. package/src/commands/agent/list.ts +104 -0
  36. package/src/commands/agent/remove.ts +103 -0
  37. package/src/commands/agent.ts +15 -909
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.registerGenerateCommand = registerGenerateCommand;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const ora_1 = __importDefault(require("ora"));
18
+ const fs_1 = __importDefault(require("fs"));
19
+ const agent_1 = require("../../utils/agent");
20
+ const inquirer_1 = __importDefault(require("inquirer"));
21
+ const path_1 = __importDefault(require("path"));
22
+ function registerGenerateCommand(agentCommand) {
23
+ agentCommand
24
+ .command("generate <folder>")
25
+ .description("Generate a new project from templates")
26
+ .option("--lang <language>", "Project language (ts|js)")
27
+ .option("--template <type>", "Template type (agent|chatbot)")
28
+ .option("--project <projectId>", "Project ID")
29
+ .action((folder, options) => __awaiter(this, void 0, void 0, function* () {
30
+ try {
31
+ const spinner = (0, ora_1.default)("Initializing project generation...").start();
32
+ // Ensure target folder doesn't exist
33
+ if (fs_1.default.existsSync(folder)) {
34
+ spinner.fail(`Folder ${folder} already exists`);
35
+ return;
36
+ }
37
+ let selectedLang = options.lang;
38
+ let selectedTemplate = options.template;
39
+ // Interactive selection if not provided
40
+ if (!selectedLang || !selectedTemplate) {
41
+ spinner.stop();
42
+ const answers = yield inquirer_1.default.prompt([
43
+ {
44
+ type: 'list',
45
+ name: 'lang',
46
+ message: 'Select project language:',
47
+ choices: [
48
+ { name: 'TypeScript', value: 'ts' },
49
+ { name: 'JavaScript', value: 'js' }
50
+ ],
51
+ when: () => !selectedLang
52
+ },
53
+ {
54
+ type: 'list',
55
+ name: 'template',
56
+ message: 'Select template type:',
57
+ choices: [
58
+ { name: 'Agent', value: 'agent' },
59
+ { name: 'Chatbot', value: 'chatbot' }
60
+ ],
61
+ when: () => !selectedTemplate
62
+ }
63
+ ]);
64
+ selectedLang = selectedLang || answers.lang;
65
+ selectedTemplate = selectedTemplate || answers.template;
66
+ spinner.start("Generating project...");
67
+ }
68
+ // Find matching template in local templates folder
69
+ const templateMapping = {
70
+ 'agent': 'base',
71
+ 'chatbot': 'chatbot'
72
+ };
73
+ const mappedTemplateType = templateMapping[selectedTemplate] || selectedTemplate;
74
+ const templateKey = `template-${mappedTemplateType}-${selectedLang}.zip`;
75
+ // Try process.cwd() first, then __dirname fallback
76
+ let templatePath = path_1.default.resolve(process.cwd(), 'templates', templateKey);
77
+ if (!fs_1.default.existsSync(templatePath)) {
78
+ // fallback to __dirname
79
+ templatePath = path_1.default.resolve(__dirname, '../../../templates', templateKey);
80
+ }
81
+ if (!fs_1.default.existsSync(templatePath)) {
82
+ spinner.fail(`Template not found: ${templatePath}`);
83
+ // Show available templates in both locations
84
+ const cwdTemplates = path_1.default.resolve(process.cwd(), 'templates');
85
+ const dirTemplates = path_1.default.resolve(__dirname, '../../../templates');
86
+ let shown = false;
87
+ if (fs_1.default.existsSync(cwdTemplates)) {
88
+ console.log(chalk_1.default.yellow('Available templates in ./templates:'));
89
+ fs_1.default.readdirSync(cwdTemplates).forEach(file => {
90
+ console.log(chalk_1.default.yellow(` - ${file}`));
91
+ });
92
+ shown = true;
93
+ }
94
+ if (fs_1.default.existsSync(dirTemplates)) {
95
+ console.log(chalk_1.default.yellow('Available templates in templates:'));
96
+ fs_1.default.readdirSync(dirTemplates).forEach(file => {
97
+ console.log(chalk_1.default.yellow(` - ${file}`));
98
+ });
99
+ shown = true;
100
+ }
101
+ if (!shown) {
102
+ console.log(chalk_1.default.red('No templates directory found. Please add your templates.'));
103
+ }
104
+ return;
105
+ }
106
+ spinner.text = `Extracting template to ${folder}...`;
107
+ try {
108
+ // Extract template to target folder
109
+ (0, agent_1.extractZip)(templatePath, folder);
110
+ // Create nestbox.config.json for TypeScript projects
111
+ (0, agent_1.createNestboxConfig)(folder, selectedLang === 'ts');
112
+ // Update package.json with project name if it exists
113
+ const packageJsonPath = path_1.default.join(folder, 'package.json');
114
+ if (fs_1.default.existsSync(packageJsonPath)) {
115
+ const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
116
+ packageJson.name = path_1.default.basename(folder);
117
+ fs_1.default.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
118
+ }
119
+ spinner.succeed(`Successfully generated ${mappedTemplateType} project in ${folder}`);
120
+ console.log(chalk_1.default.green("\nNext steps:"));
121
+ console.log(chalk_1.default.yellow(` cd ${folder}`));
122
+ console.log(chalk_1.default.yellow(" npm install"));
123
+ if (selectedLang === 'ts') {
124
+ console.log(chalk_1.default.yellow(" npm run build"));
125
+ }
126
+ console.log(chalk_1.default.yellow(" nestbox agent deploy --agent <agent-name> --instance <instance-name>"));
127
+ }
128
+ catch (error) {
129
+ // Clean up on error
130
+ if (fs_1.default.existsSync(folder)) {
131
+ fs_1.default.rmSync(folder, { recursive: true, force: true });
132
+ }
133
+ throw error;
134
+ }
135
+ }
136
+ catch (error) {
137
+ console.error(chalk_1.default.red("Error:"), error.message || "Failed to generate project");
138
+ }
139
+ }));
140
+ }
141
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/agent/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { createAgent, type CreateAgentOptions } from "./create";
2
+ export { registerListCommand } from "./list";
3
+ export { registerRemoveCommand } from "./remove";
4
+ export { registerDeployCommand } from "./deploy";
5
+ export { registerGenerateCommand } from "./generate";
6
+ export { registerCreateFromYamlCommand } from "./createFromYaml";
7
+ export { createApis, type ApiInstances } from "./apiUtils";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createApis = exports.registerCreateFromYamlCommand = exports.registerGenerateCommand = exports.registerDeployCommand = exports.registerRemoveCommand = exports.registerListCommand = exports.createAgent = void 0;
4
+ // Main agent command exports
5
+ var create_1 = require("./create");
6
+ Object.defineProperty(exports, "createAgent", { enumerable: true, get: function () { return create_1.createAgent; } });
7
+ // Individual command exports for direct usage if needed
8
+ var list_1 = require("./list");
9
+ Object.defineProperty(exports, "registerListCommand", { enumerable: true, get: function () { return list_1.registerListCommand; } });
10
+ var remove_1 = require("./remove");
11
+ Object.defineProperty(exports, "registerRemoveCommand", { enumerable: true, get: function () { return remove_1.registerRemoveCommand; } });
12
+ var deploy_1 = require("./deploy");
13
+ Object.defineProperty(exports, "registerDeployCommand", { enumerable: true, get: function () { return deploy_1.registerDeployCommand; } });
14
+ var generate_1 = require("./generate");
15
+ Object.defineProperty(exports, "registerGenerateCommand", { enumerable: true, get: function () { return generate_1.registerGenerateCommand; } });
16
+ var createFromYaml_1 = require("./createFromYaml");
17
+ Object.defineProperty(exports, "registerCreateFromYamlCommand", { enumerable: true, get: function () { return createFromYaml_1.registerCreateFromYamlCommand; } });
18
+ // API utilities
19
+ var apiUtils_1 = require("./apiUtils");
20
+ Object.defineProperty(exports, "createApis", { enumerable: true, get: function () { return apiUtils_1.createApis; } });
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,mCAAgE;AAAvD,qGAAA,WAAW,OAAA;AAEpB,wDAAwD;AACxD,+BAA6C;AAApC,2GAAA,mBAAmB,OAAA;AAC5B,mCAAiD;AAAxC,+GAAA,qBAAqB,OAAA;AAC9B,mCAAiD;AAAxC,+GAAA,qBAAqB,OAAA;AAC9B,uCAAqD;AAA5C,mHAAA,uBAAuB,OAAA;AAChC,mDAAiE;AAAxD,+HAAA,6BAA6B,OAAA;AAEtC,gBAAgB;AAChB,uCAA2D;AAAlD,sGAAA,UAAU,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerListCommand(agentCommand: Command): void;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.registerListCommand = registerListCommand;
16
+ const error_1 = require("../../utils/error");
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ const ora_1 = __importDefault(require("ora"));
19
+ const cli_table3_1 = __importDefault(require("cli-table3"));
20
+ const project_1 = require("../../utils/project");
21
+ const agentType_1 = require("../../types/agentType");
22
+ const apiUtils_1 = require("./apiUtils");
23
+ function registerListCommand(agentCommand) {
24
+ agentCommand
25
+ .command("list")
26
+ .description("List all AI agents associated with the authenticated user")
27
+ .option("--project <projectName>", "Project name (defaults to the current project)")
28
+ .action((options) => __awaiter(this, void 0, void 0, function* () {
29
+ var _a, _b;
30
+ try {
31
+ let apis = (0, apiUtils_1.createApis)();
32
+ // Execute with token refresh support
33
+ yield (0, error_1.withTokenRefresh)(() => __awaiter(this, void 0, void 0, function* () {
34
+ var _a;
35
+ // Resolve project
36
+ const projectData = yield (0, project_1.resolveProject)(apis.projectsApi, options);
37
+ const spinner = (0, ora_1.default)(`Listing agents in project ${projectData.name}...`).start();
38
+ try {
39
+ // Get the agents for the specific project
40
+ const agentsResponse = yield apis.agentsApi.machineAgentControllerGetMachineAgentByProjectId(projectData.id, 0, 10, agentType_1.AgentType.REGULAR);
41
+ spinner.succeed("Successfully retrieved agents");
42
+ // Display the results
43
+ const agents = ((_a = agentsResponse.data) === null || _a === void 0 ? void 0 : _a.machineAgents) || [];
44
+ if (!agents || agents.length === 0) {
45
+ console.log(chalk_1.default.yellow(`No agents found in project ${projectData.name}`));
46
+ return;
47
+ }
48
+ console.log(chalk_1.default.blue(`\nAgents in project ${projectData.name}:\n`));
49
+ // Create a formatted table
50
+ const table = new cli_table3_1.default({
51
+ head: [
52
+ chalk_1.default.white.bold("ID"),
53
+ chalk_1.default.white.bold("Name"),
54
+ chalk_1.default.white.bold("URL"),
55
+ ],
56
+ style: {
57
+ head: [],
58
+ border: [],
59
+ },
60
+ });
61
+ // Add agents to the table
62
+ agents.forEach((agent) => {
63
+ let url = "N/A";
64
+ if (agent.instanceIP) {
65
+ url = `${agent.instanceIP}/v1/agents/${agent.modelBaseId}/query`;
66
+ }
67
+ table.push([agent.id || "N/A", agent.agentName || "N/A", url]);
68
+ });
69
+ console.log(table.toString());
70
+ console.log(`\nTotal agents: ${agents.length}`);
71
+ }
72
+ catch (error) {
73
+ spinner.fail("Failed to retrieve agents");
74
+ throw error;
75
+ }
76
+ }), () => {
77
+ // Recreate APIs after token refresh
78
+ apis = (0, apiUtils_1.createApis)();
79
+ });
80
+ }
81
+ catch (error) {
82
+ if (error.message && error.message.includes('Authentication')) {
83
+ console.error(chalk_1.default.red(error.message));
84
+ }
85
+ else if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) {
86
+ console.error(chalk_1.default.red("API Error:"), error.response.data.message);
87
+ }
88
+ else {
89
+ console.error(chalk_1.default.red("Error:"), error.message || "Unknown error");
90
+ }
91
+ }
92
+ }));
93
+ }
94
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/agent/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRemoveCommand(agentCommand: Command): void;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.registerRemoveCommand = registerRemoveCommand;
16
+ const error_1 = require("../../utils/error");
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ const ora_1 = __importDefault(require("ora"));
19
+ const project_1 = require("../../utils/project");
20
+ const agentType_1 = require("../../types/agentType");
21
+ const apiUtils_1 = require("./apiUtils");
22
+ function registerRemoveCommand(agentCommand) {
23
+ agentCommand
24
+ .command("remove")
25
+ .description("Remove an AI agent")
26
+ .requiredOption("--agent <agentId>", "Agent ID to remove")
27
+ .option("--project <projectName>", "Project name (defaults to the current project)")
28
+ .action((options) => __awaiter(this, void 0, void 0, function* () {
29
+ var _a, _b;
30
+ try {
31
+ let apis = (0, apiUtils_1.createApis)();
32
+ const { agent } = options;
33
+ yield (0, error_1.withTokenRefresh)(() => __awaiter(this, void 0, void 0, function* () {
34
+ var _a;
35
+ // Resolve project
36
+ const projectData = yield (0, project_1.resolveProject)(apis.projectsApi, options);
37
+ const spinner = (0, ora_1.default)(`Finding agent ${agent} in project ${projectData.name}...`).start();
38
+ try {
39
+ // Get the list of agents to find the correct modelbaseId
40
+ const agentsResponse = yield apis.agentsApi.machineAgentControllerGetMachineAgentByProjectId(projectData.id, 0, 100, agentType_1.AgentType.REGULAR);
41
+ const agents = ((_a = agentsResponse.data) === null || _a === void 0 ? void 0 : _a.machineAgents) || [];
42
+ const targetAgent = agents.find((a) => a.id.toString() === agent.toString());
43
+ if (!targetAgent) {
44
+ spinner.fail(`Agent with ID ${agent} not found in project ${projectData.name}`);
45
+ return;
46
+ }
47
+ const modelbaseId = targetAgent.modelBaseId;
48
+ if (!modelbaseId) {
49
+ spinner.fail(`Could not find modelbaseId for agent ${agent}. Please try again.`);
50
+ return;
51
+ }
52
+ spinner.text = `Removing agent ${agent} from project ${projectData.name}...`;
53
+ // Remove the agent
54
+ const payload = [
55
+ {
56
+ id: parseInt(agent, 10),
57
+ modelbaseId: modelbaseId,
58
+ },
59
+ ];
60
+ yield apis.agentsApi.machineAgentControllerDeleteMachineAgents(projectData.id, agent, payload);
61
+ spinner.succeed("Successfully removed agent");
62
+ console.log(chalk_1.default.green(`Agent ${agent} removed successfully from project ${projectData.name}`));
63
+ }
64
+ catch (error) {
65
+ spinner.fail("Failed to remove agent");
66
+ throw error;
67
+ }
68
+ }), () => {
69
+ apis = (0, apiUtils_1.createApis)();
70
+ });
71
+ }
72
+ catch (error) {
73
+ if (error.message && error.message.includes('Authentication')) {
74
+ console.error(chalk_1.default.red(error.message));
75
+ }
76
+ else if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) {
77
+ console.error(chalk_1.default.red("API Error:"), error.response.data.message);
78
+ }
79
+ else {
80
+ console.error(chalk_1.default.red("Error:"), error.message || "Unknown error");
81
+ }
82
+ }
83
+ }));
84
+ }
85
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/agent/remove.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  import { Command } from "commander";
2
+ /**
3
+ * Register all agent-related commands
4
+ */
2
5
  export declare function registerAgentCommands(program: Command): void;
6
+ export { createAgent, type CreateAgentOptions } from "./agent/create";