@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.
- package/.nestboxrc +0 -0
- package/dist/commands/agent.d.ts +2 -0
- package/dist/commands/agent.js +308 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/auth.js +23 -2
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/compute.js +350 -94
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/document.d.ts +2 -0
- package/dist/commands/document.js +340 -0
- package/dist/commands/document.js.map +1 -0
- package/dist/commands/image.d.ts +2 -0
- package/dist/commands/image.js +147 -0
- package/dist/commands/image.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/agent.d.ts +5 -0
- package/dist/utils/agent.js +192 -0
- package/dist/utils/agent.js.map +1 -0
- package/dist/utils/project.d.ts +15 -0
- package/dist/utils/project.js +76 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/utils/user.d.ts +1 -0
- package/dist/utils/user.js +40 -0
- package/dist/utils/user.js.map +1 -0
- package/nestbox.config.json +9 -0
- package/package.json +12 -3
- package/src/commands/agent.ts +355 -0
- package/src/commands/auth.ts +261 -238
- package/src/commands/compute.ts +407 -115
- package/src/commands/document.ts +472 -0
- package/src/commands/image.ts +155 -0
- package/src/index.ts +6 -0
- package/src/utils/agent.ts +170 -0
- package/src/utils/project.ts +81 -0
- package/src/utils/user.ts +28 -0
package/dist/commands/compute.js
CHANGED
|
@@ -1,132 +1,388 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
5
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
15
|
exports.registerComputeProgram = registerComputeProgram;
|
|
7
|
-
const auth_1 = require("../utils/auth");
|
|
8
|
-
const admin_1 = require("@nestbox-ai/admin");
|
|
9
|
-
const projects_1 = require("./projects");
|
|
10
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
17
|
+
const ora_1 = __importDefault(require("ora"));
|
|
11
18
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
19
|
+
const auth_1 = require("../utils/auth");
|
|
20
|
+
const admin_1 = require("@nestbox-ai/admin");
|
|
21
|
+
const project_1 = require("../utils/project");
|
|
22
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
23
|
+
const axios_1 = __importDefault(require("axios"));
|
|
24
|
+
const user_1 = require("../utils/user");
|
|
12
25
|
function registerComputeProgram(program) {
|
|
13
26
|
const authToken = (0, auth_1.getAuthToken)();
|
|
27
|
+
if (!authToken) {
|
|
28
|
+
console.error(chalk_1.default.red('No authentication token found. Please login first.'));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
14
31
|
const configuration = new admin_1.Configuration({
|
|
15
|
-
basePath: authToken
|
|
32
|
+
basePath: authToken.serverUrl,
|
|
16
33
|
baseOptions: {
|
|
17
34
|
headers: {
|
|
18
|
-
"Authorization": authToken
|
|
35
|
+
"Authorization": authToken.token,
|
|
19
36
|
}
|
|
20
37
|
}
|
|
21
38
|
});
|
|
22
39
|
const machineInstanceApi = new admin_1.MachineInstancesApi(configuration);
|
|
40
|
+
const miscellaneousApi = new admin_1.MiscellaneousApi(configuration);
|
|
23
41
|
const projectsApi = new admin_1.ProjectsApi(configuration);
|
|
24
|
-
// Create the main
|
|
25
|
-
const
|
|
42
|
+
// Create the main compute command
|
|
43
|
+
const computeCommand = program
|
|
26
44
|
.command('compute')
|
|
27
45
|
.description('Manage Nestbox computes');
|
|
28
|
-
|
|
46
|
+
// List command
|
|
47
|
+
computeCommand
|
|
29
48
|
.command('list')
|
|
30
|
-
.description('
|
|
31
|
-
.
|
|
49
|
+
.description('List all compute instances')
|
|
50
|
+
.option('--project <projectId>', 'Project ID or name (defaults to the current project)')
|
|
51
|
+
.action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
var _a, _b;
|
|
32
53
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
54
|
+
// Resolve project using the shared utility
|
|
55
|
+
const project = yield (0, project_1.resolveProject)(projectsApi, options);
|
|
56
|
+
const spinner = (0, ora_1.default)(`Fetching compute instances for project: ${project.name}`).start();
|
|
57
|
+
try {
|
|
58
|
+
// Fetch machine instances for the project
|
|
59
|
+
const instancesResponse = yield machineInstanceApi.machineInstancesControllerGetMachineInstanceByUserId(project.id, 0, // page
|
|
60
|
+
10 // limit
|
|
61
|
+
);
|
|
62
|
+
spinner.succeed('Successfully retrieved compute instances');
|
|
63
|
+
const instances = ((_a = instancesResponse.data) === null || _a === void 0 ? void 0 : _a.machineInstances) || [];
|
|
64
|
+
if (instances.length === 0) {
|
|
65
|
+
console.log(chalk_1.default.yellow('No compute instances found for this project.'));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// Create table for display
|
|
69
|
+
const table = new cli_table3_1.default({
|
|
70
|
+
head: [
|
|
71
|
+
chalk_1.default.white.bold('ID'),
|
|
72
|
+
chalk_1.default.white.bold('Name'),
|
|
73
|
+
chalk_1.default.white.bold('Status'),
|
|
74
|
+
chalk_1.default.white.bold('API Key')
|
|
75
|
+
],
|
|
76
|
+
style: {
|
|
77
|
+
head: [], // Disable the default styling
|
|
78
|
+
border: []
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
// Status mappings
|
|
82
|
+
const statusMappings = {
|
|
83
|
+
'Job Scheduled': 'Scheduled',
|
|
84
|
+
'Job Executed': 'Ready',
|
|
85
|
+
'Job in Progress': 'Initializing',
|
|
86
|
+
'Job Failed': 'Failed',
|
|
87
|
+
'Deleting': 'Deleting',
|
|
88
|
+
};
|
|
89
|
+
// Add rows to the table
|
|
90
|
+
instances.forEach((instance) => {
|
|
91
|
+
// Map the status if a mapping exists
|
|
92
|
+
const originalStatus = instance.runningStatus || 'unknown';
|
|
93
|
+
const displayStatus = statusMappings[originalStatus] || originalStatus;
|
|
94
|
+
// Color the status based on its mapped value
|
|
95
|
+
let statusColor;
|
|
96
|
+
switch (displayStatus.toLowerCase()) {
|
|
97
|
+
case 'ready':
|
|
98
|
+
statusColor = chalk_1.default.green(displayStatus);
|
|
99
|
+
break;
|
|
100
|
+
case 'failed':
|
|
101
|
+
statusColor = chalk_1.default.red(displayStatus);
|
|
102
|
+
break;
|
|
103
|
+
case 'initializing':
|
|
104
|
+
statusColor = chalk_1.default.yellow(displayStatus);
|
|
105
|
+
break;
|
|
106
|
+
case 'scheduled':
|
|
107
|
+
statusColor = chalk_1.default.blue(displayStatus);
|
|
108
|
+
break;
|
|
109
|
+
case 'deleting':
|
|
110
|
+
statusColor = chalk_1.default.red(displayStatus);
|
|
111
|
+
break;
|
|
112
|
+
default:
|
|
113
|
+
statusColor = chalk_1.default.gray(displayStatus);
|
|
114
|
+
}
|
|
115
|
+
table.push([
|
|
116
|
+
instance.id || 'N/A',
|
|
117
|
+
instance.instanceName || 'N/A',
|
|
118
|
+
statusColor,
|
|
119
|
+
instance.instanceApiKey || 'N/A'
|
|
120
|
+
]);
|
|
121
|
+
});
|
|
122
|
+
// Display the table
|
|
123
|
+
console.log(table.toString());
|
|
36
124
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
125
|
+
catch (error) {
|
|
126
|
+
spinner.fail('Failed to retrieve compute instances');
|
|
127
|
+
if (error.response) {
|
|
128
|
+
console.error(chalk_1.default.red('API Error:'), ((_b = error.response.data) === null || _b === void 0 ? void 0 : _b.message) || 'Unknown error');
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
132
|
+
}
|
|
45
133
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
137
|
+
}
|
|
138
|
+
}));
|
|
139
|
+
computeCommand
|
|
140
|
+
.command('create')
|
|
141
|
+
.description('Create a new compute instance')
|
|
142
|
+
.requiredOption('--image <imageId>', 'Image ID to use for the compute instance')
|
|
143
|
+
.option('--project <projectId>', 'Project ID or name (defaults to the current project)')
|
|
144
|
+
.action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
var _a, _b, _c;
|
|
146
|
+
try {
|
|
147
|
+
// Resolve project using the shared utility
|
|
148
|
+
const project = yield (0, project_1.resolveProject)(projectsApi, options);
|
|
149
|
+
const spinner = (0, ora_1.default)(`Fetching available images...`).start();
|
|
150
|
+
try {
|
|
151
|
+
// Get available images data
|
|
152
|
+
const response = yield miscellaneousApi.miscellaneousControllerGetData();
|
|
153
|
+
const availableImages = response.data || [];
|
|
154
|
+
// Find the selected image
|
|
155
|
+
const selectedImage = availableImages.find((image) => image.id === options.image);
|
|
156
|
+
if (!selectedImage) {
|
|
157
|
+
spinner.fail(`Image ID '${options.image}' does not exist.`);
|
|
158
|
+
console.log(chalk_1.default.yellow('Available image IDs:'));
|
|
159
|
+
availableImages.forEach((img) => {
|
|
160
|
+
console.log(` ${chalk_1.default.cyan(img.id)} - ${img.name} (${img.type})`);
|
|
161
|
+
});
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
spinner.succeed(`Found image: ${selectedImage.name}`);
|
|
165
|
+
// Ask for instance name first
|
|
166
|
+
const instanceNameAnswer = yield inquirer_1.default.prompt([
|
|
167
|
+
{
|
|
168
|
+
type: 'input',
|
|
169
|
+
name: 'instanceName',
|
|
170
|
+
message: 'Enter a name for this compute instance:',
|
|
171
|
+
validate: (input) => {
|
|
172
|
+
if (!input || input.trim() === '') {
|
|
173
|
+
return 'Instance name cannot be empty';
|
|
174
|
+
}
|
|
175
|
+
// Add more validation here if needed (e.g., checking for valid characters)
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
]);
|
|
180
|
+
const instanceName = instanceNameAnswer.instanceName;
|
|
181
|
+
// Directly create the provisioningParams object with the structure needed for API
|
|
182
|
+
let provisioningParams = {};
|
|
183
|
+
if (selectedImage.provisioningParameters &&
|
|
184
|
+
selectedImage.provisioningParameters.properties) {
|
|
185
|
+
const requiredParams = selectedImage.provisioningParameters.required || [];
|
|
186
|
+
const paramProperties = selectedImage.provisioningParameters.properties;
|
|
187
|
+
// Build questions for inquirer
|
|
188
|
+
const questions = [];
|
|
189
|
+
for (const [paramName, paramConfig] of Object.entries(paramProperties)) {
|
|
190
|
+
const isRequired = requiredParams.includes(paramName);
|
|
191
|
+
const paramUI = ((_a = selectedImage.provisioningParametersUI) === null || _a === void 0 ? void 0 : _a[paramName]) || {};
|
|
192
|
+
let question = {
|
|
193
|
+
name: paramName,
|
|
194
|
+
message: paramUI['ui:title'] || `Enter ${paramName}:`,
|
|
195
|
+
when: isRequired // Only ask required params by default
|
|
196
|
+
};
|
|
197
|
+
// Handle different parameter types
|
|
198
|
+
if (paramConfig.type === 'string') {
|
|
199
|
+
if (paramConfig.enum) {
|
|
200
|
+
question.type = 'list';
|
|
201
|
+
question.choices = paramConfig.enum;
|
|
202
|
+
}
|
|
203
|
+
else if (paramUI['ui:widget'] === 'password') {
|
|
204
|
+
question.type = 'password';
|
|
108
205
|
}
|
|
109
206
|
else {
|
|
110
|
-
|
|
207
|
+
question.type = 'input';
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else if (paramConfig.type === 'array') {
|
|
211
|
+
if (paramConfig.items && paramConfig.items.enum) {
|
|
212
|
+
question.type = 'checkbox';
|
|
213
|
+
question.choices = paramConfig.items.enum;
|
|
214
|
+
// Ensure at least one option is selected for required array parameters
|
|
215
|
+
question.validate = (input) => {
|
|
216
|
+
if (isRequired && (!input || input.length === 0)) {
|
|
217
|
+
return 'Please select at least one option';
|
|
218
|
+
}
|
|
219
|
+
return true;
|
|
220
|
+
};
|
|
111
221
|
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
222
|
+
}
|
|
223
|
+
if (paramUI['ui:help']) {
|
|
224
|
+
question.message += ` (${paramUI['ui:help']})`;
|
|
225
|
+
}
|
|
226
|
+
questions.push(question);
|
|
227
|
+
}
|
|
228
|
+
if (questions.length > 0) {
|
|
229
|
+
console.log(chalk_1.default.blue(`\nPlease provide the required parameters for ${selectedImage.name}:`));
|
|
230
|
+
const answers = yield inquirer_1.default.prompt(questions);
|
|
231
|
+
// Assign the answers directly to provisioningParams
|
|
232
|
+
for (const [key, value] of Object.entries(answers)) {
|
|
233
|
+
provisioningParams[key] = value;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// Now we have all the required params in provisioningParams
|
|
238
|
+
console.log(chalk_1.default.green(`\nCreating compute instance '${instanceName}' with image '${selectedImage.name}'`));
|
|
239
|
+
console.log(chalk_1.default.dim('Using the following parameters:'));
|
|
240
|
+
for (const [key, value] of Object.entries(provisioningParams)) {
|
|
241
|
+
console.log(chalk_1.default.dim(` ${key}: ${Array.isArray(value) ? value.join(', ') : value}`));
|
|
242
|
+
}
|
|
243
|
+
// Start a spinner for the creation process
|
|
244
|
+
const creationSpinner = (0, ora_1.default)('Creating compute instance...').start();
|
|
245
|
+
const getUserData = yield (0, user_1.userData)();
|
|
246
|
+
try {
|
|
247
|
+
const createParams = Object.assign({ userId: getUserData.id, machineId: selectedImage.id, machineTitle: selectedImage.name, instanceName: instanceName }, provisioningParams);
|
|
248
|
+
const createResponse = yield axios_1.default.post(`${authToken.serverUrl}/projects/${project.id}/instances`, createParams, {
|
|
249
|
+
headers: {
|
|
250
|
+
Authorization: authToken.token,
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
creationSpinner.succeed('Compute instance created successfully!');
|
|
254
|
+
console.log(chalk_1.default.green(`\nInstance '${instanceName}' is now being provisioned`));
|
|
255
|
+
console.log(chalk_1.default.gray('You can check the status with: nestbox compute list'));
|
|
256
|
+
console.log(chalk_1.default.green("Instance created successfully!"));
|
|
257
|
+
}
|
|
258
|
+
catch (createError) {
|
|
259
|
+
creationSpinner.fail('Failed to create compute instance');
|
|
260
|
+
if (createError.response) {
|
|
261
|
+
console.error(chalk_1.default.red('API Error:'), ((_b = createError.response.data) === null || _b === void 0 ? void 0 : _b.message) || 'Unknown error');
|
|
115
262
|
}
|
|
116
263
|
else {
|
|
117
|
-
console.
|
|
264
|
+
console.error(chalk_1.default.red('Error:'), createError.message || 'Unknown error');
|
|
118
265
|
}
|
|
119
266
|
}
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
spinner.fail('Failed to fetch available images');
|
|
270
|
+
if (error.response) {
|
|
271
|
+
console.error(chalk_1.default.red('API Error:'), ((_c = error.response.data) === null || _c === void 0 ? void 0 : _c.message) || 'Unknown error');
|
|
272
|
+
}
|
|
120
273
|
else {
|
|
121
|
-
console.
|
|
274
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
122
275
|
}
|
|
123
|
-
}
|
|
124
|
-
console.error(chalk_1.default.red('Error fetching projects:'), error instanceof Error ? error.message : 'Unknown error');
|
|
125
|
-
});
|
|
276
|
+
}
|
|
126
277
|
}
|
|
127
278
|
catch (error) {
|
|
128
|
-
console.error(chalk_1.default.red('Error:'), error
|
|
279
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
129
280
|
}
|
|
130
|
-
});
|
|
281
|
+
}));
|
|
282
|
+
computeCommand
|
|
283
|
+
.command('delete')
|
|
284
|
+
.description('Delete one or more compute instances')
|
|
285
|
+
.option('--project <projectId>', 'Project ID or name (defaults to the current project)')
|
|
286
|
+
.option('--force', 'Skip confirmation prompt')
|
|
287
|
+
.action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
288
|
+
var _a, _b, _c;
|
|
289
|
+
try {
|
|
290
|
+
// Resolve project using the shared utility
|
|
291
|
+
const project = yield (0, project_1.resolveProject)(projectsApi, options);
|
|
292
|
+
const spinner = (0, ora_1.default)(`Fetching compute instances for project: ${project.name}`).start();
|
|
293
|
+
try {
|
|
294
|
+
// Fetch machine instances for the project
|
|
295
|
+
const instancesResponse = yield machineInstanceApi.machineInstancesControllerGetMachineInstanceByUserId(project.id, 0, // page
|
|
296
|
+
50 // limit - increased to show more instances
|
|
297
|
+
);
|
|
298
|
+
spinner.succeed('Successfully retrieved compute instances');
|
|
299
|
+
const instances = ((_a = instancesResponse.data) === null || _a === void 0 ? void 0 : _a.machineInstances) || [];
|
|
300
|
+
if (instances.length === 0) {
|
|
301
|
+
console.log(chalk_1.default.yellow('No compute instances found for this project.'));
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
// Create choices for the selection prompt
|
|
305
|
+
const instanceChoices = instances.map((instance) => ({
|
|
306
|
+
name: `${instance.instanceName || 'Unnamed'} (${instance.id})`,
|
|
307
|
+
value: instance.id,
|
|
308
|
+
short: instance.instanceName || instance.id
|
|
309
|
+
}));
|
|
310
|
+
// Prompt user to select instances to delete
|
|
311
|
+
const { selectedInstances } = yield inquirer_1.default.prompt([
|
|
312
|
+
{
|
|
313
|
+
type: 'checkbox',
|
|
314
|
+
name: 'selectedInstances',
|
|
315
|
+
message: 'Select compute instances to delete:',
|
|
316
|
+
choices: instanceChoices,
|
|
317
|
+
validate: (input) => {
|
|
318
|
+
if (input.length === 0) {
|
|
319
|
+
return 'Please select at least one instance to delete';
|
|
320
|
+
}
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
]);
|
|
325
|
+
if (selectedInstances.length === 0) {
|
|
326
|
+
console.log(chalk_1.default.yellow('No instances selected for deletion.'));
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
// Show selected instances
|
|
330
|
+
console.log(chalk_1.default.yellow('\nSelected instances for deletion:'));
|
|
331
|
+
const selectedInstanceDetails = instances
|
|
332
|
+
.filter((instance) => selectedInstances.includes(instance.id))
|
|
333
|
+
.map((instance) => ` - ${chalk_1.default.cyan(instance.instanceName || 'Unnamed')} (${instance.id})`);
|
|
334
|
+
console.log(selectedInstanceDetails.join('\n'));
|
|
335
|
+
// Confirm deletion if not using --force
|
|
336
|
+
if (!options.force) {
|
|
337
|
+
const { confirmDeletion } = yield inquirer_1.default.prompt([
|
|
338
|
+
{
|
|
339
|
+
type: 'confirm',
|
|
340
|
+
name: 'confirmDeletion',
|
|
341
|
+
message: chalk_1.default.red('Are you sure you want to delete these instances? This cannot be undone.'),
|
|
342
|
+
default: false
|
|
343
|
+
}
|
|
344
|
+
]);
|
|
345
|
+
if (!confirmDeletion) {
|
|
346
|
+
console.log(chalk_1.default.yellow('Deletion cancelled.'));
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// Process deletion - using single request with all selected IDs
|
|
351
|
+
const deleteSpinner = (0, ora_1.default)(`Deleting ${selectedInstances.length} instance(s)...`).start();
|
|
352
|
+
try {
|
|
353
|
+
yield axios_1.default.delete(`${authToken.serverUrl}/projects/${project.id}/instances`, {
|
|
354
|
+
data: { ids: selectedInstances },
|
|
355
|
+
headers: {
|
|
356
|
+
Authorization: authToken.token,
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
deleteSpinner.succeed(`Successfully deleted ${selectedInstances.length} instance(s)`);
|
|
360
|
+
console.log(chalk_1.default.green('\nAll selected instances have been deleted'));
|
|
361
|
+
console.log(chalk_1.default.gray('You can verify with: nestbox compute list'));
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
deleteSpinner.fail(`Failed to delete instances`);
|
|
365
|
+
if (error.response) {
|
|
366
|
+
console.error(chalk_1.default.red('API Error:'), ((_b = error.response.data) === null || _b === void 0 ? void 0 : _b.message) || 'Unknown error');
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
spinner.fail('Failed to retrieve compute instances');
|
|
375
|
+
if (error.response) {
|
|
376
|
+
console.error(chalk_1.default.red('API Error:'), ((_c = error.response.data) === null || _c === void 0 ? void 0 : _c.message) || 'Unknown error');
|
|
377
|
+
}
|
|
378
|
+
else {
|
|
379
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
catch (error) {
|
|
384
|
+
console.error(chalk_1.default.red('Error:'), error.message || 'Unknown error');
|
|
385
|
+
}
|
|
386
|
+
}));
|
|
131
387
|
}
|
|
132
388
|
//# sourceMappingURL=compute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../src/commands/compute.ts"],"names":[],"mappings":"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"}
|