@edgible-team/cli 1.2.13 → 1.2.17

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 (219) hide show
  1. package/README.md +5 -3
  2. package/dist/client/api-client.d.ts +13 -1
  3. package/dist/client/api-client.d.ts.map +1 -1
  4. package/dist/client/api-client.js +19 -0
  5. package/dist/commands/agent/install.d.ts +2 -1
  6. package/dist/commands/agent/install.d.ts.map +1 -1
  7. package/dist/commands/agent/install.js +24 -7
  8. package/dist/commands/agent/start.d.ts +5 -1
  9. package/dist/commands/agent/start.d.ts.map +1 -1
  10. package/dist/commands/agent/start.js +19 -280
  11. package/dist/commands/agent/uninstall.d.ts.map +1 -1
  12. package/dist/commands/agent/uninstall.js +14 -7
  13. package/dist/commands/agent.d.ts.map +1 -1
  14. package/dist/commands/agent.js +3 -2
  15. package/dist/commands/ai/setup.d.ts +1 -1
  16. package/dist/commands/ai/setup.d.ts.map +1 -1
  17. package/dist/commands/ai.js +1 -1
  18. package/dist/commands/application/create-docker-compose.d.ts +3 -1
  19. package/dist/commands/application/create-docker-compose.d.ts.map +1 -1
  20. package/dist/commands/application/create-docker-compose.js +25 -69
  21. package/dist/commands/application/create-existing.d.ts +2 -2
  22. package/dist/commands/application/create-existing.d.ts.map +1 -1
  23. package/dist/commands/application/create-existing.js +27 -132
  24. package/dist/commands/application/create-managed-process.d.ts +3 -1
  25. package/dist/commands/application/create-managed-process.d.ts.map +1 -1
  26. package/dist/commands/application/create-managed-process.js +31 -75
  27. package/dist/commands/application/delete.d.ts +2 -1
  28. package/dist/commands/application/delete.d.ts.map +1 -1
  29. package/dist/commands/application/delete.js +19 -5
  30. package/dist/commands/application/update.d.ts +3 -0
  31. package/dist/commands/application/update.d.ts.map +1 -1
  32. package/dist/commands/application/update.js +45 -1
  33. package/dist/commands/application.d.ts.map +1 -1
  34. package/dist/commands/application.js +33 -19
  35. package/dist/commands/auth.d.ts.map +1 -1
  36. package/dist/commands/auth.js +44 -0
  37. package/dist/commands/debug.js +1 -1
  38. package/dist/commands/device/application-health.d.ts +7 -0
  39. package/dist/commands/device/application-health.d.ts.map +1 -0
  40. package/dist/commands/device/application-health.js +103 -0
  41. package/dist/commands/device/delete.d.ts +7 -0
  42. package/dist/commands/device/delete.d.ts.map +1 -0
  43. package/dist/commands/device/delete.js +69 -0
  44. package/dist/commands/device/health.d.ts +7 -0
  45. package/dist/commands/device/health.d.ts.map +1 -0
  46. package/dist/commands/device/health.js +78 -0
  47. package/dist/commands/device/list.d.ts +5 -0
  48. package/dist/commands/device/list.d.ts.map +1 -0
  49. package/dist/commands/device/list.js +46 -0
  50. package/dist/commands/device/telemetry.d.ts +8 -0
  51. package/dist/commands/device/telemetry.d.ts.map +1 -0
  52. package/dist/commands/device/telemetry.js +59 -0
  53. package/dist/commands/device.d.ts +6 -0
  54. package/dist/commands/device.d.ts.map +1 -0
  55. package/dist/commands/device.js +86 -0
  56. package/dist/commands/stack/deploy.d.ts +8 -0
  57. package/dist/commands/stack/deploy.d.ts.map +1 -0
  58. package/dist/commands/stack/deploy.js +61 -0
  59. package/dist/commands/stack/diff.d.ts +7 -0
  60. package/dist/commands/stack/diff.d.ts.map +1 -0
  61. package/dist/commands/stack/diff.js +66 -0
  62. package/dist/commands/stack/status.d.ts +9 -0
  63. package/dist/commands/stack/status.d.ts.map +1 -0
  64. package/dist/commands/stack/status.js +55 -0
  65. package/dist/commands/stack/teardown.d.ts +8 -0
  66. package/dist/commands/stack/teardown.d.ts.map +1 -0
  67. package/dist/commands/stack/teardown.js +107 -0
  68. package/dist/commands/stack/validate.d.ts +7 -0
  69. package/dist/commands/stack/validate.d.ts.map +1 -0
  70. package/dist/commands/stack/validate.js +44 -0
  71. package/dist/commands/stack.d.ts +10 -0
  72. package/dist/commands/stack.d.ts.map +1 -0
  73. package/dist/commands/stack.js +117 -0
  74. package/dist/commands/utils/auth-prompt.d.ts +25 -0
  75. package/dist/commands/utils/auth-prompt.d.ts.map +1 -0
  76. package/dist/commands/utils/auth-prompt.js +115 -0
  77. package/dist/commands/utils/device-prompt.d.ts +18 -0
  78. package/dist/commands/utils/device-prompt.d.ts.map +1 -0
  79. package/dist/commands/utils/device-prompt.js +58 -0
  80. package/dist/commands/utils/output-formatter.d.ts +13 -0
  81. package/dist/commands/utils/output-formatter.d.ts.map +1 -1
  82. package/dist/commands/utils/output-formatter.js +21 -0
  83. package/dist/index.js +4 -0
  84. package/dist/services/LocalAgentManager.d.ts +2 -1
  85. package/dist/services/LocalAgentManager.d.ts.map +1 -1
  86. package/dist/services/LocalAgentManager.js +6 -4
  87. package/dist/services/application/ApplicationService.d.ts +19 -0
  88. package/dist/services/application/ApplicationService.d.ts.map +1 -1
  89. package/dist/services/application/ApplicationService.js +14 -1
  90. package/dist/services/device/DeviceService.d.ts +62 -0
  91. package/dist/services/device/DeviceService.d.ts.map +1 -0
  92. package/dist/services/device/DeviceService.js +235 -0
  93. package/dist/services/edgible.d.ts +3 -1
  94. package/dist/services/edgible.d.ts.map +1 -1
  95. package/dist/services/edgible.js +5 -4
  96. package/dist/services/instances.d.ts +27 -1
  97. package/dist/services/instances.d.ts.map +1 -1
  98. package/dist/services/instances.js +53 -4
  99. package/dist/services/stack/DependencyGraphManager.d.ts +69 -0
  100. package/dist/services/stack/DependencyGraphManager.d.ts.map +1 -0
  101. package/dist/services/stack/DependencyGraphManager.js +204 -0
  102. package/dist/services/stack/DeviceResolver.d.ts +63 -0
  103. package/dist/services/stack/DeviceResolver.d.ts.map +1 -0
  104. package/dist/services/stack/DeviceResolver.js +147 -0
  105. package/dist/services/stack/GatewayResolver.d.ts +84 -0
  106. package/dist/services/stack/GatewayResolver.d.ts.map +1 -0
  107. package/dist/services/stack/GatewayResolver.js +179 -0
  108. package/dist/services/stack/StackParser.d.ts +38 -0
  109. package/dist/services/stack/StackParser.d.ts.map +1 -0
  110. package/dist/services/stack/StackParser.js +234 -0
  111. package/dist/services/stack/StackService.d.ts +76 -0
  112. package/dist/services/stack/StackService.d.ts.map +1 -0
  113. package/dist/services/stack/StackService.js +476 -0
  114. package/dist/types/AgentConfig.d.ts +26 -0
  115. package/dist/types/AgentConfig.d.ts.map +1 -1
  116. package/dist/types/ApiRequests.d.ts +5 -1
  117. package/dist/types/ApiRequests.d.ts.map +1 -1
  118. package/dist/types/ApiResponses.d.ts +5 -0
  119. package/dist/types/ApiResponses.d.ts.map +1 -1
  120. package/dist/types/JobTypes.d.ts +103 -0
  121. package/dist/types/JobTypes.d.ts.map +1 -0
  122. package/dist/types/JobTypes.js +80 -0
  123. package/dist/types/WebSocketMessages.d.ts +89 -0
  124. package/dist/types/WebSocketMessages.d.ts.map +1 -0
  125. package/dist/types/WebSocketMessages.js +5 -0
  126. package/dist/types/backendJobs.d.ts +102 -0
  127. package/dist/types/backendJobs.d.ts.map +1 -0
  128. package/dist/types/backendJobs.js +5 -0
  129. package/dist/types/models/ApplicationData.d.ts +1 -1
  130. package/dist/types/models/ApplicationData.d.ts.map +1 -1
  131. package/dist/types/models/DeviceData.d.ts +4 -0
  132. package/dist/types/models/DeviceData.d.ts.map +1 -1
  133. package/dist/types/stack.d.ts +191 -0
  134. package/dist/types/stack.d.ts.map +1 -0
  135. package/dist/types/stack.js +5 -0
  136. package/dist/types/validation/schemas.d.ts +20 -20
  137. package/dist/types/validation/schemas.js +1 -1
  138. package/dist/utils/stack-errors.d.ts +103 -0
  139. package/dist/utils/stack-errors.d.ts.map +1 -0
  140. package/dist/utils/stack-errors.js +158 -0
  141. package/dist/utils/stack-file.d.ts +11 -0
  142. package/dist/utils/stack-file.d.ts.map +1 -0
  143. package/dist/utils/stack-file.js +66 -0
  144. package/dist/validation/stack-schemas.d.ts +535 -0
  145. package/dist/validation/stack-schemas.d.ts.map +1 -0
  146. package/dist/validation/stack-schemas.js +178 -0
  147. package/package.json +4 -2
  148. package/dist/commands/agent/agent-handlers.d.ts +0 -45
  149. package/dist/commands/agent/agent-handlers.d.ts.map +0 -1
  150. package/dist/commands/agent/agent-handlers.js +0 -1159
  151. package/dist/commands/application/api-keys.d.ts +0 -3
  152. package/dist/commands/application/api-keys.d.ts.map +0 -1
  153. package/dist/commands/application/api-keys.js +0 -227
  154. package/dist/commands/application/create-compose.d.ts +0 -3
  155. package/dist/commands/application/create-compose.d.ts.map +0 -1
  156. package/dist/commands/application/create-compose.js +0 -381
  157. package/dist/commands/application/create-interactive.d.ts +0 -3
  158. package/dist/commands/application/create-interactive.d.ts.map +0 -1
  159. package/dist/commands/application/create-interactive.js +0 -326
  160. package/dist/commands/application/create-workload.d.ts +0 -5
  161. package/dist/commands/application/create-workload.d.ts.map +0 -1
  162. package/dist/commands/application/create-workload.js +0 -48
  163. package/dist/commands/application/short-codes.d.ts +0 -3
  164. package/dist/commands/application/short-codes.d.ts.map +0 -1
  165. package/dist/commands/application/short-codes.js +0 -226
  166. package/dist/commands/application/toggle.d.ts +0 -2
  167. package/dist/commands/application/toggle.d.ts.map +0 -1
  168. package/dist/commands/application/toggle.js +0 -78
  169. package/dist/commands/examples/migrated-command-example.d.ts +0 -31
  170. package/dist/commands/examples/migrated-command-example.d.ts.map +0 -1
  171. package/dist/commands/examples/migrated-command-example.js +0 -180
  172. package/dist/commands/managedGateway/create.d.ts +0 -6
  173. package/dist/commands/managedGateway/create.d.ts.map +0 -1
  174. package/dist/commands/managedGateway/create.js +0 -50
  175. package/dist/commands/managedGateway/delete.d.ts +0 -5
  176. package/dist/commands/managedGateway/delete.d.ts.map +0 -1
  177. package/dist/commands/managedGateway/delete.js +0 -57
  178. package/dist/commands/managedGateway/get.d.ts +0 -4
  179. package/dist/commands/managedGateway/get.d.ts.map +0 -1
  180. package/dist/commands/managedGateway/get.js +0 -71
  181. package/dist/commands/managedGateway/haproxy-stats.d.ts +0 -6
  182. package/dist/commands/managedGateway/haproxy-stats.d.ts.map +0 -1
  183. package/dist/commands/managedGateway/haproxy-stats.js +0 -131
  184. package/dist/commands/managedGateway/list.d.ts +0 -4
  185. package/dist/commands/managedGateway/list.d.ts.map +0 -1
  186. package/dist/commands/managedGateway/list.js +0 -50
  187. package/dist/commands/managedGateway/logs.d.ts +0 -10
  188. package/dist/commands/managedGateway/logs.d.ts.map +0 -1
  189. package/dist/commands/managedGateway/logs.js +0 -100
  190. package/dist/commands/managedGateway/reboot.d.ts +0 -5
  191. package/dist/commands/managedGateway/reboot.d.ts.map +0 -1
  192. package/dist/commands/managedGateway/reboot.js +0 -95
  193. package/dist/commands/managedGateway/resync.d.ts +0 -10
  194. package/dist/commands/managedGateway/resync.d.ts.map +0 -1
  195. package/dist/commands/managedGateway/resync.js +0 -69
  196. package/dist/commands/managedGateway/ssh.d.ts +0 -4
  197. package/dist/commands/managedGateway/ssh.d.ts.map +0 -1
  198. package/dist/commands/managedGateway/ssh.js +0 -130
  199. package/dist/commands/managedGateway/wipe-logs.d.ts +0 -4
  200. package/dist/commands/managedGateway/wipe-logs.d.ts.map +0 -1
  201. package/dist/commands/managedGateway/wipe-logs.js +0 -67
  202. package/dist/commands/managedGateway/wireguard.d.ts +0 -4
  203. package/dist/commands/managedGateway/wireguard.d.ts.map +0 -1
  204. package/dist/commands/managedGateway/wireguard.js +0 -68
  205. package/dist/di/bindings.d.ts +0 -15
  206. package/dist/di/bindings.d.ts.map +0 -1
  207. package/dist/di/bindings.js +0 -99
  208. package/dist/di/container.d.ts +0 -44
  209. package/dist/di/container.d.ts.map +0 -1
  210. package/dist/di/container.js +0 -88
  211. package/dist/di/types.d.ts +0 -23
  212. package/dist/di/types.d.ts.map +0 -1
  213. package/dist/di/types.js +0 -32
  214. package/dist/repositories/config-repository.d.ts +0 -46
  215. package/dist/repositories/config-repository.d.ts.map +0 -1
  216. package/dist/repositories/config-repository.js +0 -62
  217. package/dist/repositories/gateway-repository.d.ts +0 -37
  218. package/dist/repositories/gateway-repository.d.ts.map +0 -1
  219. package/dist/repositories/gateway-repository.js +0 -35
