@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
@@ -1,15 +0,0 @@
1
- /**
2
- * Dependency injection bindings
3
- * Registers all services with the container
4
- */
5
- import { Container } from './container';
6
- /**
7
- * Bind all services to the container
8
- */
9
- export declare function bindServices(container?: Container): void;
10
- /**
11
- * Initialize container with all bindings
12
- * Should be called once at application startup
13
- */
14
- export declare function initializeContainer(): Container;
15
- //# sourceMappingURL=bindings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/di/bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAkBtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,SAA0B,GAAG,IAAI,CA+ExE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAI/C"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- /**
3
- * Dependency injection bindings
4
- * Registers all services with the container
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.bindServices = bindServices;
8
- exports.initializeContainer = initializeContainer;
9
- const container_1 = require("./container");
10
- const types_1 = require("./types");
11
- const console_logger_1 = require("../utils/console-logger");
12
- const app_config_1 = require("../config/app-config");
13
- const config_1 = require("../state/config");
14
- const edgible_1 = require("../services/edgible");
15
- const LocalAgentManager_1 = require("../services/LocalAgentManager");
16
- const ConnectivityTester_1 = require("../services/ConnectivityTester");
17
- const WorkloadDetector_1 = require("../detection/WorkloadDetector");
18
- const ToolDetector_1 = require("../detection/ToolDetector");
19
- const logger_1 = require("../utils/logger");
20
- const config_repository_1 = require("../repositories/config-repository");
21
- const gateway_repository_1 = require("../repositories/gateway-repository");
22
- const AuthService_1 = require("../services/auth/AuthService");
23
- const ApplicationService_1 = require("../services/application/ApplicationService");
24
- const GatewayService_1 = require("../services/gateway/GatewayService");
25
- /**
26
- * Bind all services to the container
27
- */
28
- function bindServices(container = (0, container_1.getContainer)()) {
29
- // Bind configuration
30
- container.bind(types_1.TYPES.AppConfig, () => (0, app_config_1.getConfig)(), true);
31
- // Bind logger
32
- container.bind(types_1.TYPES.Logger, () => {
33
- const config = container.get(types_1.TYPES.AppConfig);
34
- const logger = new console_logger_1.ConsoleLogger({
35
- level: (0, logger_1.parseLogLevel)(config.logLevel),
36
- colorEnabled: config.colorEnabled,
37
- plain: config.plain,
38
- });
39
- return logger;
40
- }, true);
41
- // Bind ConfigManager
42
- container.bind(types_1.TYPES.ConfigManager, () => new config_1.ConfigManager(), true);
43
- // Bind Repositories
44
- container.bind(types_1.TYPES.ConfigRepository, () => {
45
- const configManager = container.get(types_1.TYPES.ConfigManager);
46
- return new config_repository_1.ConfigRepositoryImpl(configManager);
47
- }, true);
48
- container.bind(types_1.TYPES.GatewayRepository, () => {
49
- const configManager = container.get(types_1.TYPES.ConfigManager);
50
- return new gateway_repository_1.GatewayRepositoryImpl(configManager);
51
- }, true);
52
- // Bind AuthService
53
- container.bind(types_1.TYPES.AuthService, () => {
54
- const config = container.get(types_1.TYPES.AppConfig);
55
- const configRepository = container.get(types_1.TYPES.ConfigRepository);
56
- const logger = container.get(types_1.TYPES.Logger);
57
- return new AuthService_1.AuthServiceImpl(config.apiBaseUrl, configRepository, logger);
58
- }, true);
59
- // Bind ApplicationService
60
- container.bind(types_1.TYPES.ApplicationService, () => {
61
- const config = container.get(types_1.TYPES.AppConfig);
62
- const configRepository = container.get(types_1.TYPES.ConfigRepository);
63
- const authService = container.get(types_1.TYPES.AuthService);
64
- const logger = container.get(types_1.TYPES.Logger);
65
- return new ApplicationService_1.ApplicationServiceImpl(config.apiBaseUrl, configRepository, authService, logger);
66
- }, true);
67
- // Bind GatewayService
68
- container.bind(types_1.TYPES.GatewayService, () => {
69
- const config = container.get(types_1.TYPES.AppConfig);
70
- const configRepository = container.get(types_1.TYPES.ConfigRepository);
71
- const gatewayRepository = container.get(types_1.TYPES.GatewayRepository);
72
- const authService = container.get(types_1.TYPES.AuthService);
73
- const logger = container.get(types_1.TYPES.Logger);
74
- return new GatewayService_1.GatewayServiceImpl(config.apiBaseUrl, configRepository, gatewayRepository, authService, logger);
75
- }, true);
76
- // Bind EdgibleService
77
- container.bind(types_1.TYPES.EdgibleService, () => {
78
- const config = container.get(types_1.TYPES.AppConfig);
79
- return new edgible_1.EdgibleService(config.apiBaseUrl);
80
- }, true);
81
- // Bind LocalAgentManager
82
- container.bind(types_1.TYPES.LocalAgentManager, () => new LocalAgentManager_1.LocalAgentManager(), true);
83
- // Bind ConnectivityTester
84
- container.bind(types_1.TYPES.ConnectivityTester, () => new ConnectivityTester_1.ConnectivityTester(), false);
85
- // Bind WorkloadDetector
86
- container.bind(types_1.TYPES.WorkloadDetector, () => new WorkloadDetector_1.WorkloadDetector(), false);
87
- // Bind ToolDetector
88
- container.bind(types_1.TYPES.ToolDetector, () => ToolDetector_1.ToolDetector, true);
89
- }
90
- /**
91
- * Initialize container with all bindings
92
- * Should be called once at application startup
93
- */
94
- function initializeContainer() {
95
- const container = (0, container_1.getContainer)();
96
- bindServices(container);
97
- return container;
98
- }
99
- //# sourceMappingURL=bindings.js.map
@@ -1,44 +0,0 @@
1
- /**
2
- * Simple dependency injection container
3
- * Supports singleton and transient bindings
4
- */
5
- type ServiceIdentifier = symbol;
6
- type Factory<T> = () => T;
7
- export declare class Container {
8
- private bindings;
9
- private singletons;
10
- /**
11
- * Register a service binding
12
- */
13
- bind<T>(identifier: ServiceIdentifier, factory: Factory<T>, singleton?: boolean): void;
14
- /**
15
- * Get a service instance
16
- */
17
- get<T>(identifier: ServiceIdentifier): T;
18
- /**
19
- * Check if a service is bound
20
- */
21
- isBound(identifier: ServiceIdentifier): boolean;
22
- /**
23
- * Clear all bindings and singletons (useful for testing)
24
- */
25
- reset(): void;
26
- /**
27
- * Unbind a specific service
28
- */
29
- unbind(identifier: ServiceIdentifier): void;
30
- }
31
- /**
32
- * Get default container instance
33
- */
34
- export declare function getContainer(): Container;
35
- /**
36
- * Set container instance (useful for testing)
37
- */
38
- export declare function setContainer(container: Container): void;
39
- /**
40
- * Reset default container
41
- */
42
- export declare function resetContainer(): void;
43
- export {};
44
- //# sourceMappingURL=container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,KAAK,iBAAiB,GAAG,MAAM,CAAC;AAChC,KAAK,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAM1B,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAyD;IACzE,OAAO,CAAC,UAAU,CAAyC;IAE3D;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,OAAc,GAAG,IAAI;IAI5F;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,GAAG,CAAC;IAkBxC;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO;IAI/C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAI5C;AAOD;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- /**
3
- * Simple dependency injection container
4
- * Supports singleton and transient bindings
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.Container = void 0;
8
- exports.getContainer = getContainer;
9
- exports.setContainer = setContainer;
10
- exports.resetContainer = resetContainer;
11
- class Container {
12
- constructor() {
13
- this.bindings = new Map();
14
- this.singletons = new Map();
15
- }
16
- /**
17
- * Register a service binding
18
- */
19
- bind(identifier, factory, singleton = true) {
20
- this.bindings.set(identifier, { factory, singleton });
21
- }
22
- /**
23
- * Get a service instance
24
- */
25
- get(identifier) {
26
- const binding = this.bindings.get(identifier);
27
- if (!binding) {
28
- throw new Error(`Service not bound: ${identifier.toString()}`);
29
- }
30
- if (binding.singleton) {
31
- if (!this.singletons.has(identifier)) {
32
- const instance = binding.factory();
33
- this.singletons.set(identifier, instance);
34
- }
35
- return this.singletons.get(identifier);
36
- }
37
- else {
38
- return binding.factory();
39
- }
40
- }
41
- /**
42
- * Check if a service is bound
43
- */
44
- isBound(identifier) {
45
- return this.bindings.has(identifier);
46
- }
47
- /**
48
- * Clear all bindings and singletons (useful for testing)
49
- */
50
- reset() {
51
- this.bindings.clear();
52
- this.singletons.clear();
53
- }
54
- /**
55
- * Unbind a specific service
56
- */
57
- unbind(identifier) {
58
- this.bindings.delete(identifier);
59
- this.singletons.delete(identifier);
60
- }
61
- }
62
- exports.Container = Container;
63
- /**
64
- * Default container instance
65
- */
66
- let defaultContainer = null;
67
- /**
68
- * Get default container instance
69
- */
70
- function getContainer() {
71
- if (!defaultContainer) {
72
- defaultContainer = new Container();
73
- }
74
- return defaultContainer;
75
- }
76
- /**
77
- * Set container instance (useful for testing)
78
- */
79
- function setContainer(container) {
80
- defaultContainer = container;
81
- }
82
- /**
83
- * Reset default container
84
- */
85
- function resetContainer() {
86
- defaultContainer = null;
87
- }
88
- //# sourceMappingURL=container.js.map
@@ -1,23 +0,0 @@
1
- /**
2
- * Dependency injection type identifiers
3
- * Uses symbol-based keys for type safety
4
- */
5
- export declare const TYPES: {
6
- readonly Logger: symbol;
7
- readonly EdgibleService: symbol;
8
- readonly AuthService: symbol;
9
- readonly GatewayService: symbol;
10
- readonly ApplicationService: symbol;
11
- readonly GatewaySshService: symbol;
12
- readonly GatewayDiagnosticsService: symbol;
13
- readonly LocalAgentManager: symbol;
14
- readonly ConnectivityTester: symbol;
15
- readonly AWSService: symbol;
16
- readonly ConfigRepository: symbol;
17
- readonly GatewayRepository: symbol;
18
- readonly ConfigManager: symbol;
19
- readonly WorkloadDetector: symbol;
20
- readonly ToolDetector: symbol;
21
- readonly AppConfig: symbol;
22
- };
23
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;CA4BR,CAAC"}
package/dist/di/types.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- /**
3
- * Dependency injection type identifiers
4
- * Uses symbol-based keys for type safety
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.TYPES = void 0;
8
- exports.TYPES = {
9
- // Loggers
10
- Logger: Symbol.for('Logger'),
11
- // Services
12
- EdgibleService: Symbol.for('EdgibleService'),
13
- AuthService: Symbol.for('AuthService'),
14
- GatewayService: Symbol.for('GatewayService'),
15
- ApplicationService: Symbol.for('ApplicationService'),
16
- GatewaySshService: Symbol.for('GatewaySshService'),
17
- GatewayDiagnosticsService: Symbol.for('GatewayDiagnosticsService'),
18
- LocalAgentManager: Symbol.for('LocalAgentManager'),
19
- ConnectivityTester: Symbol.for('ConnectivityTester'),
20
- AWSService: Symbol.for('AWSService'),
21
- // Repositories
22
- ConfigRepository: Symbol.for('ConfigRepository'),
23
- GatewayRepository: Symbol.for('GatewayRepository'),
24
- // Managers
25
- ConfigManager: Symbol.for('ConfigManager'),
26
- // Detectors
27
- WorkloadDetector: Symbol.for('WorkloadDetector'),
28
- ToolDetector: Symbol.for('ToolDetector'),
29
- // Configuration
30
- AppConfig: Symbol.for('AppConfig'),
31
- };
32
- //# sourceMappingURL=types.js.map
@@ -1,46 +0,0 @@
1
- /**
2
- * Configuration repository
3
- * Abstracts config access for better testability and centralized state management
4
- */
5
- import { UserConfig } from '../state/config';
6
- import { ConfigManager } from '../state/config';
7
- export interface ConfigRepository {
8
- getConfig(): UserConfig;
9
- updateConfig(updates: Partial<UserConfig>): void;
10
- isFirstRun(): boolean;
11
- setFirstRunComplete(): void;
12
- setEmail(email: string): void;
13
- getEmail(): string | undefined;
14
- setAccountStatus(exists: boolean): void;
15
- hasAccount(): boolean;
16
- clearConfig(): void;
17
- setAWSProfile(profile: string): void;
18
- getAWSProfile(): string | undefined;
19
- setAWSRegion(region: string): void;
20
- getAWSRegion(): string | undefined;
21
- setDeviceType(deviceType: 'gateway' | 'serving'): void;
22
- getDeviceType(): 'gateway' | 'serving' | undefined;
23
- }
24
- /**
25
- * ConfigRepository implementation using ConfigManager
26
- */
27
- export declare class ConfigRepositoryImpl implements ConfigRepository {
28
- private configManager;
29
- constructor(configManager: ConfigManager);
30
- getConfig(): UserConfig;
31
- updateConfig(updates: Partial<UserConfig>): void;
32
- isFirstRun(): boolean;
33
- setFirstRunComplete(): void;
34
- setEmail(email: string): void;
35
- getEmail(): string | undefined;
36
- setAccountStatus(exists: boolean): void;
37
- hasAccount(): boolean;
38
- clearConfig(): void;
39
- setAWSProfile(profile: string): void;
40
- getAWSProfile(): string | undefined;
41
- setAWSRegion(region: string): void;
42
- getAWSRegion(): string | undefined;
43
- setDeviceType(deviceType: 'gateway' | 'serving'): void;
44
- getDeviceType(): 'gateway' | 'serving' | undefined;
45
- }
46
- //# sourceMappingURL=config-repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/config-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,IAAI,UAAU,CAAC;IACxB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,UAAU,IAAI,OAAO,CAAC;IACtB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,IAAI,CAAC;IACpB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,EAAE,aAAa;IAIxC,SAAS,IAAI,UAAU;IAIvB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAIhD,UAAU,IAAI,OAAO;IAIrB,mBAAmB,IAAI,IAAI;IAI3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIvC,UAAU,IAAI,OAAO;IAIrB,WAAW,IAAI,IAAI;IAInB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,aAAa,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAItD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG,SAAS;CAInD"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- /**
3
- * Configuration repository
4
- * Abstracts config access for better testability and centralized state management
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ConfigRepositoryImpl = void 0;
8
- /**
9
- * ConfigRepository implementation using ConfigManager
10
- */
11
- class ConfigRepositoryImpl {
12
- constructor(configManager) {
13
- this.configManager = configManager;
14
- }
15
- getConfig() {
16
- return this.configManager.getConfig();
17
- }
18
- updateConfig(updates) {
19
- this.configManager.updateConfig(updates);
20
- }
21
- isFirstRun() {
22
- return this.configManager.isFirstRun();
23
- }
24
- setFirstRunComplete() {
25
- this.configManager.setFirstRunComplete();
26
- }
27
- setEmail(email) {
28
- this.configManager.setEmail(email);
29
- }
30
- getEmail() {
31
- return this.configManager.getEmail();
32
- }
33
- setAccountStatus(exists) {
34
- this.configManager.setAccountStatus(exists);
35
- }
36
- hasAccount() {
37
- return this.configManager.hasAccount();
38
- }
39
- clearConfig() {
40
- this.configManager.clearConfig();
41
- }
42
- setAWSProfile(profile) {
43
- this.configManager.setAWSProfile(profile);
44
- }
45
- getAWSProfile() {
46
- return this.configManager.getAWSProfile();
47
- }
48
- setAWSRegion(region) {
49
- this.configManager.setAWSRegion(region);
50
- }
51
- getAWSRegion() {
52
- return this.configManager.getAWSRegion();
53
- }
54
- setDeviceType(deviceType) {
55
- this.configManager.setDeviceType(deviceType);
56
- }
57
- getDeviceType() {
58
- return this.configManager.getDeviceType();
59
- }
60
- }
61
- exports.ConfigRepositoryImpl = ConfigRepositoryImpl;
62
- //# sourceMappingURL=config-repository.js.map
@@ -1,37 +0,0 @@
1
- /**
2
- * Gateway repository
3
- * Manages gateway state and configuration
4
- */
5
- export interface GatewayInfo {
6
- name: string;
7
- deviceId: string;
8
- ec2InstanceId: string;
9
- publicIp: string;
10
- privateIp: string;
11
- keyPairName: string;
12
- keyPath: string;
13
- region: string;
14
- createdAt: string;
15
- }
16
- export interface GatewayRepository {
17
- addGateway(gatewayId: string, gatewayInfo: Omit<GatewayInfo, 'createdAt'>): void;
18
- getGateway(gatewayId: string): GatewayInfo | undefined;
19
- getGateways(): Record<string, GatewayInfo>;
20
- removeGateway(gatewayId: string): void;
21
- hasGateway(gatewayId: string): boolean;
22
- listGatewayIds(): string[];
23
- }
24
- /**
25
- * GatewayRepository implementation using ConfigManager
26
- */
27
- export declare class GatewayRepositoryImpl implements GatewayRepository {
28
- private configManager;
29
- constructor(configManager: import('../state/config').ConfigManager);
30
- addGateway(gatewayId: string, gatewayInfo: Omit<GatewayInfo, 'createdAt'>): void;
31
- getGateway(gatewayId: string): GatewayInfo | undefined;
32
- getGateways(): Record<string, GatewayInfo>;
33
- removeGateway(gatewayId: string): void;
34
- hasGateway(gatewayId: string): boolean;
35
- listGatewayIds(): string[];
36
- }
37
- //# sourceMappingURL=gateway-repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/gateway-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACjF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IACvD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,cAAc,IAAI,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,aAAa,CAA0C;gBAEnD,aAAa,EAAE,OAAO,iBAAiB,EAAE,aAAa;IAIlE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI;IAIhF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAItD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAI1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,cAAc,IAAI,MAAM,EAAE;CAG3B"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- /**
3
- * Gateway repository
4
- * Manages gateway state and configuration
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.GatewayRepositoryImpl = void 0;
8
- /**
9
- * GatewayRepository implementation using ConfigManager
10
- */
11
- class GatewayRepositoryImpl {
12
- constructor(configManager) {
13
- this.configManager = configManager;
14
- }
15
- addGateway(gatewayId, gatewayInfo) {
16
- this.configManager.addGateway(gatewayId, gatewayInfo);
17
- }
18
- getGateway(gatewayId) {
19
- return this.configManager.getGateway(gatewayId);
20
- }
21
- getGateways() {
22
- return this.configManager.getGateways();
23
- }
24
- removeGateway(gatewayId) {
25
- this.configManager.removeGateway(gatewayId);
26
- }
27
- hasGateway(gatewayId) {
28
- return this.getGateway(gatewayId) !== undefined;
29
- }
30
- listGatewayIds() {
31
- return Object.keys(this.getGateways());
32
- }
33
- }
34
- exports.GatewayRepositoryImpl = GatewayRepositoryImpl;
35
- //# sourceMappingURL=gateway-repository.js.map