@edgible-team/cli 1.2.4 → 1.2.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/dist/commands/agent/agent-handlers.d.ts +45 -0
- package/dist/commands/agent/agent-handlers.d.ts.map +1 -0
- package/dist/commands/agent/agent-handlers.js +1159 -0
- package/dist/commands/agent/install.d.ts +11 -0
- package/dist/commands/agent/install.d.ts.map +1 -0
- package/dist/commands/agent/install.js +399 -0
- package/dist/commands/agent/logs.d.ts +12 -0
- package/dist/commands/agent/logs.d.ts.map +1 -0
- package/dist/commands/agent/logs.js +77 -0
- package/dist/commands/agent/restart.d.ts +4 -0
- package/dist/commands/agent/restart.d.ts.map +1 -0
- package/dist/commands/agent/restart.js +33 -0
- package/dist/commands/agent/set-log-level.d.ts +8 -0
- package/dist/commands/agent/set-log-level.d.ts.map +1 -0
- package/dist/commands/agent/set-log-level.js +133 -0
- package/dist/commands/agent/setup.d.ts +9 -0
- package/dist/commands/agent/setup.d.ts.map +1 -0
- package/dist/commands/agent/setup.js +149 -0
- package/dist/commands/agent/start.d.ts +12 -0
- package/dist/commands/agent/start.d.ts.map +1 -0
- package/dist/commands/agent/start.js +308 -0
- package/dist/commands/agent/status.d.ts +7 -0
- package/dist/commands/agent/status.d.ts.map +1 -0
- package/dist/commands/agent/status.js +68 -0
- package/dist/commands/agent/stop.d.ts +4 -0
- package/dist/commands/agent/stop.d.ts.map +1 -0
- package/dist/commands/agent/stop.js +33 -0
- package/dist/commands/agent/uninstall.d.ts +7 -0
- package/dist/commands/agent/uninstall.d.ts.map +1 -0
- package/dist/commands/agent/uninstall.js +168 -0
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +24 -1190
- package/dist/commands/ai/helpers.d.ts +139 -0
- package/dist/commands/ai/helpers.d.ts.map +1 -0
- package/dist/commands/ai/helpers.js +1470 -0
- package/dist/commands/ai/serve.d.ts +6 -0
- package/dist/commands/ai/serve.d.ts.map +1 -0
- package/dist/commands/ai/serve.js +124 -0
- package/dist/commands/ai/setup.d.ts +14 -0
- package/dist/commands/ai/setup.d.ts.map +1 -0
- package/dist/commands/ai/setup.js +86 -0
- package/dist/commands/ai/status.d.ts +2 -0
- package/dist/commands/ai/status.d.ts.map +1 -0
- package/dist/commands/ai/status.js +160 -0
- package/dist/commands/ai/stop.d.ts +2 -0
- package/dist/commands/ai/stop.d.ts.map +1 -0
- package/dist/commands/ai/stop.js +21 -0
- package/dist/commands/ai/teardown.d.ts +5 -0
- package/dist/commands/ai/teardown.d.ts.map +1 -0
- package/dist/commands/ai/teardown.js +78 -0
- package/dist/commands/ai/test.d.ts +4 -0
- package/dist/commands/ai/test.d.ts.map +1 -0
- package/dist/commands/ai/test.js +65 -0
- package/dist/commands/ai.d.ts.map +1 -1
- package/dist/commands/ai.js +16 -1938
- package/dist/commands/application/api-keys/create.d.ts +6 -0
- package/dist/commands/application/api-keys/create.d.ts.map +1 -0
- package/dist/commands/application/api-keys/create.js +68 -0
- package/dist/commands/application/api-keys/delete.d.ts +6 -0
- package/dist/commands/application/api-keys/delete.d.ts.map +1 -0
- package/dist/commands/application/api-keys/delete.js +79 -0
- package/dist/commands/application/api-keys/list.d.ts +5 -0
- package/dist/commands/application/api-keys/list.d.ts.map +1 -0
- package/dist/commands/application/api-keys/list.js +65 -0
- package/dist/commands/application/api-keys.d.ts +3 -0
- package/dist/commands/application/api-keys.d.ts.map +1 -0
- package/dist/commands/application/api-keys.js +227 -0
- package/dist/commands/application/create-compose.d.ts +3 -0
- package/dist/commands/application/create-compose.d.ts.map +1 -0
- package/dist/commands/application/create-compose.js +381 -0
- package/dist/commands/application/create-docker-compose.d.ts +10 -0
- package/dist/commands/application/create-docker-compose.d.ts.map +1 -0
- package/dist/commands/application/create-docker-compose.js +334 -0
- package/dist/commands/application/create-existing.d.ts +14 -0
- package/dist/commands/application/create-existing.d.ts.map +1 -0
- package/dist/commands/application/create-existing.js +359 -0
- package/dist/commands/application/create-interactive.d.ts +3 -0
- package/dist/commands/application/create-interactive.d.ts.map +1 -0
- package/dist/commands/application/create-interactive.js +326 -0
- package/dist/commands/application/create-managed-process.d.ts +15 -0
- package/dist/commands/application/create-managed-process.d.ts.map +1 -0
- package/dist/commands/application/create-managed-process.js +371 -0
- package/dist/commands/application/create-stubs.d.ts +4 -0
- package/dist/commands/application/create-stubs.d.ts.map +1 -0
- package/dist/commands/application/create-stubs.js +19 -0
- package/dist/commands/application/create-workload.d.ts +5 -0
- package/dist/commands/application/create-workload.d.ts.map +1 -0
- package/dist/commands/application/create-workload.js +48 -0
- package/dist/commands/application/delete.d.ts +6 -0
- package/dist/commands/application/delete.d.ts.map +1 -0
- package/dist/commands/application/delete.js +76 -0
- package/dist/commands/application/get.d.ts +5 -0
- package/dist/commands/application/get.d.ts.map +1 -0
- package/dist/commands/application/get.js +35 -0
- package/dist/commands/application/list.d.ts +4 -0
- package/dist/commands/application/list.d.ts.map +1 -0
- package/dist/commands/application/list.js +41 -0
- package/dist/commands/application/short-codes/create.d.ts +7 -0
- package/dist/commands/application/short-codes/create.d.ts.map +1 -0
- package/dist/commands/application/short-codes/create.js +69 -0
- package/dist/commands/application/short-codes/delete.d.ts +6 -0
- package/dist/commands/application/short-codes/delete.d.ts.map +1 -0
- package/dist/commands/application/short-codes/delete.js +79 -0
- package/dist/commands/application/short-codes/list.d.ts +5 -0
- package/dist/commands/application/short-codes/list.d.ts.map +1 -0
- package/dist/commands/application/short-codes/list.js +63 -0
- package/dist/commands/application/short-codes/toggle.d.ts +5 -0
- package/dist/commands/application/short-codes/toggle.d.ts.map +1 -0
- package/dist/commands/application/short-codes/toggle.js +71 -0
- package/dist/commands/application/short-codes.d.ts +3 -0
- package/dist/commands/application/short-codes.d.ts.map +1 -0
- package/dist/commands/application/short-codes.js +226 -0
- package/dist/commands/application/toggle.d.ts +2 -0
- package/dist/commands/application/toggle.d.ts.map +1 -0
- package/dist/commands/application/toggle.js +78 -0
- package/dist/commands/application/update.d.ts +4 -0
- package/dist/commands/application/update.d.ts.map +1 -0
- package/dist/commands/application/update.js +11 -0
- package/dist/commands/application.d.ts.map +1 -1
- package/dist/commands/application.js +32 -1630
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +31 -49
- package/dist/commands/base/BaseCommand.d.ts +3 -3
- package/dist/commands/base/BaseCommand.d.ts.map +1 -1
- package/dist/commands/base/BaseCommand.js +3 -3
- package/dist/commands/base/command-wrapper.d.ts +0 -4
- package/dist/commands/base/command-wrapper.d.ts.map +1 -1
- package/dist/commands/base/command-wrapper.js +13 -14
- package/dist/commands/base/middleware.d.ts +3 -3
- package/dist/commands/base/middleware.d.ts.map +1 -1
- package/dist/commands/base/middleware.js +4 -4
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +15 -32
- package/dist/commands/connectivity.d.ts.map +1 -1
- package/dist/commands/connectivity.js +6 -11
- package/dist/commands/debug.d.ts.map +1 -1
- package/dist/commands/debug.js +187 -46
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +4 -17
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +37 -77
- package/dist/commands/managedGateway/create.d.ts +6 -0
- package/dist/commands/managedGateway/create.d.ts.map +1 -0
- package/dist/commands/managedGateway/create.js +50 -0
- package/dist/commands/managedGateway/delete.d.ts +5 -0
- package/dist/commands/managedGateway/delete.d.ts.map +1 -0
- package/dist/commands/managedGateway/delete.js +57 -0
- package/dist/commands/managedGateway/get.d.ts +4 -0
- package/dist/commands/managedGateway/get.d.ts.map +1 -0
- package/dist/commands/managedGateway/get.js +71 -0
- package/dist/commands/managedGateway/haproxy-stats.d.ts +6 -0
- package/dist/commands/managedGateway/haproxy-stats.d.ts.map +1 -0
- package/dist/commands/managedGateway/haproxy-stats.js +131 -0
- package/dist/commands/managedGateway/list.d.ts +4 -0
- package/dist/commands/managedGateway/list.d.ts.map +1 -0
- package/dist/commands/managedGateway/list.js +50 -0
- package/dist/commands/managedGateway/logs.d.ts +10 -0
- package/dist/commands/managedGateway/logs.d.ts.map +1 -0
- package/dist/commands/managedGateway/logs.js +100 -0
- package/dist/commands/managedGateway/reboot.d.ts +5 -0
- package/dist/commands/managedGateway/reboot.d.ts.map +1 -0
- package/dist/commands/managedGateway/reboot.js +95 -0
- package/dist/commands/managedGateway/resync.d.ts +10 -0
- package/dist/commands/managedGateway/resync.d.ts.map +1 -0
- package/dist/commands/managedGateway/resync.js +69 -0
- package/dist/commands/managedGateway/ssh.d.ts +4 -0
- package/dist/commands/managedGateway/ssh.d.ts.map +1 -0
- package/dist/commands/managedGateway/ssh.js +130 -0
- package/dist/commands/managedGateway/wipe-logs.d.ts +4 -0
- package/dist/commands/managedGateway/wipe-logs.d.ts.map +1 -0
- package/dist/commands/managedGateway/wipe-logs.js +67 -0
- package/dist/commands/managedGateway/wireguard.d.ts +4 -0
- package/dist/commands/managedGateway/wireguard.d.ts.map +1 -0
- package/dist/commands/managedGateway/wireguard.js +68 -0
- package/dist/commands/managedGateway.d.ts.map +1 -1
- package/dist/commands/managedGateway.js +61 -117
- package/dist/commands/utils/config-validator.d.ts +5 -5
- package/dist/commands/utils/config-validator.d.ts.map +1 -1
- package/dist/commands/utils/config-validator.js +8 -8
- package/dist/commands/utils/output-formatter.js +1 -1
- package/dist/config/app-config.d.ts +1 -1
- package/dist/config/app-config.js +2 -2
- package/dist/index.js +0 -3
- package/dist/services/LocalAgentManager.d.ts.map +1 -1
- package/dist/services/LocalAgentManager.js +4 -2
- package/dist/services/agentDeployment/AgentDeploymentService.d.ts +35 -0
- package/dist/services/agentDeployment/AgentDeploymentService.d.ts.map +1 -0
- package/dist/services/agentDeployment/AgentDeploymentService.js +35 -0
- package/dist/services/application/ApplicationService.d.ts +5 -4
- package/dist/services/application/ApplicationService.d.ts.map +1 -1
- package/dist/services/application/ApplicationService.js +22 -35
- package/dist/services/auth/AuthService.d.ts +5 -5
- package/dist/services/auth/AuthService.d.ts.map +1 -1
- package/dist/services/auth/AuthService.js +11 -58
- package/dist/services/daemon/DaemonManagerFactory.d.ts +2 -0
- package/dist/services/daemon/DaemonManagerFactory.d.ts.map +1 -1
- package/dist/services/daemon/DaemonManagerFactory.js +14 -6
- package/dist/services/diagnostics/DiagnosticsService.d.ts +89 -0
- package/dist/services/diagnostics/DiagnosticsService.d.ts.map +1 -0
- package/dist/services/diagnostics/DiagnosticsService.js +37 -0
- package/dist/services/edgible.d.ts +6 -4
- package/dist/services/edgible.d.ts.map +1 -1
- package/dist/services/edgible.js +36 -86
- package/dist/services/gateway/GatewayService.d.ts +5 -6
- package/dist/services/gateway/GatewayService.d.ts.map +1 -1
- package/dist/services/gateway/GatewayService.js +22 -36
- package/dist/services/instances.d.ts +34 -0
- package/dist/services/instances.d.ts.map +1 -0
- package/dist/services/instances.js +64 -0
- package/dist/services/managedGateway/ManagedGatewayService.d.ts +75 -0
- package/dist/services/managedGateway/ManagedGatewayService.d.ts.map +1 -0
- package/dist/services/managedGateway/ManagedGatewayService.js +44 -0
- package/dist/services/token/TokenManager.d.ts +56 -0
- package/dist/services/token/TokenManager.d.ts.map +1 -0
- package/dist/services/token/TokenManager.js +85 -0
- package/dist/types/validation/schemas.d.ts +22 -22
- package/dist/utils/PlatformDetector.d.ts +2 -0
- package/dist/utils/PlatformDetector.d.ts.map +1 -1
- package/dist/utils/PlatformDetector.js +5 -34
- package/dist/validation/schemas.d.ts +6 -6
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/api-keys/create.ts"],"names":[],"mappings":"AAKA,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgErH"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleApiKeysCreate = handleApiKeysCreate;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const instances_1 = require("../../../services/instances");
|
|
10
|
+
const config_validator_1 = require("../../utils/config-validator");
|
|
11
|
+
async function handleApiKeysCreate(options) {
|
|
12
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
13
|
+
requireAuth: true,
|
|
14
|
+
requireOrganization: true,
|
|
15
|
+
});
|
|
16
|
+
let appId = options.appId;
|
|
17
|
+
if (!appId) {
|
|
18
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
19
|
+
if (applications.length === 0) {
|
|
20
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
24
|
+
{
|
|
25
|
+
type: 'list',
|
|
26
|
+
name: 'selectedAppId',
|
|
27
|
+
message: 'Select application:',
|
|
28
|
+
choices: applications.map((app) => ({
|
|
29
|
+
name: `${app.name} (${app.id})`,
|
|
30
|
+
value: app.id,
|
|
31
|
+
})),
|
|
32
|
+
},
|
|
33
|
+
]);
|
|
34
|
+
appId = selectedAppId;
|
|
35
|
+
}
|
|
36
|
+
if (!appId) {
|
|
37
|
+
throw new Error('Application ID is required');
|
|
38
|
+
}
|
|
39
|
+
let name = options.name;
|
|
40
|
+
if (!name) {
|
|
41
|
+
const { keyName } = await inquirer_1.default.prompt([
|
|
42
|
+
{
|
|
43
|
+
type: 'input',
|
|
44
|
+
name: 'keyName',
|
|
45
|
+
message: 'Enter a name for this API key:',
|
|
46
|
+
validate: (input) => input.trim().length > 0 || 'Name is required',
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
name = keyName;
|
|
50
|
+
}
|
|
51
|
+
if (!name) {
|
|
52
|
+
throw new Error('Name is required');
|
|
53
|
+
}
|
|
54
|
+
const result = await instances_1.applicationService.createApiKey(appId, name, options.expires);
|
|
55
|
+
console.log(chalk_1.default.green('\n✓ API key created successfully!\n'));
|
|
56
|
+
console.log(chalk_1.default.bold.red('⚠️ IMPORTANT: Save this API key now. It will not be shown again!\n'));
|
|
57
|
+
console.log(chalk_1.default.cyan('API Key:'), chalk_1.default.bold(result.apiKey));
|
|
58
|
+
console.log(chalk_1.default.gray('\nKey Details:'));
|
|
59
|
+
console.log(` Name: ${result.keyData.name}`);
|
|
60
|
+
console.log(` Key ID: ${result.keyData.id}`);
|
|
61
|
+
console.log(` Key Prefix: ${result.keyData.keyPrefix}`);
|
|
62
|
+
console.log(` Full ID: ${result.keyData.keyPrefix}-${result.keyData.id}`);
|
|
63
|
+
if (result.keyData.expiresAt) {
|
|
64
|
+
console.log(` Expires: ${new Date(result.keyData.expiresAt).toLocaleString()}`);
|
|
65
|
+
}
|
|
66
|
+
console.log();
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/api-keys/delete.ts"],"names":[],"mappings":"AAKA,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ErH"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleApiKeysDelete = handleApiKeysDelete;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const instances_1 = require("../../../services/instances");
|
|
10
|
+
const config_validator_1 = require("../../utils/config-validator");
|
|
11
|
+
async function handleApiKeysDelete(options) {
|
|
12
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
13
|
+
requireAuth: true,
|
|
14
|
+
requireOrganization: true,
|
|
15
|
+
});
|
|
16
|
+
let appId = options.appId;
|
|
17
|
+
if (!appId) {
|
|
18
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
19
|
+
if (applications.length === 0) {
|
|
20
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
24
|
+
{
|
|
25
|
+
type: 'list',
|
|
26
|
+
name: 'selectedAppId',
|
|
27
|
+
message: 'Select application:',
|
|
28
|
+
choices: applications.map((app) => ({
|
|
29
|
+
name: `${app.name} (${app.id})`,
|
|
30
|
+
value: app.id,
|
|
31
|
+
})),
|
|
32
|
+
},
|
|
33
|
+
]);
|
|
34
|
+
appId = selectedAppId;
|
|
35
|
+
}
|
|
36
|
+
if (!appId) {
|
|
37
|
+
throw new Error('Application ID is required');
|
|
38
|
+
}
|
|
39
|
+
let keyId = options.keyId;
|
|
40
|
+
if (!keyId) {
|
|
41
|
+
const keys = await instances_1.applicationService.listApiKeys(appId);
|
|
42
|
+
if (keys.length === 0) {
|
|
43
|
+
console.log(chalk_1.default.yellow('⚠ No API keys configured'));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const { selectedKeyId } = await inquirer_1.default.prompt([
|
|
47
|
+
{
|
|
48
|
+
type: 'list',
|
|
49
|
+
name: 'selectedKeyId',
|
|
50
|
+
message: 'Select API key to delete:',
|
|
51
|
+
choices: keys.map((key) => ({
|
|
52
|
+
name: `${key.name} (${key.keyPrefix})`,
|
|
53
|
+
value: key.id,
|
|
54
|
+
})),
|
|
55
|
+
},
|
|
56
|
+
]);
|
|
57
|
+
keyId = selectedKeyId;
|
|
58
|
+
}
|
|
59
|
+
if (!options.force) {
|
|
60
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
61
|
+
{
|
|
62
|
+
type: 'confirm',
|
|
63
|
+
name: 'confirm',
|
|
64
|
+
message: 'Are you sure you want to delete this API key?',
|
|
65
|
+
default: false,
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
if (!confirm) {
|
|
69
|
+
console.log(chalk_1.default.gray('Deletion cancelled'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (!keyId) {
|
|
74
|
+
throw new Error('Key ID is required');
|
|
75
|
+
}
|
|
76
|
+
await instances_1.applicationService.deleteApiKey(appId, keyId);
|
|
77
|
+
console.log(chalk_1.default.green('\n✓ API key deleted successfully!'));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/api-keys/list.ts"],"names":[],"mappings":"AAKA,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DlG"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleApiKeysList = handleApiKeysList;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const instances_1 = require("../../../services/instances");
|
|
10
|
+
const config_validator_1 = require("../../utils/config-validator");
|
|
11
|
+
async function handleApiKeysList(options) {
|
|
12
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
13
|
+
requireAuth: true,
|
|
14
|
+
requireOrganization: true,
|
|
15
|
+
});
|
|
16
|
+
let appId = options.appId;
|
|
17
|
+
if (!appId) {
|
|
18
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
19
|
+
if (applications.length === 0) {
|
|
20
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
24
|
+
{
|
|
25
|
+
type: 'list',
|
|
26
|
+
name: 'selectedAppId',
|
|
27
|
+
message: 'Select application:',
|
|
28
|
+
choices: applications.map((app) => ({
|
|
29
|
+
name: `${app.name} (${app.id})`,
|
|
30
|
+
value: app.id,
|
|
31
|
+
})),
|
|
32
|
+
},
|
|
33
|
+
]);
|
|
34
|
+
appId = selectedAppId;
|
|
35
|
+
}
|
|
36
|
+
if (!appId) {
|
|
37
|
+
throw new Error('Application ID is required');
|
|
38
|
+
}
|
|
39
|
+
const keys = await instances_1.applicationService.listApiKeys(appId);
|
|
40
|
+
if (options.json) {
|
|
41
|
+
console.log(JSON.stringify({ keys }, null, 2));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (keys.length === 0) {
|
|
45
|
+
console.log(chalk_1.default.yellow('⚠ No API keys configured'));
|
|
46
|
+
console.log(chalk_1.default.gray('Use "edgible application api-keys create" to create an API key'));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
console.log(chalk_1.default.bold('\n🔑 API Keys:\n'));
|
|
50
|
+
keys.forEach((key, index) => {
|
|
51
|
+
console.log(`${index + 1}. ${chalk_1.default.cyan(key.name)}`);
|
|
52
|
+
console.log(` ID: ${chalk_1.default.gray(key.id)}`);
|
|
53
|
+
console.log(` Prefix: ${chalk_1.default.gray(key.keyPrefix)}`);
|
|
54
|
+
console.log(` Created: ${chalk_1.default.gray(new Date(key.createdAt).toLocaleString())}`);
|
|
55
|
+
console.log(` Status: ${key.enabled ? chalk_1.default.green('Enabled') : chalk_1.default.red('Disabled')}`);
|
|
56
|
+
if (key.expiresAt) {
|
|
57
|
+
console.log(` Expires: ${chalk_1.default.gray(new Date(key.expiresAt).toLocaleString())}`);
|
|
58
|
+
}
|
|
59
|
+
if (key.lastUsedAt) {
|
|
60
|
+
console.log(` Last used: ${chalk_1.default.gray(new Date(key.lastUsedAt).toLocaleString())}`);
|
|
61
|
+
}
|
|
62
|
+
console.log();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../src/commands/application/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,IAAI,OAAO,CAuQ9C"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createApiKeysCommand = createApiKeysCommand;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const command_wrapper_1 = require("../base/command-wrapper");
|
|
10
|
+
const instances_1 = require("../../services/instances");
|
|
11
|
+
const config_validator_1 = require("../utils/config-validator");
|
|
12
|
+
function createApiKeysCommand() {
|
|
13
|
+
command('api-keys')
|
|
14
|
+
.description('Manage application API keys')
|
|
15
|
+
.alias('keys');
|
|
16
|
+
apiKeysCommand
|
|
17
|
+
.command('list')
|
|
18
|
+
.description('List API keys for an application')
|
|
19
|
+
.option('-i, --app-id <id>', 'Application ID')
|
|
20
|
+
.option('--json', 'Output as JSON')
|
|
21
|
+
.alias('ls')
|
|
22
|
+
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
23
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
24
|
+
requireAuth: true,
|
|
25
|
+
requireOrganization: true,
|
|
26
|
+
});
|
|
27
|
+
let appId = options.appId;
|
|
28
|
+
if (!appId) {
|
|
29
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
30
|
+
if (applications.length === 0) {
|
|
31
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
35
|
+
{
|
|
36
|
+
type: 'list',
|
|
37
|
+
name: 'selectedAppId',
|
|
38
|
+
message: 'Select application:',
|
|
39
|
+
choices: applications.map((app) => ({
|
|
40
|
+
name: `${app.name} (${app.id})`,
|
|
41
|
+
value: app.id,
|
|
42
|
+
})),
|
|
43
|
+
},
|
|
44
|
+
]);
|
|
45
|
+
appId = selectedAppId;
|
|
46
|
+
}
|
|
47
|
+
if (!appId) {
|
|
48
|
+
throw new Error('Application ID is required');
|
|
49
|
+
}
|
|
50
|
+
const keys = await instances_1.applicationService.listApiKeys(appId);
|
|
51
|
+
if (options.json) {
|
|
52
|
+
console.log(JSON.stringify({ keys }, null, 2));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (keys.length === 0) {
|
|
56
|
+
console.log(chalk_1.default.yellow('⚠ No API keys configured'));
|
|
57
|
+
console.log(chalk_1.default.gray('Use "edgible application api-keys create" to create an API key'));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
console.log(chalk_1.default.bold('\n🔑 API Keys:\n'));
|
|
61
|
+
keys.forEach((key, index) => {
|
|
62
|
+
console.log(`${index + 1}. ${chalk_1.default.cyan(key.name)}`);
|
|
63
|
+
console.log(` ID: ${chalk_1.default.gray(key.id)}`);
|
|
64
|
+
console.log(` Prefix: ${chalk_1.default.gray(key.keyPrefix)}`);
|
|
65
|
+
console.log(` Created: ${chalk_1.default.gray(new Date(key.createdAt).toLocaleString())}`);
|
|
66
|
+
console.log(` Status: ${key.enabled ? chalk_1.default.green('Enabled') : chalk_1.default.red('Disabled')}`);
|
|
67
|
+
if (key.expiresAt) {
|
|
68
|
+
console.log(` Expires: ${chalk_1.default.gray(new Date(key.expiresAt).toLocaleString())}`);
|
|
69
|
+
}
|
|
70
|
+
if (key.lastUsedAt) {
|
|
71
|
+
console.log(` Last used: ${chalk_1.default.gray(new Date(key.lastUsedAt).toLocaleString())}`);
|
|
72
|
+
}
|
|
73
|
+
console.log();
|
|
74
|
+
});
|
|
75
|
+
}, {
|
|
76
|
+
requireAuth: true,
|
|
77
|
+
requireOrganization: true,
|
|
78
|
+
}));
|
|
79
|
+
apiKeysCommand
|
|
80
|
+
.command('create')
|
|
81
|
+
.description('Create a new API key')
|
|
82
|
+
.option('-i, --app-id <id>', 'Application ID')
|
|
83
|
+
.option('-n, --name <name>', 'Key name')
|
|
84
|
+
.option('--expires <date>', 'Expiration date (ISO format)')
|
|
85
|
+
.alias('new')
|
|
86
|
+
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
87
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
88
|
+
requireAuth: true,
|
|
89
|
+
requireOrganization: true,
|
|
90
|
+
});
|
|
91
|
+
let appId = options.appId;
|
|
92
|
+
if (!appId) {
|
|
93
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
94
|
+
if (applications.length === 0) {
|
|
95
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
99
|
+
{
|
|
100
|
+
type: 'list',
|
|
101
|
+
name: 'selectedAppId',
|
|
102
|
+
message: 'Select application:',
|
|
103
|
+
choices: applications.map((app) => ({
|
|
104
|
+
name: `${app.name} (${app.id})`,
|
|
105
|
+
value: app.id,
|
|
106
|
+
})),
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
appId = selectedAppId;
|
|
110
|
+
}
|
|
111
|
+
if (!appId) {
|
|
112
|
+
throw new Error('Application ID is required');
|
|
113
|
+
}
|
|
114
|
+
let name = options.name;
|
|
115
|
+
if (!name) {
|
|
116
|
+
const { keyName } = await inquirer_1.default.prompt([
|
|
117
|
+
{
|
|
118
|
+
type: 'input',
|
|
119
|
+
name: 'keyName',
|
|
120
|
+
message: 'Enter a name for this API key:',
|
|
121
|
+
validate: (input) => input.trim().length > 0 || 'Name is required',
|
|
122
|
+
},
|
|
123
|
+
]);
|
|
124
|
+
name = keyName;
|
|
125
|
+
}
|
|
126
|
+
if (!name) {
|
|
127
|
+
throw new Error('Name is required');
|
|
128
|
+
}
|
|
129
|
+
const result = await instances_1.applicationService.createApiKey(appId, name, options.expires);
|
|
130
|
+
console.log(chalk_1.default.green('\n✓ API key created successfully!\n'));
|
|
131
|
+
console.log(chalk_1.default.bold.red('⚠️ IMPORTANT: Save this API key now. It will not be shown again!\n'));
|
|
132
|
+
console.log(chalk_1.default.cyan('API Key:'), chalk_1.default.bold(result.apiKey));
|
|
133
|
+
console.log(chalk_1.default.gray('\nKey Details:'));
|
|
134
|
+
console.log(` Name: ${result.keyData.name}`);
|
|
135
|
+
console.log(` Key ID: ${result.keyData.id}`);
|
|
136
|
+
console.log(` Key Prefix: ${result.keyData.keyPrefix}`);
|
|
137
|
+
console.log(` Full ID: ${result.keyData.keyPrefix}-${result.keyData.id}`);
|
|
138
|
+
if (result.keyData.expiresAt) {
|
|
139
|
+
console.log(` Expires: ${new Date(result.keyData.expiresAt).toLocaleString()}`);
|
|
140
|
+
}
|
|
141
|
+
console.log();
|
|
142
|
+
}, {
|
|
143
|
+
requireAuth: true,
|
|
144
|
+
requireOrganization: true,
|
|
145
|
+
}));
|
|
146
|
+
apiKeysCommand
|
|
147
|
+
.command('delete')
|
|
148
|
+
.description('Delete an API key')
|
|
149
|
+
.option('-i, --app-id <id>', 'Application ID')
|
|
150
|
+
.option('-k, --key-id <id>', 'API Key ID')
|
|
151
|
+
.option('-f, --force', 'Skip confirmation prompt')
|
|
152
|
+
.alias('rm')
|
|
153
|
+
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
154
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
155
|
+
requireAuth: true,
|
|
156
|
+
requireOrganization: true,
|
|
157
|
+
});
|
|
158
|
+
let appId = options.appId;
|
|
159
|
+
if (!appId) {
|
|
160
|
+
const applications = await instances_1.applicationService.getApplications();
|
|
161
|
+
if (applications.length === 0) {
|
|
162
|
+
console.log(chalk_1.default.yellow('⚠ No applications configured'));
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const { selectedAppId } = await inquirer_1.default.prompt([
|
|
166
|
+
{
|
|
167
|
+
type: 'list',
|
|
168
|
+
name: 'selectedAppId',
|
|
169
|
+
message: 'Select application:',
|
|
170
|
+
choices: applications.map((app) => ({
|
|
171
|
+
name: `${app.name} (${app.id})`,
|
|
172
|
+
value: app.id,
|
|
173
|
+
})),
|
|
174
|
+
},
|
|
175
|
+
]);
|
|
176
|
+
appId = selectedAppId;
|
|
177
|
+
}
|
|
178
|
+
if (!appId) {
|
|
179
|
+
throw new Error('Application ID is required');
|
|
180
|
+
}
|
|
181
|
+
let keyId = options.keyId;
|
|
182
|
+
if (!keyId) {
|
|
183
|
+
const keys = await instances_1.applicationService.listApiKeys(appId);
|
|
184
|
+
if (keys.length === 0) {
|
|
185
|
+
console.log(chalk_1.default.yellow('⚠ No API keys configured'));
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const { selectedKeyId } = await inquirer_1.default.prompt([
|
|
189
|
+
{
|
|
190
|
+
type: 'list',
|
|
191
|
+
name: 'selectedKeyId',
|
|
192
|
+
message: 'Select API key to delete:',
|
|
193
|
+
choices: keys.map((key) => ({
|
|
194
|
+
name: `${key.name} (${key.keyPrefix})`,
|
|
195
|
+
value: key.id,
|
|
196
|
+
})),
|
|
197
|
+
},
|
|
198
|
+
]);
|
|
199
|
+
keyId = selectedKeyId;
|
|
200
|
+
}
|
|
201
|
+
if (!options.force) {
|
|
202
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
203
|
+
{
|
|
204
|
+
type: 'confirm',
|
|
205
|
+
name: 'confirm',
|
|
206
|
+
message: 'Are you sure you want to delete this API key?',
|
|
207
|
+
default: false,
|
|
208
|
+
},
|
|
209
|
+
]);
|
|
210
|
+
if (!confirm) {
|
|
211
|
+
console.log(chalk_1.default.gray('Deletion cancelled'));
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
if (!keyId) {
|
|
216
|
+
throw new Error('Key ID is required');
|
|
217
|
+
}
|
|
218
|
+
await instances_1.applicationService.deleteApiKey(appId, keyId);
|
|
219
|
+
console.log(chalk_1.default.green('\n✓ API key deleted successfully!'));
|
|
220
|
+
}, {
|
|
221
|
+
requireAuth: true,
|
|
222
|
+
requireOrganization: true,
|
|
223
|
+
}));
|
|
224
|
+
// Short Codes subcommand group
|
|
225
|
+
const shortCodesCommand = appCommand;
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=api-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-compose.d.ts","sourceRoot":"","sources":["../../../src/commands/application/create-compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,oBAAoB,IAAI,OAAO,CA0Z9C"}
|