@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmMxD"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -44,8 +44,7 @@ const validation_1 = require("../utils/validation");
|
|
|
44
44
|
const passwordValidation_1 = require("../utils/passwordValidation");
|
|
45
45
|
const ToolDetector_1 = require("../detection/ToolDetector");
|
|
46
46
|
const command_wrapper_1 = require("./base/command-wrapper");
|
|
47
|
-
const
|
|
48
|
-
const types_1 = require("../di/types");
|
|
47
|
+
const instances_1 = require("../services/instances");
|
|
49
48
|
function setupAuthCommands(program) {
|
|
50
49
|
const authCommand = program
|
|
51
50
|
.command('auth')
|
|
@@ -65,14 +64,10 @@ Examples:
|
|
|
65
64
|
.option('--email <email>', 'Email address for invite (required for device login)')
|
|
66
65
|
.option('--password <password>', 'Device password (if not provided, will be generated)')
|
|
67
66
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
71
|
-
const authService = container.get(types_1.TYPES.AuthService);
|
|
72
|
-
const isFirstRun = configRepository.isFirstRun();
|
|
73
|
-
const savedEmail = configRepository.getEmail();
|
|
67
|
+
const isFirstRun = instances_1.configManager.isFirstRun();
|
|
68
|
+
const savedEmail = instances_1.configManager.getEmail();
|
|
74
69
|
if (options.device) {
|
|
75
|
-
await handleDeviceLogin(
|
|
70
|
+
await handleDeviceLogin(instances_1.configManager, instances_1.authService, savedEmail, isFirstRun, options, instances_1.logger);
|
|
76
71
|
return;
|
|
77
72
|
}
|
|
78
73
|
// Interactive mode (existing logic)
|
|
@@ -87,7 +82,7 @@ Examples:
|
|
|
87
82
|
const detectedTools = await ToolDetector_1.ToolDetector.detectTools();
|
|
88
83
|
ToolDetector_1.ToolDetector.displayDetectedTools(detectedTools);
|
|
89
84
|
// Store tool detection results in config
|
|
90
|
-
|
|
85
|
+
instances_1.configManager.updateConfig({
|
|
91
86
|
detectedTools: detectedTools.filter((t) => t.available).map((t) => t.name),
|
|
92
87
|
toolDetectionDate: new Date().toISOString(),
|
|
93
88
|
});
|
|
@@ -108,36 +103,25 @@ Examples:
|
|
|
108
103
|
},
|
|
109
104
|
]);
|
|
110
105
|
if (loginMethod.method === 'user') {
|
|
111
|
-
await handleUserLogin(
|
|
106
|
+
await handleUserLogin(instances_1.configManager, instances_1.authService, savedEmail, isFirstRun, instances_1.logger);
|
|
112
107
|
}
|
|
113
108
|
else {
|
|
114
|
-
await handleDeviceLogin(
|
|
109
|
+
await handleDeviceLogin(instances_1.configManager, instances_1.authService, savedEmail, isFirstRun, {}, instances_1.logger);
|
|
115
110
|
}
|
|
116
|
-
}, {
|
|
117
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
118
111
|
}));
|
|
119
112
|
authCommand
|
|
120
113
|
.command('logout')
|
|
121
114
|
.description('Log out of the Edgible service')
|
|
122
115
|
.action((0, command_wrapper_1.wrapCommand)(async () => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
126
|
-
configRepository.clearConfig();
|
|
127
|
-
logger.info('User logged out');
|
|
116
|
+
instances_1.configManager.clearConfig();
|
|
117
|
+
instances_1.logger.info('User logged out');
|
|
128
118
|
console.log(chalk_1.default.green('✓ You have been logged out.'));
|
|
129
|
-
}, {
|
|
130
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
131
119
|
}));
|
|
132
120
|
authCommand
|
|
133
121
|
.command('select-org')
|
|
134
122
|
.description('Select active organization from your available organizations')
|
|
135
123
|
.action((0, command_wrapper_1.wrapCommand)(async () => {
|
|
136
|
-
const
|
|
137
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
138
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
139
|
-
const authService = container.get(types_1.TYPES.AuthService);
|
|
140
|
-
const config = configRepository.getConfig();
|
|
124
|
+
const config = instances_1.configManager.getConfig();
|
|
141
125
|
// Check if user is logged in
|
|
142
126
|
if (!config.email) {
|
|
143
127
|
console.log(chalk_1.default.red('✗ You must be logged in to select an organization.'));
|
|
@@ -148,12 +132,12 @@ Examples:
|
|
|
148
132
|
console.log(chalk_1.default.gray('Fetching your organizations...\n'));
|
|
149
133
|
try {
|
|
150
134
|
// Get user organizations
|
|
151
|
-
const userOrgs = await authService.getUserOrganizations(config.email);
|
|
135
|
+
const userOrgs = await instances_1.authService.getUserOrganizations(config.email);
|
|
152
136
|
// Filter for standard (non-billing) organizations only
|
|
153
137
|
const standardOrgs = userOrgs.organizations.filter((org) => org.organizationType !== 'billing');
|
|
154
138
|
if (standardOrgs.length === 0) {
|
|
155
139
|
console.log(chalk_1.default.yellow('⚠ No organizations found for your account.'));
|
|
156
|
-
logger.warn('No standard organizations found', { email: config.email });
|
|
140
|
+
instances_1.logger.warn('No standard organizations found', { email: config.email });
|
|
157
141
|
return;
|
|
158
142
|
}
|
|
159
143
|
if (standardOrgs.length === 1) {
|
|
@@ -194,9 +178,9 @@ Examples:
|
|
|
194
178
|
return;
|
|
195
179
|
}
|
|
196
180
|
// Update config with selected organization
|
|
197
|
-
|
|
181
|
+
instances_1.configManager.updateConfig({ organizationId: selectedOrgId });
|
|
198
182
|
const selectedOrg = standardOrgs.find(org => org.organizationId === selectedOrgId);
|
|
199
|
-
logger.info('Organization changed', {
|
|
183
|
+
instances_1.logger.info('Organization changed', {
|
|
200
184
|
from: config.organizationId,
|
|
201
185
|
to: selectedOrgId,
|
|
202
186
|
organizationName: selectedOrg?.name
|
|
@@ -205,15 +189,13 @@ Examples:
|
|
|
205
189
|
console.log(chalk_1.default.gray(`Organization ID: ${selectedOrgId}`));
|
|
206
190
|
}
|
|
207
191
|
catch (error) {
|
|
208
|
-
logger.error('Error fetching organizations', error);
|
|
192
|
+
instances_1.logger.error('Error fetching organizations', error);
|
|
209
193
|
const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';
|
|
210
194
|
console.error(chalk_1.default.red('\n✗ Failed to fetch organizations:'), errorMessage);
|
|
211
195
|
}
|
|
212
|
-
}, {
|
|
213
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
214
196
|
}));
|
|
215
197
|
}
|
|
216
|
-
async function handleUserLogin(
|
|
198
|
+
async function handleUserLogin(configManager, authService, savedEmail, isFirstRun, logger) {
|
|
217
199
|
// Check if we have a saved email
|
|
218
200
|
let email;
|
|
219
201
|
if (savedEmail && !isFirstRun) {
|
|
@@ -276,7 +258,7 @@ async function handleUserLogin(configRepository, authService, savedEmail, isFirs
|
|
|
276
258
|
console.log(chalk_1.default.green(`\n✓ Email received: ${email}`));
|
|
277
259
|
console.log(chalk_1.default.gray('Checking account status...\n'));
|
|
278
260
|
// Save email to config
|
|
279
|
-
|
|
261
|
+
configManager.setEmail(email);
|
|
280
262
|
// Check if account exists
|
|
281
263
|
logger.debug('Checking account existence', { email });
|
|
282
264
|
const accountExists = await authService.checkAccount(email);
|
|
@@ -306,7 +288,7 @@ async function handleUserLogin(configRepository, authService, savedEmail, isFirs
|
|
|
306
288
|
// Filter for standard (non-billing) organizations only
|
|
307
289
|
const standardOrgs = userOrgs.organizations.filter((org) => org.organizationType !== 'billing');
|
|
308
290
|
if (standardOrgs.length > 0) {
|
|
309
|
-
|
|
291
|
+
configManager.updateConfig({ organizationId: standardOrgs[0].organizationId });
|
|
310
292
|
logger.info('Organization selected', { organizationId: standardOrgs[0].organizationId });
|
|
311
293
|
console.log(chalk_1.default.gray(`Using organization: ${standardOrgs[0].name}`));
|
|
312
294
|
}
|
|
@@ -319,8 +301,8 @@ async function handleUserLogin(configRepository, authService, savedEmail, isFirs
|
|
|
319
301
|
logger.warn('Could not fetch organizations', orgError);
|
|
320
302
|
console.log(chalk_1.default.yellow('⚠ Could not fetch organizations, but login was successful'));
|
|
321
303
|
}
|
|
322
|
-
|
|
323
|
-
|
|
304
|
+
configManager.setAccountStatus(true);
|
|
305
|
+
configManager.setFirstRunComplete();
|
|
324
306
|
console.log(chalk_1.default.gray('Use "edgible --help" to see available commands.'));
|
|
325
307
|
}
|
|
326
308
|
catch (error) {
|
|
@@ -333,7 +315,7 @@ async function handleUserLogin(configRepository, authService, savedEmail, isFirs
|
|
|
333
315
|
else {
|
|
334
316
|
logger.debug('No account found for email', { email });
|
|
335
317
|
console.log(chalk_1.default.yellow('⚠ No account found for this email.'));
|
|
336
|
-
|
|
318
|
+
configManager.setAccountStatus(false);
|
|
337
319
|
if (isFirstRun) {
|
|
338
320
|
console.log(chalk_1.default.blue('\n🔧 No worries! You can create an account in a few ways:'));
|
|
339
321
|
console.log(chalk_1.default.gray('1. Use the "edgible signup" command'));
|
|
@@ -357,12 +339,12 @@ async function handleUserLogin(configRepository, authService, savedEmail, isFirs
|
|
|
357
339
|
console.log(chalk_1.default.gray('Please visit https://edgible.com/signup to create your account.'));
|
|
358
340
|
console.log(chalk_1.default.gray(`We\'ll remember your email: ${email}`));
|
|
359
341
|
}
|
|
360
|
-
|
|
342
|
+
configManager.setFirstRunComplete();
|
|
361
343
|
}
|
|
362
344
|
}
|
|
363
|
-
async function handleDeviceLogin(
|
|
345
|
+
async function handleDeviceLogin(configManager, authService, savedEmail, isFirstRun, options, logger) {
|
|
364
346
|
if (options.deviceName && options.email) {
|
|
365
|
-
await handleDeviceLoginNonInteractive(
|
|
347
|
+
await handleDeviceLoginNonInteractive(configManager, authService, options.deviceName, (options.deviceType || 'serving'), options.email, options.password, logger);
|
|
366
348
|
return;
|
|
367
349
|
}
|
|
368
350
|
console.log(chalk_1.default.blue('\n🔧 Device Login Setup'));
|
|
@@ -489,7 +471,7 @@ async function handleDeviceLogin(configRepository, authService, savedEmail, isFi
|
|
|
489
471
|
console.log(chalk_1.default.gray('\nUse these credentials to login with "edgible device-login" in the future.'));
|
|
490
472
|
// Save device info to config
|
|
491
473
|
logger.info('Device created successfully', { deviceId: response.device.id });
|
|
492
|
-
|
|
474
|
+
configManager.updateConfig({
|
|
493
475
|
deviceId: response.device.id,
|
|
494
476
|
deviceName: response.device.name,
|
|
495
477
|
devicePassword: password,
|
|
@@ -497,7 +479,7 @@ async function handleDeviceLogin(configRepository, authService, savedEmail, isFi
|
|
|
497
479
|
organizationId: response.organization.organizationId,
|
|
498
480
|
userEmail: userEmail,
|
|
499
481
|
});
|
|
500
|
-
|
|
482
|
+
configManager.setFirstRunComplete();
|
|
501
483
|
}
|
|
502
484
|
catch (error) {
|
|
503
485
|
logger.error('Device creation failed', error);
|
|
@@ -506,7 +488,7 @@ async function handleDeviceLogin(configRepository, authService, savedEmail, isFi
|
|
|
506
488
|
console.log(chalk_1.default.gray('Please try again or contact support.'));
|
|
507
489
|
}
|
|
508
490
|
}
|
|
509
|
-
async function handleDeviceLoginNonInteractive(
|
|
491
|
+
async function handleDeviceLoginNonInteractive(configManager, authService, deviceName, deviceType, userEmail, password, logger) {
|
|
510
492
|
console.log(chalk_1.default.gray('Creating device without requiring a user account.'));
|
|
511
493
|
console.log(chalk_1.default.gray('An invite email will be sent automatically.\n'));
|
|
512
494
|
// Generate password if not provided
|
|
@@ -542,7 +524,7 @@ async function handleDeviceLoginNonInteractive(configRepository, authService, de
|
|
|
542
524
|
console.log(chalk_1.default.cyan(` Password: ${devicePassword}`));
|
|
543
525
|
// Save device info to config
|
|
544
526
|
logger.info('Device created successfully (non-interactive)', { deviceId: response.device.id });
|
|
545
|
-
|
|
527
|
+
configManager.updateConfig({
|
|
546
528
|
deviceId: response.device.id,
|
|
547
529
|
deviceName: response.device.name,
|
|
548
530
|
devicePassword: devicePassword,
|
|
@@ -550,10 +532,10 @@ async function handleDeviceLoginNonInteractive(configRepository, authService, de
|
|
|
550
532
|
organizationId: response.organization.organizationId,
|
|
551
533
|
userEmail: userEmail,
|
|
552
534
|
});
|
|
553
|
-
|
|
535
|
+
configManager.setFirstRunComplete();
|
|
554
536
|
// Output credentials in a format that can be easily parsed by scripts
|
|
555
|
-
const
|
|
556
|
-
const appConfig =
|
|
537
|
+
const { getConfig } = await Promise.resolve().then(() => __importStar(require('../config/app-config')));
|
|
538
|
+
const appConfig = getConfig();
|
|
557
539
|
console.log(chalk_1.default.gray('\n--- CREDENTIALS FOR AUTOMATION ---'));
|
|
558
540
|
console.log(`DEVICE_ID=${response.device.id}`);
|
|
559
541
|
console.log(`DEVICE_PASSWORD=${devicePassword}`);
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { CommandHandler, CommandContext, CommandMiddleware } from './CommandHandler';
|
|
6
6
|
import { Logger } from '../../utils/logger';
|
|
7
|
-
import {
|
|
7
|
+
import { ConfigManager } from '../../state/config';
|
|
8
8
|
export interface BaseCommandOptions {
|
|
9
9
|
logger: Logger;
|
|
10
|
-
|
|
10
|
+
configManager: ConfigManager;
|
|
11
11
|
requireAuth?: boolean;
|
|
12
12
|
requireOrganization?: boolean;
|
|
13
13
|
}
|
|
@@ -16,7 +16,7 @@ export interface BaseCommandOptions {
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class BaseCommand implements CommandHandler {
|
|
18
18
|
protected logger: Logger;
|
|
19
|
-
protected
|
|
19
|
+
protected configManager: ConfigManager;
|
|
20
20
|
protected requireAuth: boolean;
|
|
21
21
|
protected requireOrganization: boolean;
|
|
22
22
|
private middlewares;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/base/BaseCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/commands/base/BaseCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACvC,OAAO,CAAC,WAAW,CAA2B;gBAElC,OAAO,EAAE,kBAAkB;IAOvC;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIxC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD;;OAEG;YACW,aAAa;IAW3B;;OAEG;cACa,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAcrC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAWpC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAIlC"}
|
|
@@ -13,7 +13,7 @@ class BaseCommand {
|
|
|
13
13
|
constructor(options) {
|
|
14
14
|
this.middlewares = [];
|
|
15
15
|
this.logger = options.logger;
|
|
16
|
-
this.
|
|
16
|
+
this.configManager = options.configManager;
|
|
17
17
|
this.requireAuth = options.requireAuth ?? false;
|
|
18
18
|
this.requireOrganization = options.requireOrganization ?? false;
|
|
19
19
|
}
|
|
@@ -62,7 +62,7 @@ class BaseCommand {
|
|
|
62
62
|
if (!this.requireAuth) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
const config = this.
|
|
65
|
+
const config = this.configManager.getConfig();
|
|
66
66
|
const hasTokens = !!(config.accessToken || config.idToken);
|
|
67
67
|
const hasDeviceCreds = !!(config.deviceId && config.devicePassword);
|
|
68
68
|
if (!hasTokens && !hasDeviceCreds) {
|
|
@@ -76,7 +76,7 @@ class BaseCommand {
|
|
|
76
76
|
if (!this.requireOrganization) {
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
const config = this.
|
|
79
|
+
const config = this.configManager.getConfig();
|
|
80
80
|
if (!config.organizationId) {
|
|
81
81
|
throw new Error('No organization found. Please login first.');
|
|
82
82
|
}
|
|
@@ -2,11 +2,7 @@
|
|
|
2
2
|
* Command wrapper utilities
|
|
3
3
|
* Provides helpers for wrapping commands with standardized error handling
|
|
4
4
|
*/
|
|
5
|
-
import { Logger } from '../../utils/logger';
|
|
6
|
-
import { ConfigRepository } from '../../repositories/config-repository';
|
|
7
5
|
export interface CommandWrapperOptions {
|
|
8
|
-
logger?: Logger;
|
|
9
|
-
configRepository?: ConfigRepository;
|
|
10
6
|
requireAuth?: boolean;
|
|
11
7
|
requireOrganization?: boolean;
|
|
12
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-wrapper.d.ts","sourceRoot":"","sources":["../../../src/commands/base/command-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"command-wrapper.d.ts","sourceRoot":"","sources":["../../../src/commands/base/command-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3D,cAAc,GAAE,qBAA0B,GACzC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CA8BrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3D,OAAO,GAAE,qBAA0B,GAClC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAW5C"}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.wrapCommand = wrapCommand;
|
|
8
8
|
exports.createCommandHandler = createCommandHandler;
|
|
9
9
|
const errors_1 = require("../../utils/errors");
|
|
10
|
+
const instances_1 = require("../../services/instances");
|
|
10
11
|
/**
|
|
11
12
|
* Wrap a command action with standardized error handling and validation
|
|
12
13
|
*/
|
|
@@ -14,21 +15,19 @@ function wrapCommand(action, wrapperOptions = {}) {
|
|
|
14
15
|
return async (options) => {
|
|
15
16
|
try {
|
|
16
17
|
// Validate context if required
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
throw new errors_1.ConfigError('Not authenticated. Please run "edgible login" first.');
|
|
25
|
-
}
|
|
18
|
+
const { requireAuth = false, requireOrganization = false } = wrapperOptions;
|
|
19
|
+
if (requireAuth) {
|
|
20
|
+
const config = instances_1.configManager.getConfig();
|
|
21
|
+
const hasTokens = !!(config.accessToken || config.idToken);
|
|
22
|
+
const hasDeviceCreds = !!(config.deviceId && config.devicePassword);
|
|
23
|
+
if (!hasTokens && !hasDeviceCreds) {
|
|
24
|
+
throw new errors_1.ConfigError('Not authenticated. Please run "edgible login" first.');
|
|
26
25
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
}
|
|
27
|
+
if (requireOrganization) {
|
|
28
|
+
const config = instances_1.configManager.getConfig();
|
|
29
|
+
if (!config.organizationId) {
|
|
30
|
+
throw new errors_1.ConfigError('No organization found. Please login first.');
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
// Execute the command
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { CommandContext, CommandMiddleware } from './CommandHandler';
|
|
5
5
|
import { Logger } from '../../utils/logger';
|
|
6
|
-
import {
|
|
6
|
+
import { ConfigManager } from '../../state/config';
|
|
7
7
|
/**
|
|
8
8
|
* Logging middleware - logs command execution
|
|
9
9
|
*/
|
|
@@ -16,10 +16,10 @@ export declare class LoggingMiddleware implements CommandMiddleware {
|
|
|
16
16
|
* Validation middleware - validates command context
|
|
17
17
|
*/
|
|
18
18
|
export declare class ValidationMiddleware implements CommandMiddleware {
|
|
19
|
-
private
|
|
19
|
+
private configManager;
|
|
20
20
|
private requireAuth;
|
|
21
21
|
private requireOrganization;
|
|
22
|
-
constructor(
|
|
22
|
+
constructor(configManager: ConfigManager, requireAuth?: boolean, requireOrganization?: boolean);
|
|
23
23
|
process(context: CommandContext, next: () => Promise<void>): Promise<void>;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/commands/base/middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/commands/base/middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IAC7C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE5B,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAejF;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAE1D,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,mBAAmB;gBAFnB,aAAa,EAAE,aAAa,EAC5B,WAAW,GAAE,OAAe,EAC5B,mBAAmB,GAAE,OAAe;IAGxC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBjF;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAGjD,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,SAAS,CAAS;gBAEN,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAa;IAIxD,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CASjF"}
|
|
@@ -32,14 +32,14 @@ exports.LoggingMiddleware = LoggingMiddleware;
|
|
|
32
32
|
* Validation middleware - validates command context
|
|
33
33
|
*/
|
|
34
34
|
class ValidationMiddleware {
|
|
35
|
-
constructor(
|
|
36
|
-
this.
|
|
35
|
+
constructor(configManager, requireAuth = false, requireOrganization = false) {
|
|
36
|
+
this.configManager = configManager;
|
|
37
37
|
this.requireAuth = requireAuth;
|
|
38
38
|
this.requireOrganization = requireOrganization;
|
|
39
39
|
}
|
|
40
40
|
async process(context, next) {
|
|
41
41
|
if (this.requireAuth) {
|
|
42
|
-
const config = this.
|
|
42
|
+
const config = this.configManager.getConfig();
|
|
43
43
|
const hasTokens = !!(config.accessToken || config.idToken);
|
|
44
44
|
const hasDeviceCreds = !!(config.deviceId && config.devicePassword);
|
|
45
45
|
if (!hasTokens && !hasDeviceCreds) {
|
|
@@ -47,7 +47,7 @@ class ValidationMiddleware {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
if (this.requireOrganization) {
|
|
50
|
-
const config = this.
|
|
50
|
+
const config = this.configManager.getConfig();
|
|
51
51
|
if (!config.organizationId) {
|
|
52
52
|
throw new Error('No organization found. Please login first.');
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqG1D"}
|
package/dist/commands/config.js
CHANGED
|
@@ -7,8 +7,7 @@ exports.setupConfigCommands = setupConfigCommands;
|
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const command_wrapper_1 = require("./base/command-wrapper");
|
|
10
|
-
const
|
|
11
|
-
const types_1 = require("../di/types");
|
|
10
|
+
const instances_1 = require("../services/instances");
|
|
12
11
|
const errors_1 = require("../utils/errors");
|
|
13
12
|
function setupConfigCommands(program) {
|
|
14
13
|
const configCommand = program
|
|
@@ -19,15 +18,12 @@ function setupConfigCommands(program) {
|
|
|
19
18
|
.description('Set a configuration value')
|
|
20
19
|
.action(async (key, value) => {
|
|
21
20
|
try {
|
|
22
|
-
const
|
|
23
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
24
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
25
|
-
const config = configRepository.getConfig();
|
|
21
|
+
const config = instances_1.configManager.getConfig();
|
|
26
22
|
if (!(key in config)) {
|
|
27
23
|
throw new Error(`Invalid config key: ${key}`);
|
|
28
24
|
}
|
|
29
|
-
|
|
30
|
-
logger.info('Configuration updated', { key, value });
|
|
25
|
+
instances_1.configManager.updateConfig({ [key]: value });
|
|
26
|
+
instances_1.logger.info('Configuration updated', { key, value });
|
|
31
27
|
console.log(chalk_1.default.green(`✓ ${key} has been set.`));
|
|
32
28
|
}
|
|
33
29
|
catch (error) {
|
|
@@ -39,10 +35,7 @@ function setupConfigCommands(program) {
|
|
|
39
35
|
.description('Get a configuration value')
|
|
40
36
|
.action(async (key) => {
|
|
41
37
|
try {
|
|
42
|
-
const
|
|
43
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
44
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
45
|
-
const config = configRepository.getConfig();
|
|
38
|
+
const config = instances_1.configManager.getConfig();
|
|
46
39
|
if (!(key in config)) {
|
|
47
40
|
throw new Error(`Invalid config key: ${key}`);
|
|
48
41
|
}
|
|
@@ -51,7 +44,7 @@ function setupConfigCommands(program) {
|
|
|
51
44
|
console.log(value);
|
|
52
45
|
}
|
|
53
46
|
else {
|
|
54
|
-
logger.debug('Configuration key not found', { key });
|
|
47
|
+
instances_1.logger.debug('Configuration key not found', { key });
|
|
55
48
|
console.log(chalk_1.default.yellow('⚠ Key not found.'));
|
|
56
49
|
}
|
|
57
50
|
}
|
|
@@ -64,27 +57,19 @@ function setupConfigCommands(program) {
|
|
|
64
57
|
.description('List all configuration values')
|
|
65
58
|
.alias('ls')
|
|
66
59
|
.action((0, command_wrapper_1.wrapCommand)(async () => {
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
70
|
-
const config = configRepository.getConfig();
|
|
71
|
-
logger.debug('Listing configuration');
|
|
60
|
+
const config = instances_1.configManager.getConfig();
|
|
61
|
+
instances_1.logger.debug('Listing configuration');
|
|
72
62
|
console.log(JSON.stringify(config, null, 2));
|
|
73
|
-
}, {
|
|
74
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
75
|
-
}));
|
|
63
|
+
}, {}));
|
|
76
64
|
configCommand
|
|
77
65
|
.command('reset')
|
|
78
66
|
.description('Reset the CLI configuration')
|
|
79
67
|
.option('--non-interactive', 'Run in non-interactive mode (skip confirmation)')
|
|
80
68
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
81
|
-
const container = (0, container_1.getContainer)();
|
|
82
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
83
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
84
69
|
if (options.nonInteractive) {
|
|
85
70
|
// Non-interactive mode: reset without confirmation
|
|
86
|
-
|
|
87
|
-
logger.info('Configuration reset (non-interactive)');
|
|
71
|
+
instances_1.configManager.clearConfig();
|
|
72
|
+
instances_1.logger.info('Configuration reset (non-interactive)');
|
|
88
73
|
console.log(chalk_1.default.green('✓ CLI state has been reset'));
|
|
89
74
|
console.log(chalk_1.default.gray('Run "edgible login" to start fresh'));
|
|
90
75
|
}
|
|
@@ -99,18 +84,16 @@ function setupConfigCommands(program) {
|
|
|
99
84
|
},
|
|
100
85
|
]);
|
|
101
86
|
if (confirm.reset) {
|
|
102
|
-
|
|
103
|
-
logger.info('Configuration reset (interactive)');
|
|
87
|
+
instances_1.configManager.clearConfig();
|
|
88
|
+
instances_1.logger.info('Configuration reset (interactive)');
|
|
104
89
|
console.log(chalk_1.default.green('✓ CLI state has been reset'));
|
|
105
90
|
console.log(chalk_1.default.gray('Run "edgible login" to start fresh'));
|
|
106
91
|
}
|
|
107
92
|
else {
|
|
108
|
-
logger.debug('Configuration reset cancelled');
|
|
93
|
+
instances_1.logger.debug('Configuration reset cancelled');
|
|
109
94
|
console.log(chalk_1.default.gray('Reset cancelled'));
|
|
110
95
|
}
|
|
111
96
|
}
|
|
112
|
-
}, {
|
|
113
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
114
|
-
}));
|
|
97
|
+
}, {}));
|
|
115
98
|
}
|
|
116
99
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../src/commands/connectivity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"connectivity.d.ts","sourceRoot":"","sources":["../../src/commands/connectivity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2DhE"}
|
|
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.setupConnectivityCommands = setupConnectivityCommands;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const command_wrapper_1 = require("./base/command-wrapper");
|
|
9
|
-
const
|
|
10
|
-
const types_1 = require("../di/types");
|
|
9
|
+
const instances_1 = require("../services/instances");
|
|
11
10
|
const input_parser_1 = require("./utils/input-parser");
|
|
12
11
|
function setupConnectivityCommands(program) {
|
|
13
12
|
const connectivityCommand = program
|
|
@@ -21,12 +20,10 @@ function setupConnectivityCommands(program) {
|
|
|
21
20
|
.option('-p, --port <port>', 'Port to test')
|
|
22
21
|
.option('-t, --timeout <timeout>', 'Timeout in milliseconds', '5000')
|
|
23
22
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
24
|
-
const
|
|
25
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
26
|
-
const connectivityTester = container.get(types_1.TYPES.ConnectivityTester);
|
|
23
|
+
const connectivityTester = (0, instances_1.createConnectivityTester)();
|
|
27
24
|
if (options.application) {
|
|
28
25
|
// Test specific application
|
|
29
|
-
logger.info('Testing connectivity for application', { applicationId: options.application });
|
|
26
|
+
instances_1.logger.info('Testing connectivity for application', { applicationId: options.application });
|
|
30
27
|
console.log(chalk_1.default.blue(`Testing connectivity for application: ${options.application}`));
|
|
31
28
|
// Get application details (this would need to be implemented)
|
|
32
29
|
console.log(chalk_1.default.yellow('Application testing not yet implemented'));
|
|
@@ -35,16 +32,16 @@ function setupConnectivityCommands(program) {
|
|
|
35
32
|
// Test specific host and port
|
|
36
33
|
const port = (0, input_parser_1.parsePort)(options.port);
|
|
37
34
|
const timeout = (0, input_parser_1.parseNumber)(options.timeout, 1, 60000) || 5000;
|
|
38
|
-
logger.info('Testing port connectivity', { host: options.host, port, timeout });
|
|
35
|
+
instances_1.logger.info('Testing port connectivity', { host: options.host, port, timeout });
|
|
39
36
|
console.log(chalk_1.default.blue(`Testing connectivity to ${options.host}:${port}`));
|
|
40
37
|
const result = await connectivityTester.testPortConnectivity(options.host, port, 'tcp', timeout);
|
|
41
38
|
if (result.success) {
|
|
42
|
-
logger.info('Connection successful', { latency: result.latency });
|
|
39
|
+
instances_1.logger.info('Connection successful', { latency: result.latency });
|
|
43
40
|
console.log(chalk_1.default.green('✓ Connection successful'));
|
|
44
41
|
console.log(chalk_1.default.white(` Latency: ${result.latency}ms`));
|
|
45
42
|
}
|
|
46
43
|
else {
|
|
47
|
-
logger.warn('Connection failed', { error: result.error });
|
|
44
|
+
instances_1.logger.warn('Connection failed', { error: result.error });
|
|
48
45
|
console.log(chalk_1.default.red('✗ Connection failed'));
|
|
49
46
|
console.log(chalk_1.default.red(` Error: ${result.error}`));
|
|
50
47
|
}
|
|
@@ -52,8 +49,6 @@ function setupConnectivityCommands(program) {
|
|
|
52
49
|
else {
|
|
53
50
|
throw new Error('Please provide either --application or --host and --port');
|
|
54
51
|
}
|
|
55
|
-
}, {
|
|
56
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
57
52
|
}));
|
|
58
53
|
}
|
|
59
54
|
//# sourceMappingURL=connectivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmiBzD"}
|