@@ -55,11 +55,12 @@ const writeFile = (0, util_1.promisify)(fs.writeFile);
55
55
  const readFile = (0, util_1.promisify)(fs.readFile);
56
56
  const mkdir = (0, util_1.promisify)(fs.mkdir);
57
57
  class LocalAgentManager {
58
- constructor() {
58
+ constructor(configManager) {
59
59
  this.agentProcess = null;
60
+ // Use provided configManager or create a new one (for backwards compatibility)
61
+ this.configManager = configManager || new config_1.ConfigManager();
60
62
  // Get user config to determine installation type
61
- const tempConfigManager = new config_1.ConfigManager();
62
- const userConfig = tempConfigManager.getConfig();
63
+ const userConfig = this.configManager.getConfig();
63
64
  // Resolve agent config path based on installation type
64
65
  this.configPath = PathResolver_1.PathResolver.resolveAgentConfigPath(userConfig.agentInstallationType);
65
66
  // Check for the actual agent binary location
@@ -71,7 +72,6 @@ class LocalAgentManager {
71
72
  this.agentPath = possibleAgentPaths.find(p => fs.existsSync(p)) || possibleAgentPaths[0];
72
73
  this.serviceName = 'edgible-agent';
73
74
  this.statePath = path.join(this.configPath, 'state.json');
74
- this.configManager = new config_1.ConfigManager();
75
75
  this.statusManager = new AgentStatusManager_1.AgentStatusManager();
76
76
  }
77
77
  /**
@@ -91,6 +91,7 @@ class LocalAgentManager {
91
91
  devicePassword: cliConfig.devicePassword,
92
92
  deviceType: cliConfig.deviceType || 'serving',
93
93
  apiBaseUrl: (0, urls_1.getApiBaseUrl)(),
94
+ stage: (0, urls_1.getStage)(),
94
95
  organizationId: cliConfig.organizationId,
95
96
  firewallEnabled: true,
96
97
  pollingInterval: 60000,
@@ -1484,6 +1485,7 @@ class LocalAgentManager {
1484
1485
  devicePassword: cliConfig.devicePassword || 'edgible-password-' + Math.random().toString(36).substr(2, 9),
1485
1486
  deviceType: cliConfig.deviceType || 'serving',
1486
1487
  apiBaseUrl: (0, urls_1.getApiBaseUrl)(),
1488
+ stage: (0, urls_1.getStage)(),
1487
1489
  firewallEnabled: true,
1488
1490
  pollingInterval: 60000,
1489
1491
  healthCheckTimeout: 5000,
@@ -36,6 +36,14 @@ export interface ApplicationService {
36
36
  createShortCode(applicationId: string, name: string, expiresAt?: string, maxUses?: number): Promise<any>;
37
37
  updateShortCode(applicationId: string, codeId: string, updates: any): Promise<any>;
38
38
  deleteShortCode(applicationId: string, codeId: string): Promise<void>;
39
+ updateApplication(applicationId: string, updates: {
40
+ name?: string;
41
+ description?: string;
42
+ authModes?: Array<'none' | 'org' | 'api-key'>;
43
+ allowedOrganizations?: string[];
44
+ targetState?: string;
45
+ dependsOnApplicationIds?: string[];
46
+ }): Promise<unknown>;
39
47
  }
40
48
  export declare class ApplicationServiceImpl implements ApplicationService {
41
49
  private apiClient;
@@ -95,5 +103,16 @@ export declare class ApplicationServiceImpl implements ApplicationService {
95
103
  * Delete a short code
96
104
  */
97
105
  deleteShortCode(applicationId: string, codeId: string): Promise<void>;
106
+ /**
107
+ * Update application (e.g. auth modes, name, description)
108
+ */
109
+ updateApplication(applicationId: string, updates: {
110
+ name?: string;
111
+ description?: string;
112
+ authModes?: Array<'none' | 'org' | 'api-key'>;
113
+ allowedOrganizations?: string[];
114
+ targetState?: 'running' | 'suspended';
115
+ dependsOnApplicationIds?: string[];
116
+ }): Promise<unknown>;
98
117
  }
99
118
  //# sourceMappingURL=ApplicationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationService.d.ts","sourceRoot":"","sources":["../../../src/services/application/ApplicationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationService.d.ts","sourceRoot":"","sources":["../../../src/services/application/ApplicationService.ts"],"names":[],"mappings":"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"}
@@ -293,7 +293,6 @@ class ApplicationServiceImpl {
293
293
  if (params.dependsOnApplicationIds !== undefined && params.dependsOnApplicationIds.length > 0) {
294
294
  createRequest.dependsOnApplicationIds = params.dependsOnApplicationIds;
295
295
  }
296
- console.log(`application: ${params}`);
297
296
  const response = await this.apiClient.createApplication(createRequest);
298
297
  return response.application;
299
298
  }
@@ -398,6 +397,20 @@ class ApplicationServiceImpl {
398
397
  throw new Error(`Failed to delete short code: ${error instanceof Error ? error.message : 'Unknown error'}`);
399
398
  }
400
399
  }
400
+ /**
401
+ * Update application (e.g. auth modes, name, description)
402
+ */
403
+ async updateApplication(applicationId, updates) {
404
+ try {
405
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
406
+ const response = await this.apiClient.updateApplication({ applicationId, ...updates });
407
+ return response.application;
408
+ }
409
+ catch (error) {
410
+ this.logger.error('Failed to update application', error);
411
+ throw new Error(`Failed to update application: ${error instanceof Error ? error.message : 'Unknown error'}`);
412
+ }
413
+ }
401
414
  }
