@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
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleShortCodesCreate = handleShortCodesCreate;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const instances_1 = require("../../../services/instances");
10
+ const config_validator_1 = require("../../utils/config-validator");
11
+ async function handleShortCodesCreate(options) {
12
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
13
+ requireAuth: true,
14
+ requireOrganization: true,
15
+ });
16
+ let appId = options.appId;
17
+ if (!appId) {
18
+ const applications = await instances_1.applicationService.getApplications();
19
+ if (applications.length === 0) {
20
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
21
+ return;
22
+ }
23
+ const { selectedAppId } = await inquirer_1.default.prompt([
24
+ {
25
+ type: 'list',
26
+ name: 'selectedAppId',
27
+ message: 'Select application:',
28
+ choices: applications.map((app) => ({
29
+ name: `${app.name} (${app.id})`,
30
+ value: app.id,
31
+ })),
32
+ },
33
+ ]);
34
+ appId = selectedAppId;
35
+ }
36
+ if (!appId) {
37
+ throw new Error('Application ID is required');
38
+ }
39
+ let name = options.name;
40
+ if (!name) {
41
+ const { codeName } = await inquirer_1.default.prompt([
42
+ {
43
+ type: 'input',
44
+ name: 'codeName',
45
+ message: 'Enter a name/description for this short code:',
46
+ validate: (input) => input.trim().length > 0 || 'Name is required',
47
+ },
48
+ ]);
49
+ name = codeName;
50
+ }
51
+ if (!name) {
52
+ throw new Error('Name is required');
53
+ }
54
+ const maxUses = options.maxUses ? parseInt(options.maxUses) : undefined;
55
+ const code = await instances_1.applicationService.createShortCode(appId, name, options.expires, maxUses);
56
+ console.log(chalk_1.default.green('\n✓ Short code created successfully!\n'));
57
+ console.log(chalk_1.default.bold('Share this code:'), chalk_1.default.bold.green(code.code));
58
+ console.log(chalk_1.default.gray('\nCode Details:'));
59
+ console.log(` Name: ${code.name}`);
60
+ console.log(` ID: ${code.id}`);
61
+ if (code.maxUses) {
62
+ console.log(` Max uses: ${code.maxUses}`);
63
+ }
64
+ if (code.expiresAt) {
65
+ console.log(` Expires: ${new Date(code.expiresAt).toLocaleString()}`);
66
+ }
67
+ console.log();
68
+ }
69
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1,6 @@
1
+ export declare function handleShortCodesDelete(options: {
2
+ appId?: string;
3
+ codeId?: string;
4
+ force?: boolean;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/short-codes/delete.ts"],"names":[],"mappings":"AAKA,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EzH"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleShortCodesDelete = handleShortCodesDelete;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const instances_1 = require("../../../services/instances");
10
+ const config_validator_1 = require("../../utils/config-validator");
11
+ async function handleShortCodesDelete(options) {
12
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
13
+ requireAuth: true,
14
+ requireOrganization: true,
15
+ });
16
+ let appId = options.appId;
17
+ if (!appId) {
18
+ const applications = await instances_1.applicationService.getApplications();
19
+ if (applications.length === 0) {
20
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
21
+ return;
22
+ }
23
+ const { selectedAppId } = await inquirer_1.default.prompt([
24
+ {
25
+ type: 'list',
26
+ name: 'selectedAppId',
27
+ message: 'Select application:',
28
+ choices: applications.map((app) => ({
29
+ name: `${app.name} (${app.id})`,
30
+ value: app.id,
31
+ })),
32
+ },
33
+ ]);
34
+ appId = selectedAppId;
35
+ }
36
+ if (!appId) {
37
+ throw new Error('Application ID is required');
38
+ }
39
+ let codeId = options.codeId;
40
+ if (!codeId) {
41
+ const codes = await instances_1.applicationService.listShortCodes(appId);
42
+ if (codes.length === 0) {
43
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
44
+ return;
45
+ }
46
+ const { selectedCodeId } = await inquirer_1.default.prompt([
47
+ {
48
+ type: 'list',
49
+ name: 'selectedCodeId',
50
+ message: 'Select short code to delete:',
51
+ choices: codes.map((code) => ({
52
+ name: `${code.name} (${code.code})`,
53
+ value: code.id,
54
+ })),
55
+ },
56
+ ]);
57
+ codeId = selectedCodeId;
58
+ }
59
+ if (!options.force) {
60
+ const { confirm } = await inquirer_1.default.prompt([
61
+ {
62
+ type: 'confirm',
63
+ name: 'confirm',
64
+ message: 'Are you sure you want to delete this short code?',
65
+ default: false,
66
+ },
67
+ ]);
68
+ if (!confirm) {
69
+ console.log(chalk_1.default.gray('Deletion cancelled'));
70
+ return;
71
+ }
72
+ }
73
+ if (!codeId) {
74
+ throw new Error('Code ID is required');
75
+ }
76
+ await instances_1.applicationService.deleteShortCode(appId, codeId);
77
+ console.log(chalk_1.default.green('\n✓ Short code deleted successfully!'));
78
+ }
79
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1,5 @@
1
+ export declare function handleShortCodesList(options: {
2
+ appId?: string;
3
+ json?: boolean;
4
+ }): Promise<void>;
5
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/short-codes/list.ts"],"names":[],"mappings":"AAKA,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DrG"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleShortCodesList = handleShortCodesList;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const instances_1 = require("../../../services/instances");
10
+ const config_validator_1 = require("../../utils/config-validator");
11
+ async function handleShortCodesList(options) {
12
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
13
+ requireAuth: true,
14
+ requireOrganization: true,
15
+ });
16
+ let appId = options.appId;
17
+ if (!appId) {
18
+ const applications = await instances_1.applicationService.getApplications();
19
+ if (applications.length === 0) {
20
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
21
+ return;
22
+ }
23
+ const { selectedAppId } = await inquirer_1.default.prompt([
24
+ {
25
+ type: 'list',
26
+ name: 'selectedAppId',
27
+ message: 'Select application:',
28
+ choices: applications.map((app) => ({
29
+ name: `${app.name} (${app.id})`,
30
+ value: app.id,
31
+ })),
32
+ },
33
+ ]);
34
+ appId = selectedAppId;
35
+ }
36
+ if (!appId) {
37
+ throw new Error('Application ID is required');
38
+ }
39
+ const codes = await instances_1.applicationService.listShortCodes(appId);
40
+ if (options.json) {
41
+ console.log(JSON.stringify({ codes }, null, 2));
42
+ return;
43
+ }
44
+ if (codes.length === 0) {
45
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
46
+ console.log(chalk_1.default.gray('Use "edgible application short-codes create" to create a short code'));
47
+ return;
48
+ }
49
+ console.log(chalk_1.default.bold('\n🔗 Short Codes:\n'));
50
+ codes.forEach((code, index) => {
51
+ console.log(`${index + 1}. ${chalk_1.default.cyan(code.name)}`);
52
+ console.log(` Code: ${chalk_1.default.bold.green(code.code)}`);
53
+ console.log(` ID: ${chalk_1.default.gray(code.id)}`);
54
+ console.log(` Created: ${chalk_1.default.gray(new Date(code.createdAt).toLocaleString())}`);
55
+ console.log(` Status: ${code.enabled ? chalk_1.default.green('Enabled') : chalk_1.default.red('Disabled')}`);
56
+ console.log(` Uses: ${chalk_1.default.gray(code.usedCount)}${code.maxUses ? ` / ${code.maxUses}` : ''}`);
57
+ if (code.expiresAt) {
58
+ console.log(` Expires: ${chalk_1.default.gray(new Date(code.expiresAt).toLocaleString())}`);
59
+ }
60
+ console.log();
61
+ });
62
+ }
63
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1,5 @@
1
+ export declare function handleShortCodesToggle(options: {
2
+ appId?: string;
3
+ codeId?: string;
4
+ }): Promise<void>;
5
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/commands/application/short-codes/toggle.ts"],"names":[],"mappings":"AAKA,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExG"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleShortCodesToggle = handleShortCodesToggle;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const instances_1 = require("../../../services/instances");
10
+ const config_validator_1 = require("../../utils/config-validator");
11
+ async function handleShortCodesToggle(options) {
12
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
13
+ requireAuth: true,
14
+ requireOrganization: true,
15
+ });
16
+ let appId = options.appId;
17
+ if (!appId) {
18
+ const applications = await instances_1.applicationService.getApplications();
19
+ if (applications.length === 0) {
20
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
21
+ return;
22
+ }
23
+ const { selectedAppId } = await inquirer_1.default.prompt([
24
+ {
25
+ type: 'list',
26
+ name: 'selectedAppId',
27
+ message: 'Select application:',
28
+ choices: applications.map((app) => ({
29
+ name: `${app.name} (${app.id})`,
30
+ value: app.id,
31
+ })),
32
+ },
33
+ ]);
34
+ appId = selectedAppId;
35
+ }
36
+ if (!appId) {
37
+ throw new Error('Application ID is required');
38
+ }
39
+ let codeId = options.codeId;
40
+ if (!codeId) {
41
+ const codes = await instances_1.applicationService.listShortCodes(appId);
42
+ if (codes.length === 0) {
43
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
44
+ return;
45
+ }
46
+ const { selectedCodeId } = await inquirer_1.default.prompt([
47
+ {
48
+ type: 'list',
49
+ name: 'selectedCodeId',
50
+ message: 'Select short code to toggle:',
51
+ choices: codes.map((code) => ({
52
+ name: `${code.name} (${code.code}) - ${code.enabled ? 'Enabled' : 'Disabled'}`,
53
+ value: code.id,
54
+ })),
55
+ },
56
+ ]);
57
+ codeId = selectedCodeId;
58
+ }
59
+ if (!codeId || !appId) {
60
+ throw new Error('Application ID and Code ID are required');
61
+ }
62
+ // Get current status
63
+ const codes = await instances_1.applicationService.listShortCodes(appId);
64
+ const code = codes.find((c) => c.id === codeId);
65
+ if (!code) {
66
+ throw new Error('Short code not found');
67
+ }
68
+ await instances_1.applicationService.updateShortCode(appId, codeId, { enabled: !code.enabled });
69
+ console.log(chalk_1.default.green(`\n✓ Short code ${code.enabled ? 'disabled' : 'enabled'} successfully!`));
70
+ }
71
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createShortCodesCommand(): Command;
3
+ //# sourceMappingURL=short-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"short-codes.d.ts","sourceRoot":"","sources":["../../../src/commands/application/short-codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,IAAI,OAAO,CAqQjD"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createShortCodesCommand = createShortCodesCommand;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const command_wrapper_1 = require("../base/command-wrapper");
10
+ const instances_1 = require("../../services/instances");
11
+ const config_validator_1 = require("../utils/config-validator");
12
+ function createShortCodesCommand() {
13
+ command('short-codes')
14
+ .description('Manage application short codes')
15
+ .alias('codes');
16
+ shortCodesCommand
17
+ .command('list')
18
+ .description('List short codes for an application')
19
+ .option('-i, --app-id <id>', 'Application ID')
20
+ .option('--json', 'Output as JSON')
21
+ .alias('ls')
22
+ .action((0, command_wrapper_1.wrapCommand)(async (options) => {
23
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
24
+ requireAuth: true,
25
+ requireOrganization: true,
26
+ });
27
+ let appId = options.appId;
28
+ if (!appId) {
29
+ const applications = await instances_1.applicationService.getApplications();
30
+ if (applications.length === 0) {
31
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
32
+ return;
33
+ }
34
+ const { selectedAppId } = await inquirer_1.default.prompt([
35
+ {
36
+ type: 'list',
37
+ name: 'selectedAppId',
38
+ message: 'Select application:',
39
+ choices: applications.map((app) => ({
40
+ name: `${app.name} (${app.id})`,
41
+ value: app.id,
42
+ })),
43
+ },
44
+ ]);
45
+ appId = selectedAppId;
46
+ }
47
+ if (!appId) {
48
+ throw new Error('Application ID is required');
49
+ }
50
+ const codes = await instances_1.applicationService.listShortCodes(appId);
51
+ if (options.json) {
52
+ console.log(JSON.stringify({ codes }, null, 2));
53
+ return;
54
+ }
55
+ if (codes.length === 0) {
56
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
57
+ console.log(chalk_1.default.gray('Use "edgible application short-codes create" to create a short code'));
58
+ return;
59
+ }
60
+ console.log(chalk_1.default.bold('\n🔗 Short Codes:\n'));
61
+ codes.forEach((code, index) => {
62
+ console.log(`${index + 1}. ${chalk_1.default.cyan(code.name)}`);
63
+ console.log(` Code: ${chalk_1.default.bold.green(code.code)}`);
64
+ console.log(` ID: ${chalk_1.default.gray(code.id)}`);
65
+ console.log(` Created: ${chalk_1.default.gray(new Date(code.createdAt).toLocaleString())}`);
66
+ console.log(` Status: ${code.enabled ? chalk_1.default.green('Enabled') : chalk_1.default.red('Disabled')}`);
67
+ console.log(` Uses: ${chalk_1.default.gray(code.usedCount)}${code.maxUses ? ` / ${code.maxUses}` : ''}`);
68
+ if (code.expiresAt) {
69
+ console.log(` Expires: ${chalk_1.default.gray(new Date(code.expiresAt).toLocaleString())}`);
70
+ }
71
+ console.log();
72
+ });
73
+ }, {
74
+ requireAuth: true,
75
+ requireOrganization: true,
76
+ }));
77
+ shortCodesCommand
78
+ .command('create')
79
+ .description('Create a new short code')
80
+ .option('-i, --app-id <id>', 'Application ID')
81
+ .option('-n, --name <name>', 'Code name/description')
82
+ .option('--expires <date>', 'Expiration date (ISO format)')
83
+ .option('--max-uses <number>', 'Maximum number of uses')
84
+ .alias('new')
85
+ .action((0, command_wrapper_1.wrapCommand)(async (options) => {
86
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
87
+ requireAuth: true,
88
+ requireOrganization: true,
89
+ });
90
+ let appId = options.appId;
91
+ if (!appId) {
92
+ const applications = await instances_1.applicationService.getApplications();
93
+ if (applications.length === 0) {
94
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
95
+ return;
96
+ }
97
+ const { selectedAppId } = await inquirer_1.default.prompt([
98
+ {
99
+ type: 'list',
100
+ name: 'selectedAppId',
101
+ message: 'Select application:',
102
+ choices: applications.map((app) => ({
103
+ name: `${app.name} (${app.id})`,
104
+ value: app.id,
105
+ })),
106
+ },
107
+ ]);
108
+ appId = selectedAppId;
109
+ }
110
+ if (!appId) {
111
+ throw new Error('Application ID is required');
112
+ }
113
+ let name = options.name;
114
+ if (!name) {
115
+ const { codeName } = await inquirer_1.default.prompt([
116
+ {
117
+ type: 'input',
118
+ name: 'codeName',
119
+ message: 'Enter a name/description for this short code:',
120
+ validate: (input) => input.trim().length > 0 || 'Name is required',
121
+ },
122
+ ]);
123
+ name = codeName;
124
+ }
125
+ if (!name) {
126
+ throw new Error('Name is required');
127
+ }
128
+ const maxUses = options.maxUses ? parseInt(options.maxUses) : undefined;
129
+ const code = await instances_1.applicationService.createShortCode(appId, name, options.expires, maxUses);
130
+ console.log(chalk_1.default.green('\n✓ Short code created successfully!\n'));
131
+ console.log(chalk_1.default.bold('Share this code:'), chalk_1.default.bold.green(code.code));
132
+ console.log(chalk_1.default.gray('\nCode Details:'));
133
+ console.log(` Name: ${code.name}`);
134
+ console.log(` ID: ${code.id}`);
135
+ if (code.maxUses) {
136
+ console.log(` Max uses: ${code.maxUses}`);
137
+ }
138
+ if (code.expiresAt) {
139
+ console.log(` Expires: ${new Date(code.expiresAt).toLocaleString()}`);
140
+ }
141
+ console.log();
142
+ }, {
143
+ requireAuth: true,
144
+ requireOrganization: true,
145
+ }));
146
+ shortCodesCommand
147
+ .command('delete')
148
+ .description('Delete a short code')
149
+ .option('-i, --app-id <id>', 'Application ID')
150
+ .option('-c, --code-id <id>', 'Short Code ID')
151
+ .option('-f, --force', 'Skip confirmation prompt')
152
+ .alias('rm')
153
+ .action((0, command_wrapper_1.wrapCommand)(async (options) => {
154
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
155
+ requireAuth: true,
156
+ requireOrganization: true,
157
+ });
158
+ let appId = options.appId;
159
+ if (!appId) {
160
+ const applications = await instances_1.applicationService.getApplications();
161
+ if (applications.length === 0) {
162
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
163
+ return;
164
+ }
165
+ const { selectedAppId } = await inquirer_1.default.prompt([
166
+ {
167
+ type: 'list',
168
+ name: 'selectedAppId',
169
+ message: 'Select application:',
170
+ choices: applications.map((app) => ({
171
+ name: `${app.name} (${app.id})`,
172
+ value: app.id,
173
+ })),
174
+ },
175
+ ]);
176
+ appId = selectedAppId;
177
+ }
178
+ if (!appId) {
179
+ throw new Error('Application ID is required');
180
+ }
181
+ let codeId = options.codeId;
182
+ if (!codeId) {
183
+ const codes = await instances_1.applicationService.listShortCodes(appId);
184
+ if (codes.length === 0) {
185
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
186
+ return;
187
+ }
188
+ const { selectedCodeId } = await inquirer_1.default.prompt([
189
+ {
190
+ type: 'list',
191
+ name: 'selectedCodeId',
192
+ message: 'Select short code to delete:',
193
+ choices: codes.map((code) => ({
194
+ name: `${code.name} (${code.code})`,
195
+ value: code.id,
196
+ })),
197
+ },
198
+ ]);
199
+ codeId = selectedCodeId;
200
+ }
201
+ if (!options.force) {
202
+ const { confirm } = await inquirer_1.default.prompt([
203
+ {
204
+ type: 'confirm',
205
+ name: 'confirm',
206
+ message: 'Are you sure you want to delete this short code?',
207
+ default: false,
208
+ },
209
+ ]);
210
+ if (!confirm) {
211
+ console.log(chalk_1.default.gray('Deletion cancelled'));
212
+ return;
213
+ }
214
+ }
215
+ if (!codeId) {
216
+ throw new Error('Code ID is required');
217
+ }
218
+ await instances_1.applicationService.deleteShortCode(appId, codeId);
219
+ console.log(chalk_1.default.green('\n✓ Short code deleted successfully!'));
220
+ }, {
221
+ requireAuth: true,
222
+ requireOrganization: true,
223
+ }));
224
+ shortCodesCommand;
225
+ }
226
+ //# sourceMappingURL=short-codes.js.map
@@ -0,0 +1,2 @@
1
+ export declare function handleApplicationToggle(appId: string): Promise<void>;
2
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/commands/application/toggle.ts"],"names":[],"mappings":"AAYA,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E1E"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleApplicationToggle = handleApplicationToggle;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const command_wrapper_1 = require("../base/command-wrapper");
10
+ const instances_1 = require("../../services/instances");
11
+ const config_validator_1 = require("../utils/config-validator");
12
+ async function handleApplicationToggle(appId) {
13
+ (0, command_wrapper_1.wrapCommand)(async (options) => {
14
+ (0, config_validator_1.validateConfig)(instances_1.configManager, {
15
+ requireAuth: true,
16
+ requireOrganization: true,
17
+ });
18
+ let appId = options.appId;
19
+ if (!appId) {
20
+ const applications = await instances_1.applicationService.getApplications();
21
+ if (applications.length === 0) {
22
+ console.log(chalk_1.default.yellow('⚠ No applications configured'));
23
+ return;
24
+ }
25
+ const { selectedAppId } = await inquirer_1.default.prompt([
26
+ {
27
+ type: 'list',
28
+ name: 'selectedAppId',
29
+ message: 'Select application:',
30
+ choices: applications.map((app) => ({
31
+ name: `${app.name} (${app.id})`,
32
+ value: app.id,
33
+ })),
34
+ },
35
+ ]);
36
+ appId = selectedAppId;
37
+ }
38
+ if (!appId) {
39
+ throw new Error('Application ID is required');
40
+ }
41
+ let codeId = options.codeId;
42
+ if (!codeId) {
43
+ const codes = await instances_1.applicationService.listShortCodes(appId);
44
+ if (codes.length === 0) {
45
+ console.log(chalk_1.default.yellow('⚠ No short codes configured'));
46
+ return;
47
+ }
48
+ const { selectedCodeId } = await inquirer_1.default.prompt([
49
+ {
50
+ type: 'list',
51
+ name: 'selectedCodeId',
52
+ message: 'Select short code to toggle:',
53
+ choices: codes.map((code) => ({
54
+ name: `${code.name} (${code.code}) - ${code.enabled ? 'Enabled' : 'Disabled'}`,
55
+ value: code.id,
56
+ })),
57
+ },
58
+ ]);
59
+ codeId = selectedCodeId;
60
+ }
61
+ if (!codeId || !appId) {
62
+ throw new Error('Application ID and Code ID are required');
63
+ }
64
+ // Get current status
65
+ const codes = await instances_1.applicationService.listShortCodes(appId);
66
+ const code = codes.find((c) => c.id === codeId);
67
+ if (!code) {
68
+ throw new Error('Short code not found');
69
+ }
70
+ await instances_1.applicationService.updateShortCode(appId, codeId, { enabled: !code.enabled });
71
+ console.log(chalk_1.default.green(`\n✓ Short code ${code.enabled ? 'disabled' : 'enabled'} successfully!`));
72
+ }, {
73
+ requireAuth: true,
74
+ requireOrganization: true,
75
+ });
76
+ ;
77
+ }
78
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1,4 @@
1
+ export declare function handleApplicationUpdate(options: {
2
+ appId?: string;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/application/update.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleApplicationUpdate = handleApplicationUpdate;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ async function handleApplicationUpdate(options) {
9
+ console.log(chalk_1.default.yellow('Not yet implemented.'));
10
+ }
11
+ //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/commands/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmkE/D"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/commands/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwY/D"}