@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.
Files changed (221) hide show
  1. package/dist/commands/agent/agent-handlers.d.ts +45 -0
  2. package/dist/commands/agent/agent-handlers.d.ts.map +1 -0
  3. package/dist/commands/agent/agent-handlers.js +1159 -0
  4. package/dist/commands/agent/install.d.ts +11 -0
  5. package/dist/commands/agent/install.d.ts.map +1 -0
  6. package/dist/commands/agent/install.js +399 -0
  7. package/dist/commands/agent/logs.d.ts +12 -0
  8. package/dist/commands/agent/logs.d.ts.map +1 -0
  9. package/dist/commands/agent/logs.js +77 -0
  10. package/dist/commands/agent/restart.d.ts +4 -0
  11. package/dist/commands/agent/restart.d.ts.map +1 -0
  12. package/dist/commands/agent/restart.js +33 -0
  13. package/dist/commands/agent/set-log-level.d.ts +8 -0
  14. package/dist/commands/agent/set-log-level.d.ts.map +1 -0
  15. package/dist/commands/agent/set-log-level.js +133 -0
  16. package/dist/commands/agent/setup.d.ts +9 -0
  17. package/dist/commands/agent/setup.d.ts.map +1 -0
  18. package/dist/commands/agent/setup.js +149 -0
  19. package/dist/commands/agent/start.d.ts +12 -0
  20. package/dist/commands/agent/start.d.ts.map +1 -0
  21. package/dist/commands/agent/start.js +308 -0
  22. package/dist/commands/agent/status.d.ts +7 -0
  23. package/dist/commands/agent/status.d.ts.map +1 -0
  24. package/dist/commands/agent/status.js +68 -0
  25. package/dist/commands/agent/stop.d.ts +4 -0
  26. package/dist/commands/agent/stop.d.ts.map +1 -0
  27. package/dist/commands/agent/stop.js +33 -0
  28. package/dist/commands/agent/uninstall.d.ts +7 -0
  29. package/dist/commands/agent/uninstall.d.ts.map +1 -0
  30. package/dist/commands/agent/uninstall.js +168 -0
  31. package/dist/commands/agent.d.ts.map +1 -1
  32. package/dist/commands/agent.js +24 -1190
  33. package/dist/commands/ai/helpers.d.ts +139 -0
  34. package/dist/commands/ai/helpers.d.ts.map +1 -0
  35. package/dist/commands/ai/helpers.js +1470 -0
  36. package/dist/commands/ai/serve.d.ts +6 -0
  37. package/dist/commands/ai/serve.d.ts.map +1 -0
  38. package/dist/commands/ai/serve.js +124 -0
  39. package/dist/commands/ai/setup.d.ts +14 -0
  40. package/dist/commands/ai/setup.d.ts.map +1 -0
  41. package/dist/commands/ai/setup.js +86 -0
  42. package/dist/commands/ai/status.d.ts +2 -0
  43. package/dist/commands/ai/status.d.ts.map +1 -0
  44. package/dist/commands/ai/status.js +160 -0
  45. package/dist/commands/ai/stop.d.ts +2 -0
  46. package/dist/commands/ai/stop.d.ts.map +1 -0
  47. package/dist/commands/ai/stop.js +21 -0
  48. package/dist/commands/ai/teardown.d.ts +5 -0
  49. package/dist/commands/ai/teardown.d.ts.map +1 -0
  50. package/dist/commands/ai/teardown.js +78 -0
  51. package/dist/commands/ai/test.d.ts +4 -0
  52. package/dist/commands/ai/test.d.ts.map +1 -0
  53. package/dist/commands/ai/test.js +65 -0
  54. package/dist/commands/ai.d.ts.map +1 -1
  55. package/dist/commands/ai.js +16 -1938
  56. package/dist/commands/application/api-keys/create.d.ts +6 -0
  57. package/dist/commands/application/api-keys/create.d.ts.map +1 -0
  58. package/dist/commands/application/api-keys/create.js +68 -0
  59. package/dist/commands/application/api-keys/delete.d.ts +6 -0
  60. package/dist/commands/application/api-keys/delete.d.ts.map +1 -0
  61. package/dist/commands/application/api-keys/delete.js +79 -0
  62. package/dist/commands/application/api-keys/list.d.ts +5 -0
  63. package/dist/commands/application/api-keys/list.d.ts.map +1 -0
  64. package/dist/commands/application/api-keys/list.js +65 -0
  65. package/dist/commands/application/api-keys.d.ts +3 -0
  66. package/dist/commands/application/api-keys.d.ts.map +1 -0
  67. package/dist/commands/application/api-keys.js +227 -0
  68. package/dist/commands/application/create-compose.d.ts +3 -0
  69. package/dist/commands/application/create-compose.d.ts.map +1 -0
  70. package/dist/commands/application/create-compose.js +381 -0
  71. package/dist/commands/application/create-docker-compose.d.ts +10 -0
  72. package/dist/commands/application/create-docker-compose.d.ts.map +1 -0
  73. package/dist/commands/application/create-docker-compose.js +334 -0
  74. package/dist/commands/application/create-existing.d.ts +14 -0
  75. package/dist/commands/application/create-existing.d.ts.map +1 -0
  76. package/dist/commands/application/create-existing.js +359 -0
  77. package/dist/commands/application/create-interactive.d.ts +3 -0
  78. package/dist/commands/application/create-interactive.d.ts.map +1 -0
  79. package/dist/commands/application/create-interactive.js +326 -0
  80. package/dist/commands/application/create-managed-process.d.ts +15 -0
  81. package/dist/commands/application/create-managed-process.d.ts.map +1 -0
  82. package/dist/commands/application/create-managed-process.js +371 -0
  83. package/dist/commands/application/create-stubs.d.ts +4 -0
  84. package/dist/commands/application/create-stubs.d.ts.map +1 -0
  85. package/dist/commands/application/create-stubs.js +19 -0
  86. package/dist/commands/application/create-workload.d.ts +5 -0
  87. package/dist/commands/application/create-workload.d.ts.map +1 -0
  88. package/dist/commands/application/create-workload.js +48 -0
  89. package/dist/commands/application/delete.d.ts +6 -0
  90. package/dist/commands/application/delete.d.ts.map +1 -0
  91. package/dist/commands/application/delete.js +76 -0
  92. package/dist/commands/application/get.d.ts +5 -0
  93. package/dist/commands/application/get.d.ts.map +1 -0
  94. package/dist/commands/application/get.js +35 -0
  95. package/dist/commands/application/list.d.ts +4 -0
  96. package/dist/commands/application/list.d.ts.map +1 -0
  97. package/dist/commands/application/list.js +41 -0
  98. package/dist/commands/application/short-codes/create.d.ts +7 -0
  99. package/dist/commands/application/short-codes/create.d.ts.map +1 -0
  100. package/dist/commands/application/short-codes/create.js +69 -0
  101. package/dist/commands/application/short-codes/delete.d.ts +6 -0
  102. package/dist/commands/application/short-codes/delete.d.ts.map +1 -0
  103. package/dist/commands/application/short-codes/delete.js +79 -0
  104. package/dist/commands/application/short-codes/list.d.ts +5 -0
  105. package/dist/commands/application/short-codes/list.d.ts.map +1 -0
  106. package/dist/commands/application/short-codes/list.js +63 -0
  107. package/dist/commands/application/short-codes/toggle.d.ts +5 -0
  108. package/dist/commands/application/short-codes/toggle.d.ts.map +1 -0
  109. package/dist/commands/application/short-codes/toggle.js +71 -0
  110. package/dist/commands/application/short-codes.d.ts +3 -0
  111. package/dist/commands/application/short-codes.d.ts.map +1 -0
  112. package/dist/commands/application/short-codes.js +226 -0
  113. package/dist/commands/application/toggle.d.ts +2 -0
  114. package/dist/commands/application/toggle.d.ts.map +1 -0
  115. package/dist/commands/application/toggle.js +78 -0
  116. package/dist/commands/application/update.d.ts +4 -0
  117. package/dist/commands/application/update.d.ts.map +1 -0
  118. package/dist/commands/application/update.js +11 -0
  119. package/dist/commands/application.d.ts.map +1 -1
  120. package/dist/commands/application.js +32 -1630
  121. package/dist/commands/auth.d.ts.map +1 -1
  122. package/dist/commands/auth.js +31 -49
  123. package/dist/commands/base/BaseCommand.d.ts +3 -3
  124. package/dist/commands/base/BaseCommand.d.ts.map +1 -1
  125. package/dist/commands/base/BaseCommand.js +3 -3
  126. package/dist/commands/base/command-wrapper.d.ts +0 -4
  127. package/dist/commands/base/command-wrapper.d.ts.map +1 -1
  128. package/dist/commands/base/command-wrapper.js +13 -14
  129. package/dist/commands/base/middleware.d.ts +3 -3
  130. package/dist/commands/base/middleware.d.ts.map +1 -1
  131. package/dist/commands/base/middleware.js +4 -4
  132. package/dist/commands/config.d.ts.map +1 -1
  133. package/dist/commands/config.js +15 -32
  134. package/dist/commands/connectivity.d.ts.map +1 -1
  135. package/dist/commands/connectivity.js +6 -11
  136. package/dist/commands/debug.d.ts.map +1 -1
  137. package/dist/commands/debug.js +187 -46
  138. package/dist/commands/discover.d.ts.map +1 -1
  139. package/dist/commands/discover.js +4 -17
  140. package/dist/commands/gateway.d.ts.map +1 -1
  141. package/dist/commands/gateway.js +37 -77
  142. package/dist/commands/managedGateway/create.d.ts +6 -0
  143. package/dist/commands/managedGateway/create.d.ts.map +1 -0
  144. package/dist/commands/managedGateway/create.js +50 -0
  145. package/dist/commands/managedGateway/delete.d.ts +5 -0
  146. package/dist/commands/managedGateway/delete.d.ts.map +1 -0
  147. package/dist/commands/managedGateway/delete.js +57 -0
  148. package/dist/commands/managedGateway/get.d.ts +4 -0
  149. package/dist/commands/managedGateway/get.d.ts.map +1 -0
  150. package/dist/commands/managedGateway/get.js +71 -0
  151. package/dist/commands/managedGateway/haproxy-stats.d.ts +6 -0
  152. package/dist/commands/managedGateway/haproxy-stats.d.ts.map +1 -0
  153. package/dist/commands/managedGateway/haproxy-stats.js +131 -0
  154. package/dist/commands/managedGateway/list.d.ts +4 -0
  155. package/dist/commands/managedGateway/list.d.ts.map +1 -0
  156. package/dist/commands/managedGateway/list.js +50 -0
  157. package/dist/commands/managedGateway/logs.d.ts +10 -0
  158. package/dist/commands/managedGateway/logs.d.ts.map +1 -0
  159. package/dist/commands/managedGateway/logs.js +100 -0
  160. package/dist/commands/managedGateway/reboot.d.ts +5 -0
  161. package/dist/commands/managedGateway/reboot.d.ts.map +1 -0
  162. package/dist/commands/managedGateway/reboot.js +95 -0
  163. package/dist/commands/managedGateway/resync.d.ts +10 -0
  164. package/dist/commands/managedGateway/resync.d.ts.map +1 -0
  165. package/dist/commands/managedGateway/resync.js +69 -0
  166. package/dist/commands/managedGateway/ssh.d.ts +4 -0
  167. package/dist/commands/managedGateway/ssh.d.ts.map +1 -0
  168. package/dist/commands/managedGateway/ssh.js +130 -0
  169. package/dist/commands/managedGateway/wipe-logs.d.ts +4 -0
  170. package/dist/commands/managedGateway/wipe-logs.d.ts.map +1 -0
  171. package/dist/commands/managedGateway/wipe-logs.js +67 -0
  172. package/dist/commands/managedGateway/wireguard.d.ts +4 -0
  173. package/dist/commands/managedGateway/wireguard.d.ts.map +1 -0
  174. package/dist/commands/managedGateway/wireguard.js +68 -0
  175. package/dist/commands/managedGateway.d.ts.map +1 -1
  176. package/dist/commands/managedGateway.js +61 -117
  177. package/dist/commands/utils/config-validator.d.ts +5 -5
  178. package/dist/commands/utils/config-validator.d.ts.map +1 -1
  179. package/dist/commands/utils/config-validator.js +8 -8
  180. package/dist/commands/utils/output-formatter.js +1 -1
  181. package/dist/config/app-config.d.ts +1 -1
  182. package/dist/config/app-config.js +2 -2
  183. package/dist/index.js +0 -3
  184. package/dist/services/LocalAgentManager.d.ts.map +1 -1
  185. package/dist/services/LocalAgentManager.js +4 -2
  186. package/dist/services/agentDeployment/AgentDeploymentService.d.ts +35 -0
  187. package/dist/services/agentDeployment/AgentDeploymentService.d.ts.map +1 -0
  188. package/dist/services/agentDeployment/AgentDeploymentService.js +35 -0
  189. package/dist/services/application/ApplicationService.d.ts +5 -4
  190. package/dist/services/application/ApplicationService.d.ts.map +1 -1
  191. package/dist/services/application/ApplicationService.js +22 -35
  192. package/dist/services/auth/AuthService.d.ts +5 -5
  193. package/dist/services/auth/AuthService.d.ts.map +1 -1
  194. package/dist/services/auth/AuthService.js +11 -58
  195. package/dist/services/daemon/DaemonManagerFactory.d.ts +2 -0
  196. package/dist/services/daemon/DaemonManagerFactory.d.ts.map +1 -1
  197. package/dist/services/daemon/DaemonManagerFactory.js +14 -6
  198. package/dist/services/diagnostics/DiagnosticsService.d.ts +89 -0
  199. package/dist/services/diagnostics/DiagnosticsService.d.ts.map +1 -0
  200. package/dist/services/diagnostics/DiagnosticsService.js +37 -0
  201. package/dist/services/edgible.d.ts +6 -4
  202. package/dist/services/edgible.d.ts.map +1 -1
  203. package/dist/services/edgible.js +36 -86
  204. package/dist/services/gateway/GatewayService.d.ts +5 -6
  205. package/dist/services/gateway/GatewayService.d.ts.map +1 -1
  206. package/dist/services/gateway/GatewayService.js +22 -36
  207. package/dist/services/instances.d.ts +34 -0
  208. package/dist/services/instances.d.ts.map +1 -0
  209. package/dist/services/instances.js +64 -0
  210. package/dist/services/managedGateway/ManagedGatewayService.d.ts +75 -0
  211. package/dist/services/managedGateway/ManagedGatewayService.d.ts.map +1 -0
  212. package/dist/services/managedGateway/ManagedGatewayService.js +44 -0
  213. package/dist/services/token/TokenManager.d.ts +56 -0
  214. package/dist/services/token/TokenManager.d.ts.map +1 -0
  215. package/dist/services/token/TokenManager.js +85 -0
  216. package/dist/types/validation/schemas.d.ts +22 -22
  217. package/dist/utils/PlatformDetector.d.ts +2 -0
  218. package/dist/utils/PlatformDetector.d.ts.map +1 -1
  219. package/dist/utils/PlatformDetector.js +5 -34
  220. package/dist/validation/schemas.d.ts +6 -6
  221. 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;AAepC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyNxD"}
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"}
@@ -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 container_1 = require("../di/container");
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 container = (0, container_1.getContainer)();
69
- const logger = container.get(types_1.TYPES.Logger);
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(configRepository, authService, savedEmail, isFirstRun, options, logger);
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
- configRepository.updateConfig({
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(configRepository, authService, savedEmail, isFirstRun, logger);
106
+ await handleUserLogin(instances_1.configManager, instances_1.authService, savedEmail, isFirstRun, instances_1.logger);
112
107
  }
113
108
  else {
114
- await handleDeviceLogin(configRepository, authService, savedEmail, isFirstRun, {}, logger);
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
- const container = (0, container_1.getContainer)();
124
- const logger = container.get(types_1.TYPES.Logger);
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 container = (0, container_1.getContainer)();
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
- configRepository.updateConfig({ organizationId: selectedOrgId });
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(configRepository, authService, savedEmail, isFirstRun, logger) {
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
- configRepository.setEmail(email);
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
- configRepository.updateConfig({ organizationId: standardOrgs[0].organizationId });
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
- configRepository.setAccountStatus(true);
323
- configRepository.setFirstRunComplete();
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
- configRepository.setAccountStatus(false);
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
- configRepository.setFirstRunComplete();
342
+ configManager.setFirstRunComplete();
361
343
  }
362
344
  }
363
- async function handleDeviceLogin(configRepository, authService, savedEmail, isFirstRun, options, logger) {
345
+ async function handleDeviceLogin(configManager, authService, savedEmail, isFirstRun, options, logger) {
364
346
  if (options.deviceName && options.email) {
365
- await handleDeviceLoginNonInteractive(configRepository, authService, options.deviceName, (options.deviceType || 'serving'), options.email, options.password, logger);
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
- configRepository.updateConfig({
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
- configRepository.setFirstRunComplete();
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(configRepository, authService, deviceName, deviceType, userEmail, password, logger) {
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
- configRepository.updateConfig({
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
- configRepository.setFirstRunComplete();
535
+ configManager.setFirstRunComplete();
554
536
  // Output credentials in a format that can be easily parsed by scripts
555
- const container = (0, container_1.getContainer)();
556
- const appConfig = container.get(types_1.TYPES.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 { ConfigRepository } from '../../repositories/config-repository';
7
+ import { ConfigManager } from '../../state/config';
8
8
  export interface BaseCommandOptions {
9
9
  logger: Logger;
10
- configRepository: ConfigRepository;
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 configRepository: ConfigRepository;
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,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,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,gBAAgB,EAAE,gBAAgB,CAAC;IAC7C,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"}
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.configRepository = options.configRepository;
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.configRepository.getConfig();
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.configRepository.getConfig();
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;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;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,CAgCrD;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"}
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
- if (wrapperOptions.configRepository) {
18
- const { requireAuth = false, requireOrganization = false } = wrapperOptions;
19
- if (requireAuth) {
20
- const config = wrapperOptions.configRepository.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.');
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
- if (requireOrganization) {
28
- const config = wrapperOptions.configRepository.getConfig();
29
- if (!config.organizationId) {
30
- throw new errors_1.ConfigError('No organization found. Please login first.');
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 { ConfigRepository } from '../../repositories/config-repository';
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 configRepository;
19
+ private configManager;
20
20
  private requireAuth;
21
21
  private requireOrganization;
22
- constructor(configRepository: ConfigRepository, requireAuth?: boolean, requireOrganization?: boolean);
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,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;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,gBAAgB;IACxB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,mBAAmB;gBAFnB,gBAAgB,EAAE,gBAAgB,EAClC,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"}
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(configRepository, requireAuth = false, requireOrganization = false) {
36
- this.configRepository = configRepository;
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.configRepository.getConfig();
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.configRepository.getConfig();
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;AAapC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqH1D"}
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"}
@@ -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 container_1 = require("../di/container");
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 container = (0, container_1.getContainer)();
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
- configRepository.updateConfig({ [key]: value });
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 container = (0, container_1.getContainer)();
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 container = (0, container_1.getContainer)();
68
- const logger = container.get(types_1.TYPES.Logger);
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
- configRepository.clearConfig();
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
- configRepository.clearConfig();
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;AAUpC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgEhE"}
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 container_1 = require("../di/container");
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 container = (0, container_1.getContainer)();
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;AAapC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+bzD"}
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"}