402
415
  exports.ApplicationServiceImpl = ApplicationServiceImpl;
403
416
  //# sourceMappingURL=ApplicationService.js.map
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Device service
3
+ * Handles device list and delete operations for the organization
4
+ */
5
+ import { ConfigManager } from '../../state/config';
6
+ import { AuthService } from '../auth/AuthService';
7
+ import { TokenManager } from '../token/TokenManager';
8
+ import { Logger } from '../../utils/logger';
9
+ import { DeviceData } from '../../types/models/DeviceData';
10
+ import type { DeviceHealthStatus, DeviceApplicationHealthResponse } from '../../types/AgentConfig';
11
+ export type DeviceTypeFilter = 'serving' | 'gateway';
12
+ export interface ListDevicesOptions {
13
+ type?: DeviceTypeFilter;
14
+ }
15
+ export interface DeviceListResult {
16
+ devices: DeviceData[];
17
+ }
18
+ export interface DeviceTelemetryResult {
19
+ data: unknown;
20
+ status: number;
21
+ }
22
+ export interface DeviceService {
23
+ listDevices(options?: ListDevicesOptions): Promise<DeviceListResult>;
24
+ deleteDevice(deviceId: string): Promise<void>;
25
+ /** Get a single device by ID (includes telemetryUrl when set). */
26
+ getDevice(deviceId: string): Promise<DeviceData | null>;
27
+ /** Fetch JSON from a device telemetry endpoint using current auth token. */
28
+ fetchTelemetry(telemetryBaseUrl: string, endpoint: string): Promise<DeviceTelemetryResult>;
29
+ /** Resolve device by ID or name; returns device ID or null if not found / not selected. */
30
+ resolveDeviceId(options: {
31
+ deviceId?: string;
32
+ name?: string;
33
+ interactive?: boolean;
34
+ message?: string;
35
+ }): Promise<string | null>;
36
+ /** Fetch device health from telemetry endpoint (uses telemetry session token). */
37
+ getDeviceHealth(deviceId: string): Promise<DeviceHealthStatus>;
38
+ /** Fetch application health for a device from telemetry GET /health/applications (uses telemetry session). */
39
+ getDeviceApplicationHealth(deviceId: string): Promise<DeviceApplicationHealthResponse>;
40
+ }
41
+ export declare class DeviceServiceImpl implements DeviceService {
42
+ private apiClient;
43
+ private configManager;
44
+ private authService;
45
+ private tokenManager;
46
+ private logger;
47
+ private baseUrl;
48
+ constructor(baseUrl: string, configManager: ConfigManager, authService: AuthService, tokenManager: TokenManager, logger: Logger);
49
+ listDevices(options?: ListDevicesOptions): Promise<DeviceListResult>;
50
+ deleteDevice(deviceId: string): Promise<void>;
51
+ getDevice(deviceId: string): Promise<DeviceData | null>;
52
+ fetchTelemetry(telemetryBaseUrl: string, endpoint: string): Promise<DeviceTelemetryResult>;
53
+ resolveDeviceId(options: {
54
+ deviceId?: string;
55
+ name?: string;
56
+ interactive?: boolean;
57
+ message?: string;
58
+ }): Promise<string | null>;
59
+ getDeviceHealth(deviceId: string): Promise<DeviceHealthStatus>;
60
+ getDeviceApplicationHealth(deviceId: string): Promise<DeviceApplicationHealthResponse>;
61
+ }
62
+ //# sourceMappingURL=DeviceService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceService.d.ts","sourceRoot":"","sources":["../../../src/services/device/DeviceService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ /**
3
+ * Device service
4
+ * Handles device list and delete operations for the organization
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DeviceServiceImpl = void 0;
8
+ const client_1 = require("../../client");
9
+ class DeviceServiceImpl {
10
+ constructor(baseUrl, configManager, authService, tokenManager, logger) {
11
+ this.baseUrl = baseUrl;
12
+ this.configManager = configManager;
13
+ this.authService = authService;
14
+ this.tokenManager = tokenManager;
15
+ this.logger = logger;
16
+ this.apiClient = (0, client_1.createApiClient)(baseUrl);
17
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
18
+ }
19
+ async listDevices(options) {
20
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
21
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
22
+ const config = this.configManager.getConfig();
23
+ if (!config.organizationId) {
24
+ throw new Error('No organization ID found. Please login first.');
25
+ }
26
+ this.logger.debug('Fetching organization devices', { organizationId: config.organizationId });
27
+ const response = await this.apiClient.getOrganizationDevices(config.organizationId);
28
+ let devices = response.devices || [];
29
+ if (options?.type) {
30
+ if (options.type === 'serving') {
31
+ devices = devices.filter((d) => d.type === 'server');
32
+ }
33
+ else if (options.type === 'gateway') {
34
+ devices = devices.filter((d) => d.type === 'gateway');
35
+ }
36
+ }
37
+ return { devices };
38
+ }
39
+ async deleteDevice(deviceId) {
40
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
41
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
42
+ this.logger.debug('Deleting device', { deviceId });
43
+ await this.apiClient.deleteDevice(deviceId);
44
+ const config = this.configManager.getConfig();
45
+ if (config.deviceId === deviceId) {
46
+ this.configManager.updateConfig({
47
+ deviceId: undefined,
48
+ deviceName: undefined,
49
+ devicePassword: undefined,
50
+ deviceType: undefined,
51
+ });
52
+ this.logger.debug('Cleared current device from config after deletion');
53
+ }
54
+ this.configManager.removeGateway(deviceId);
55
+ }
56
+ async getDevice(deviceId) {
57
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
58
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
59
+ this.logger.debug('Fetching device', { deviceId });
60
+ const response = await this.apiClient.getDevice(deviceId);
61
+ return response.device ?? null;
62
+ }
63
+ async fetchTelemetry(telemetryBaseUrl, endpoint) {
64
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
65
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
66
+ const token = this.apiClient.getIdToken() ?? this.apiClient.getAccessToken();
67
+ if (!token) {
68
+ throw new Error('No auth token available. Please run "edgible login" first.');
69
+ }
70
+ const base = telemetryBaseUrl.replace(/\/$/, '');
71
+ const path = endpoint.startsWith('/') ? endpoint : `/${endpoint}`;
72
+ const url = `${base}${path}`;
73
+ this.logger.debug('Fetching device telemetry', { url });
74
+ const controller = new AbortController();
75
+ const timeoutId = setTimeout(() => controller.abort(), 15000);
76
+ let response;
77
+ try {
78
+ response = await fetch(url, {
79
+ method: 'GET',
80
+ headers: {
81
+ Accept: 'application/json',
82
+ Authorization: `Bearer ${token}`,
83
+ },
84
+ signal: controller.signal,
85
+ });
86
+ }
87
+ catch (err) {
88
+ clearTimeout(timeoutId);
89
+ if (err instanceof Error && err.name === 'AbortError') {
90
+ throw new Error('Telemetry request timed out after 15 seconds.');
91
+ }
92
+ throw new Error(`Failed to reach telemetry endpoint: ${err instanceof Error ? err.message : String(err)}`);
93
+ }
94
+ clearTimeout(timeoutId);
95
+ const text = await response.text();
96
+ let data;
97
+ try {
98
+ data = text ? JSON.parse(text) : {};
99
+ }
100
+ catch {
101
+ data = { raw: text };
102
+ }
103
+ if (!response.ok) {
104
+ throw new Error(`Telemetry request failed (${response.status}): ${response.statusText}${text ? ` - ${text.slice(0, 200)}` : ''}`);
105
+ }
106
+ return { data, status: response.status };
107
+ }
108
+ async resolveDeviceId(options) {
109
+ if (options.name && !options.deviceId) {
110
+ const { devices } = await this.listDevices();
111
+ const device = devices.find((d) => d.name === options.name);
112
+ if (!device) {
113
+ throw new Error(`Device with name "${options.name}" not found. Use "edgible device list" to see available devices.`);
114
+ }
115
+ this.logger.debug('Resolved device name to ID', { name: options.name, deviceId: device.id });
116
+ return device.id;
117
+ }
118
+ if (options.deviceId) {
119
+ return options.deviceId;
120
+ }
121
+ return null;
122
+ }
123
+ async getDeviceHealth(deviceId) {
124
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
125
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
126
+ const device = await this.getDevice(deviceId);
127
+ if (!device) {
128
+ throw new Error(`Device not found: ${deviceId}`);
129
+ }
130
+ if (!device.telemetryUrl?.trim()) {
131
+ throw new Error(`No telemetry URL configured for device "${device.name}" (${deviceId}). Telemetry may not be set up for this device.`);
132
+ }
133
+ // Use same token as rest of CLI (config is source of truth; restore again before backend call)
134
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
135
+ const { sessionToken } = await this.apiClient.createTelemetrySession(deviceId);
136
+ const base = device.telemetryUrl.trim().replace(/\/$/, '');
137
+ const url = `${base}/health/device`;
138
+ this.logger.debug('Fetching device health via telemetry session', { deviceId, url });
139
+ const controller = new AbortController();
140
+ const timeoutId = setTimeout(() => controller.abort(), 15000);
141
+ let response;
142
+ try {
143
+ response = await fetch(url, {
144
+ method: 'GET',
145
+ headers: {
146
+ Accept: 'application/json',
147
+ 'X-Session-Token': sessionToken,
148
+ },
149
+ signal: controller.signal,
150
+ });
151
+ }
152
+ catch (err) {
153
+ clearTimeout(timeoutId);
154
+ if (err instanceof Error && err.name === 'AbortError') {
155
+ throw new Error('Device health request timed out after 15 seconds.');
156
+ }
157
+ throw new Error(`Failed to reach device health endpoint: ${err instanceof Error ? err.message : String(err)}`);
158
+ }
159
+ clearTimeout(timeoutId);
160
+ const text = await response.text();
161
+ let data;
162
+ try {
163
+ data = text ? JSON.parse(text) : {};
164
+ }
165
+ catch {
166
+ throw new Error(`Invalid JSON from device health endpoint: ${text.slice(0, 200)}`);
167
+ }
168
+ if (!response.ok) {
169
+ throw new Error(`Device health request failed (${response.status}): ${response.statusText}${text ? ` - ${text.slice(0, 200)}` : ''}`);
170
+ }
171
+ const health = data;
172
+ if (typeof health.cpuUsage !== 'number' ||
173
+ typeof health.memoryUsage !== 'number' ||
174
+ typeof health.diskUsage !== 'number' ||
175
+ typeof health.uptime !== 'number') {
176
+ throw new Error('Device health endpoint returned unexpected shape (missing cpuUsage, memoryUsage, diskUsage, or uptime).');
177
+ }
178
+ return health;
179
+ }
180
+ async getDeviceApplicationHealth(deviceId) {
181
+ await this.tokenManager.ensureValidToken(this.apiClient, this.authService.loginDevice.bind(this.authService));
182
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
183
+ const device = await this.getDevice(deviceId);
184
+ if (!device) {
185
+ throw new Error(`Device not found: ${deviceId}`);
186
+ }
187
+ if (!device.telemetryUrl?.trim()) {
188
+ throw new Error(`No telemetry URL configured for device "${device.name}" (${deviceId}). Telemetry may not be set up for this device.`);
189
+ }
190
+ this.tokenManager.restoreTokensFromConfig(this.apiClient);
191
+ const { sessionToken } = await this.apiClient.createTelemetrySession(deviceId);
192
+ const base = device.telemetryUrl.trim().replace(/\/$/, '');
193
+ const url = `${base}/health/applications`;
194
+ this.logger.debug('Fetching device application health via telemetry session', { deviceId, url });
195
+ const controller = new AbortController();
196
+ const timeoutId = setTimeout(() => controller.abort(), 15000);
197
+ let response;
198
+ try {
199
+ response = await fetch(url, {
200
+ method: 'GET',
201
+ headers: {
202
+ Accept: 'application/json',
203
+ 'X-Session-Token': sessionToken,
204
+ },
205
+ signal: controller.signal,
206
+ });
207
+ }
208
+ catch (err) {
209
+ clearTimeout(timeoutId);
210
+ if (err instanceof Error && err.name === 'AbortError') {
211
+ throw new Error('Application health request timed out after 15 seconds.');
212
+ }
213
+ throw new Error(`Failed to reach application health endpoint: ${err instanceof Error ? err.message : String(err)}`);
214
+ }
215
+ clearTimeout(timeoutId);
216
+ const text = await response.text();
217
+ let data;
218
+ try {
219
+ data = text ? JSON.parse(text) : {};
220
+ }
221
+ catch {
222
+ throw new Error(`Invalid JSON from application health endpoint: ${text.slice(0, 200)}`);
223
+ }
224
+ if (!response.ok) {
225
+ throw new Error(`Application health request failed (${response.status}): ${response.statusText}${text ? ` - ${text.slice(0, 200)}` : ''}`);
226
+ }
227
+ const body = data;
228
+ if (!Array.isArray(body?.applications)) {
229
+ throw new Error('Application health endpoint returned unexpected shape (missing applications array).');
230
+ }
231
+ return body;
232
+ }
233
+ }
234
+ exports.DeviceServiceImpl = DeviceServiceImpl;
235
+ //# sourceMappingURL=DeviceService.js.map
@@ -4,6 +4,7 @@ import { CreateDeviceWithOrphanedOrganizationResponse, GetUserOrganizationsRespo
4
4
  import { ConfigManager } from '../state/config';
5
5
  import { TokenManager } from './token/TokenManager';
6
6
  import { Logger } from '../utils/logger';
7
+ import { LocalAgentManager } from './LocalAgentManager';
7
8
  import { ApplicationSetupResult, ValidationResult } from '../types/validation';
8
9
  import { LocalAgentHealthStatus } from '../types/agent';
9
10
  /**
@@ -17,7 +18,8 @@ export declare class EdgibleService {
17
18
  private tokenManager;
18
19
  private logger;
19
20
  private baseUrl;
20
- constructor(baseUrl: string, configManager: ConfigManager, tokenManager: TokenManager, logger: Logger);
21
+ private localAgentManager?;
22
+ constructor(baseUrl: string, configManager: ConfigManager, tokenManager: TokenManager, logger: Logger, localAgentManager?: LocalAgentManager);
21
23
  /**
22
24
  * Authenticate user with email and password
23
25
  * @param email - Email address
@@ -1 +1 @@
1
- {"version":3,"file":"edgible.d.ts","sourceRoot":"","sources":["../../src/services/edgible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edgible.d.ts","sourceRoot":"","sources":["../../src/services/edgible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAA4C,aAAa,EAAE,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,4CAA4C,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAEnH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAW,MAAM,qBAAqB,CAAC;AAExF,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAOrE;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAG5C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,iBAAiB;IAavC;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAexE;;;;;;OAMG;IACG,4BAA4B,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,4CAA4C,CAAC;IA8BxD;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCnD;;;;;;;OAOG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB7E;;;;;;OAMG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+CnF;;;;OAIG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IActD;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlE;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBtD;;;;;;;OAOG;IACG,gBAAgB,CACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAc,EACnD,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC;IAmEvB;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6D/C;;;;OAIG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCtD;;;;OAIG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBrD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAWhF;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,GAAG,CAAC;IA8HhB;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,GAAG,CAAC;IAuChB;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC;IAsCxC;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAe/C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC;IAmDlC;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAgD5E;;OAEG;IAGH;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,GAAG,CAAC;IAqBhB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;IAazC;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAaxD;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBnF;;OAEG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,GAAG,CAAC;IAwnBT,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IA4gB5G;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAwEF;;OAEG;IACH;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QACtD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;QACpD,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2ChB;;OAEG;IACG,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA8DrI;;OAEG;YACW,kBAAkB;IA+E1B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;QACpD,aAAa,CAAC,EAAE,OAAO,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA+KpD;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAmF3G;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6FlH;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyCvE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6E7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACG,8BAA8B,CAClC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAc,EACnD,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC;IAgSlC;;OAEG;IACG,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwFnF;;OAEG;IACG,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoBlF;;OAEG;IACG,iCAAiC,CAAC,MAAM,EAAE;QAC9C,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;QACnG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACzC,GAAG,OAAO,CAAC,GAAG,CAAC;IAuChB;;OAEG;IACG,qBAAqB,CACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC;IAUf;;OAEG;IACG,0BAA0B,CAC9B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf;;OAEG;IACG,kBAAkB,CACtB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC;CAShB"}
@@ -53,12 +53,13 @@ const PathResolver_1 = require("../utils/PathResolver");
53
53
  * Uses the real API client for authentication and device management
54
54
  */
55
55
  class EdgibleService {
56
- constructor(baseUrl, configManager, tokenManager, logger) {
56
+ constructor(baseUrl, configManager, tokenManager, logger, localAgentManager) {
57
57
  this.applications = [];
58
58
  this.baseUrl = baseUrl;
59
59
  this.configManager = configManager;
60
60
  this.tokenManager = tokenManager;
61
61
  this.logger = logger;
62
+ this.localAgentManager = localAgentManager;
62
63
  this.apiClient = (0, client_1.createApiClient)(this.baseUrl);
63
64
  // Restore tokens from config if available
64
65
  this.tokenManager.restoreTokensFromConfig(this.apiClient);
@@ -2642,7 +2643,7 @@ console.log('Edgible Agent started successfully');
2642
2643
  console.log(chalk_1.default.blue('Setting up application with validation...'));
2643
2644
  // Step 1: Check local agent status
2644
2645
  console.log(chalk_1.default.gray('Checking local agent status...'));
2645
- const localAgentManager = new LocalAgentManager_1.LocalAgentManager();
2646
+ const localAgentManager = this.localAgentManager || new LocalAgentManager_1.LocalAgentManager(this.configManager);
2646
2647
  let localAgentStatus = await localAgentManager.checkLocalAgentStatus();
2647
2648
  if (!localAgentStatus.installed) {
2648
2649
  warnings.push('Local serving agent is not installed');
@@ -2915,7 +2916,7 @@ console.log('Edgible Agent started successfully');
2915
2916
  });
2916
2917
  }
2917
2918
  // Check 4: Local agent status
2918
- const localAgentManager = new LocalAgentManager_1.LocalAgentManager();
2919
+ const localAgentManager = this.localAgentManager || new LocalAgentManager_1.LocalAgentManager(this.configManager);
2919
2920
  const agentStatus = await localAgentManager.checkLocalAgentStatus();
2920
2921
  checks.push({
2921
2922
  name: 'local_agent',
@@ -2959,7 +2960,7 @@ console.log('Edgible Agent started successfully');
2959
2960
  */
2960
2961
  async getApplicationHealth(applicationId) {
2961
2962
  try {
2962
- const localAgentManager = new LocalAgentManager_1.LocalAgentManager();
2963
+ const localAgentManager = this.localAgentManager || new LocalAgentManager_1.LocalAgentManager(this.configManager);
2963
2964
  return await localAgentManager.monitorAgentHealth();
2964
2965
  }
2965
2966
  catch (error) {
@@ -10,11 +10,13 @@ import { EdgibleService } from './edgible';
10
10
  import { LocalAgentManager } from './LocalAgentManager';
11
11
  import { ConnectivityTester } from './ConnectivityTester';
12
12
  import { WorkloadDetector } from '../detection/WorkloadDetector';
13
+ import { StackService } from './stack/StackService';
13
14
  import type { Logger } from '../utils/logger';
14
15
  import type { TokenManager } from './token/TokenManager';
15
16
  import type { AuthService } from './auth/AuthService';
16
17
  import type { ApplicationService } from './application/ApplicationService';
17
18
  import type { GatewayService } from './gateway/GatewayService';
19
+ import type { DeviceService } from './device/DeviceService';
18
20
  import type { ManagedGatewayService } from './managedGateway/ManagedGatewayService';
19
21
  import type { DiagnosticsService } from './diagnostics/DiagnosticsService';
20
22
  import type { AgentDeploymentService } from './agentDeployment/AgentDeploymentService';
@@ -24,11 +26,35 @@ export declare const tokenManager: TokenManager;
24
26
  export declare const authService: AuthService;
25
27
  export declare const applicationService: ApplicationService;
26
28
  export declare const gatewayService: GatewayService;
27
- export declare const edgibleService: EdgibleService;
29
+ export declare const deviceService: DeviceService;
28
30
  export declare const localAgentManager: LocalAgentManager;
31
+ export declare const edgibleService: EdgibleService;
29
32
  export declare const managedGatewayService: ManagedGatewayService;
30
33
  export declare const diagnosticsService: DiagnosticsService;
31
34
  export declare const agentDeploymentService: AgentDeploymentService;
35
+ export declare function getStackService(): StackService;
36
+ export declare const stackService: {
37
+ readonly instance: StackService;
38
+ };
32
39
  export declare function createConnectivityTester(): ConnectivityTester;
33
40
  export declare function createWorkloadDetector(): WorkloadDetector;
41
+ /**
42
+ * Get all service instances
43
+ * Convenience function for commands that need multiple services
44
+ */
45
+ export declare function getServiceInstances(): {
46
+ logger: Logger;
47
+ configManager: ConfigManager;
48
+ tokenManager: TokenManager;
49
+ authService: AuthService;
50
+ applicationService: ApplicationService;
51
+ gatewayService: GatewayService;
52
+ deviceService: DeviceService;
53
+ edgibleService: EdgibleService;
54
+ localAgentManager: LocalAgentManager;
55
+ managedGatewayService: ManagedGatewayService;
56
+ diagnosticsService: DiagnosticsService;
57
+ agentDeploymentService: AgentDeploymentService;
58
+ stackService: StackService;
59
+ };
34
60
  //# sourceMappingURL=instances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/services/instances.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAMjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,eAAO,MAAM,MAAM,EAAE,MAInB,CAAC;AAGH,eAAO,MAAM,aAAa,eAAsB,CAAC;AAGjD,eAAO,MAAM,YAAY,EAAE,YAA0D,CAAC;AAGtF,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,kBAMhC,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC;AAGF,eAAO,MAAM,cAAc,gBAK1B,CAAC;AAGF,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAGzD,eAAO,MAAM,qBAAqB,EAAE,qBAAqE,CAAC;AAG1G,eAAO,MAAM,kBAAkB,EAAE,kBAA+D,CAAC;AAGjG,eAAO,MAAM,sBAAsB,EAAE,sBAAuE,CAAC;AAG7G,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAGD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
1
+ {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/services/instances.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAMvF,eAAO,MAAM,MAAM,EAAE,MAInB,CAAC;AAGH,eAAO,MAAM,aAAa,eAAsB,CAAC;AAGjD,eAAO,MAAM,YAAY,EAAE,YAA0D,CAAC;AAGtF,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,kBAMhC,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,aAM3B,CAAC;AAGF,eAAO,MAAM,iBAAiB,mBAAuC,CAAC;AAGtE,eAAO,MAAM,cAAc,gBAM1B,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,qBAAqE,CAAC;AAG1G,eAAO,MAAM,kBAAkB,EAAE,kBAA+D,CAAC;AAGjG,eAAO,MAAM,sBAAsB,EAAE,sBAAuE,CAAC;AAI7G,wBAAgB,eAAe,IAAI,YAAY,CAoB9C;AAGD,eAAO,MAAM,YAAY;;CAIxB,CAAC;AAGF,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAGD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;;EAgBlC"}