@nestbox-ai/cli 1.0.6 → 1.0.8

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.
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.findProjectRoot = findProjectRoot;
49
+ exports.loadNestboxConfig = loadNestboxConfig;
50
+ exports.isTypeScriptProject = isTypeScriptProject;
51
+ exports.runPredeployScripts = runPredeployScripts;
52
+ exports.createZipFromDirectory = createZipFromDirectory;
53
+ const path_1 = __importDefault(require("path"));
54
+ const fs_1 = __importDefault(require("fs"));
55
+ const chalk_1 = __importDefault(require("chalk"));
56
+ const ora_1 = __importDefault(require("ora"));
57
+ const util_1 = require("util");
58
+ const child_process_1 = require("child_process");
59
+ const adm_zip_1 = __importDefault(require("adm-zip"));
60
+ const os = __importStar(require("os"));
61
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
62
+ function findProjectRoot() {
63
+ return __awaiter(this, arguments, void 0, function* (startDir = process.cwd()) {
64
+ let currentDir = startDir;
65
+ while (currentDir !== path_1.default.parse(currentDir).root) {
66
+ const nestboxConfigPath = path_1.default.join(currentDir, 'nestbox.config.json');
67
+ const packageJsonPath = path_1.default.join(currentDir, 'package.json');
68
+ if (fs_1.default.existsSync(nestboxConfigPath) || fs_1.default.existsSync(packageJsonPath)) {
69
+ return currentDir;
70
+ }
71
+ currentDir = path_1.default.dirname(currentDir);
72
+ }
73
+ return startDir; // Fallback to current directory if no root markers found
74
+ });
75
+ }
76
+ // Function to load and parse nestbox.config.json if it exists
77
+ function loadNestboxConfig(projectRoot) {
78
+ const configPath = path_1.default.join(projectRoot, 'nestbox.config.json');
79
+ if (fs_1.default.existsSync(configPath)) {
80
+ try {
81
+ const configContent = fs_1.default.readFileSync(configPath, 'utf8');
82
+ return JSON.parse(configContent);
83
+ }
84
+ catch (error) {
85
+ console.warn(chalk_1.default.yellow(`Warning: Error parsing nestbox.config.json: ${error.message}`));
86
+ }
87
+ }
88
+ return null;
89
+ }
90
+ // Function to detect if a directory contains TypeScript files
91
+ function isTypeScriptProject(directoryPath) {
92
+ // Check for tsconfig.json
93
+ if (fs_1.default.existsSync(path_1.default.join(directoryPath, 'tsconfig.json'))) {
94
+ return true;
95
+ }
96
+ // Check for .ts files
97
+ try {
98
+ const files = fs_1.default.readdirSync(directoryPath);
99
+ return files.some(file => file.endsWith('.ts') || file.endsWith('.tsx'));
100
+ }
101
+ catch (error) {
102
+ return false;
103
+ }
104
+ }
105
+ function runPredeployScripts(scripts, projectRoot) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ if (!scripts || !Array.isArray(scripts) || scripts.length === 0) {
108
+ return;
109
+ }
110
+ const spinner = (0, ora_1.default)('Running predeploy scripts...').start();
111
+ try {
112
+ for (const script of scripts) {
113
+ spinner.text = `Running: ${script}`;
114
+ // Make sure we're running in the correct directory
115
+ yield execAsync(script, {
116
+ cwd: projectRoot,
117
+ });
118
+ }
119
+ spinner.succeed('Predeploy scripts completed successfully');
120
+ }
121
+ catch (error) {
122
+ spinner.fail(`Predeploy script failed: ${error.message}`);
123
+ throw new Error(`Predeploy failed: ${error.message}`);
124
+ }
125
+ });
126
+ }
127
+ // Function to create zip from directory excluding node_modules
128
+ // export function createZipFromDirectory(dirPath: any, excludePatterns = ['node_modules']) {
129
+ // const dirName = path.basename(dirPath);
130
+ // const zipFilePath = path.join(os.tmpdir(), `${dirName}_${Date.now()}.zip`);
131
+ // const zip = new AdmZip();
132
+ // // Function to recursively add files to zip
133
+ // function addFilesToZip(currentPath: any, relativePath = '') {
134
+ // const items = fs.readdirSync(currentPath);
135
+ // for (const item of items) {
136
+ // const itemPath = path.join(currentPath, item);
137
+ // const itemRelativePath = path.join(relativePath, item);
138
+ // // Check if item should be excluded
139
+ // if (excludePatterns.some(pattern =>
140
+ // typeof pattern === 'string' ? itemRelativePath === pattern || item === pattern :
141
+ // pattern.test(itemRelativePath)
142
+ // )) {
143
+ // continue;
144
+ // }
145
+ // const stats = fs.statSync(itemPath);
146
+ // if (stats.isDirectory()) {
147
+ // addFilesToZip(itemPath, itemRelativePath);
148
+ // } else {
149
+ // zip.addLocalFile(itemPath, path.dirname(itemRelativePath));
150
+ // }
151
+ // }
152
+ // }
153
+ // addFilesToZip(dirPath);
154
+ // zip.writeZip(zipFilePath);
155
+ // return zipFilePath;
156
+ // }
157
+ function createZipFromDirectory(dirPath, excludePatterns = ['node_modules', 'pnpm-lock.yaml', 'package-lock.json', 'yarn.lock']) {
158
+ const dirName = path_1.default.basename(dirPath);
159
+ const timestamp = Date.now();
160
+ // Create zip in temp directory
161
+ const tempZipFilePath = path_1.default.join(os.tmpdir(), `${dirName}_${timestamp}.zip`);
162
+ // Create zip in Downloads folder (Mac)
163
+ const downloadsPath = path_1.default.join(os.homedir(), 'Downloads');
164
+ const downloadsZipFilePath = path_1.default.join(downloadsPath, `${dirName}_${timestamp}.zip`);
165
+ const zip = new adm_zip_1.default();
166
+ // Function to recursively add files to zip
167
+ function addFilesToZip(currentPath, relativePath = '') {
168
+ const items = fs_1.default.readdirSync(currentPath);
169
+ for (const item of items) {
170
+ const itemPath = path_1.default.join(currentPath, item);
171
+ const itemRelativePath = path_1.default.join(relativePath, item);
172
+ // Check if item should be excluded
173
+ if (excludePatterns.some((pattern) => typeof pattern === 'string' ? itemRelativePath === pattern || item === pattern :
174
+ pattern.test(itemRelativePath))) {
175
+ continue;
176
+ }
177
+ const stats = fs_1.default.statSync(itemPath);
178
+ if (stats.isDirectory()) {
179
+ addFilesToZip(itemPath, itemRelativePath);
180
+ }
181
+ else {
182
+ zip.addLocalFile(itemPath, path_1.default.dirname(itemRelativePath));
183
+ }
184
+ }
185
+ }
186
+ addFilesToZip(dirPath);
187
+ // Write zip to temp directory (for upload)
188
+ zip.writeZip(tempZipFilePath);
189
+ // Return the temp path for upload
190
+ return tempZipFilePath;
191
+ }
192
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ProjectsApi } from "@nestbox-ai/admin";
2
+ interface ProjectInfo {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ interface CommandOptions {
7
+ instance: string;
8
+ project?: string;
9
+ collection?: string;
10
+ name?: string;
11
+ metadata?: string;
12
+ [key: string]: any;
13
+ }
14
+ export declare function resolveProject(projectsApi: ProjectsApi, options: CommandOptions): Promise<ProjectInfo>;
15
+ export {};
@@ -0,0 +1,76 @@
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.resolveProject = resolveProject;
16
+ const ora_1 = __importDefault(require("ora"));
17
+ const projects_1 = require("../commands/projects");
18
+ function resolveProject(projectsApi, options) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ var _a, _b, _c;
21
+ const spinner = (0, ora_1.default)('Resolving project...').start();
22
+ try {
23
+ const projectsResponse = yield projectsApi.projectControllerGetAllProjects();
24
+ const allProjects = (_b = (_a = projectsResponse.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.projects;
25
+ if (!allProjects || allProjects.length === 0) {
26
+ spinner.fail('No projects found.');
27
+ throw new Error('No projects found');
28
+ }
29
+ let projectId = options.project;
30
+ let projectName = '';
31
+ if (projectId) {
32
+ const byId = allProjects.find((p) => p.id === projectId);
33
+ const byName = allProjects.find((p) => p.name === projectId);
34
+ if (byId) {
35
+ projectName = byId.name;
36
+ projectId = byId.id;
37
+ }
38
+ else if (byName) {
39
+ projectName = byName.name;
40
+ projectId = byName.id;
41
+ }
42
+ else {
43
+ spinner.fail(`Project not found with ID or name: ${projectId}`);
44
+ throw new Error(`Project not found with ID or name: ${projectId}`);
45
+ }
46
+ spinner.succeed(`Using project: ${projectName} (ID: ${projectId})`);
47
+ }
48
+ else {
49
+ const config = (0, projects_1.readNestboxConfig)();
50
+ const defaultProjectName = (_c = config.projects) === null || _c === void 0 ? void 0 : _c.default;
51
+ if (!defaultProjectName) {
52
+ spinner.fail('No project specified and no default project set. Please provide a project ID or set a default project.');
53
+ throw new Error('No project specified and no default project set');
54
+ }
55
+ const defaultProject = allProjects.find((p) => p.name === defaultProjectName);
56
+ if (!defaultProject) {
57
+ spinner.fail(`Default project "${defaultProjectName}" not found.`);
58
+ throw new Error(`Default project "${defaultProjectName}" not found.`);
59
+ }
60
+ projectId = defaultProject.id;
61
+ projectName = defaultProject.name;
62
+ spinner.succeed(`Using default project: ${projectName} (ID: ${projectId})`);
63
+ }
64
+ return { id: projectId, name: projectName };
65
+ }
66
+ catch (error) {
67
+ if (!spinner.isSpinning) {
68
+ // If spinner was already stopped with fail, we don't need to fail it again
69
+ throw error;
70
+ }
71
+ spinner.fail('Failed to resolve project');
72
+ throw error;
73
+ }
74
+ });
75
+ }
76
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function userData(): Promise<any>;
@@ -0,0 +1,40 @@
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.userData = userData;
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const auth_1 = require("./auth");
18
+ function userData() {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ try {
21
+ const authData = (0, auth_1.getAuthToken)();
22
+ if (!authData || !authData.serverUrl || !authData.token) {
23
+ throw new Error("No authentication data found. Please login first.");
24
+ }
25
+ const response = yield axios_1.default.get(`${authData.serverUrl}/user/me`, {
26
+ headers: {
27
+ Authorization: `${authData.token}`,
28
+ },
29
+ });
30
+ return response.data;
31
+ }
32
+ catch (error) {
33
+ console.error("Error fetching user data:", error.message || "Unknown error");
34
+ if (error.response) {
35
+ }
36
+ throw error; // Rethrow to allow caller to handle the error
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/utils/user.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,4BAwBC;AA3BD,kDAA0B;AAC1B,iCAAsC;AAEtC,SAAsB,QAAQ;;QAC1B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAA,mBAAY,GAAE,CAAC;YAEhC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC5B,GAAG,QAAQ,CAAC,SAAS,UAAU,EAC/B;gBACI,OAAO,EAAE;oBACL,aAAa,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE;iBACrC;aACJ,CACJ,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;YAC7E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,CAAC,CAAC,8CAA8C;QAC/D,CAAC;IACL,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ {
2
+ "agents" : {
3
+ "predeploy" : [
4
+ "rm -rf dist",
5
+ "npm run lint",
6
+ "npm run build"
7
+ ]
8
+ }
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestbox-ai/cli",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "The cli tools that helps developers to build agents",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -34,6 +34,9 @@
34
34
  },
35
35
  "homepage": "https://github.com/NestboxAI/nestbox-ai-cli-tools#readme",
36
36
  "devDependencies": {
37
+ "@types/adm-zip": "^0.5.7",
38
+ "@types/archiver": "^6.0.3",
39
+ "@types/form-data": "^2.5.2",
37
40
  "@types/inquirer": "^9.0.7",
38
41
  "@types/node": "^20.10.5",
39
42
  "eslint": "^8.56.0",
@@ -44,14 +47,20 @@
44
47
  "vitest": "^1.1.0"
45
48
  },
46
49
  "dependencies": {
47
- "@nestbox-ai/admin": "^1.0.38",
50
+ "@nestbox-ai/admin": "1.0.42",
51
+ "adm-zip": "^0.5.16",
52
+ "archiver": "^7.0.1",
48
53
  "axios": "^1.8.4",
49
54
  "chalk": "^4.1.2",
50
55
  "cli-table3": "^0.6.5",
51
56
  "commander": "^11.1.0",
57
+ "find-up": "^7.0.0",
58
+ "form-data": "^4.0.2",
52
59
  "inquirer": "^8.2.6",
60
+ "jszip": "^3.10.1",
53
61
  "open": "^8.4.2",
54
- "ora": "5.4.1"
62
+ "ora": "5.4.1",
63
+ "os": "^0.1.2"
55
64
  },
56
65
  "type": "commonjs",
57
66
  "engines": {