@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
@@ -99,9 +99,9 @@ export declare const CreateApplicationSchema: z.ZodObject<{
99
99
  deleteVolumesOnDeletion: boolean;
100
100
  command?: string | undefined;
101
101
  logFile?: string | undefined;
102
- workingDirectory?: string | undefined;
103
- env?: Record<string, string> | undefined;
104
102
  dockerComposePath?: string | undefined;
103
+ env?: Record<string, string> | undefined;
104
+ workingDirectory?: string | undefined;
105
105
  healthCheckPath?: string | undefined;
106
106
  systemdService?: string | undefined;
107
107
  }, {
@@ -109,9 +109,9 @@ export declare const CreateApplicationSchema: z.ZodObject<{
109
109
  protocol: "http" | "https" | "tcp" | "udp";
110
110
  command?: string | undefined;
111
111
  logFile?: string | undefined;
112
- workingDirectory?: string | undefined;
113
- env?: Record<string, string> | undefined;
114
112
  dockerComposePath?: string | undefined;
113
+ env?: Record<string, string> | undefined;
114
+ workingDirectory?: string | undefined;
115
115
  deleteVolumesOnDeletion?: boolean | undefined;
116
116
  healthCheckPath?: string | undefined;
117
117
  systemdService?: string | undefined;
@@ -120,7 +120,7 @@ export declare const CreateApplicationSchema: z.ZodObject<{
120
120
  deviceIds: z.ZodArray<z.ZodString, "many">;
121
121
  gatewayIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
122
122
  useManagedGateway: z.ZodOptional<z.ZodBoolean>;
123
- subtype: z.ZodEnum<["local-preexisting", "managed-docker", "systemd", "docker-compose", "managed-process"]>;
123
+ subtype: z.ZodEnum<["local-preexisting", "managed-docker", "systemd", "docker-compose", "managed-process", "telemetry"]>;
124
124
  authModes: z.ZodOptional<z.ZodArray<z.ZodEnum<["none", "org", "api-key"]>, "many">>;
125
125
  requireOrgAuth: z.ZodOptional<z.ZodBoolean>;
126
126
  allowedOrganizations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -136,23 +136,23 @@ export declare const CreateApplicationSchema: z.ZodObject<{
136
136
  deleteVolumesOnDeletion: boolean;
137
137
  command?: string | undefined;
138
138
  logFile?: string | undefined;
139
- workingDirectory?: string | undefined;
140
- env?: Record<string, string> | undefined;
141
139
  dockerComposePath?: string | undefined;
140
+ env?: Record<string, string> | undefined;
141
+ workingDirectory?: string | undefined;
142
142
  healthCheckPath?: string | undefined;
143
143
  systemdService?: string | undefined;
144
144
  };
145
- subtype: "systemd" | "local-preexisting" | "managed-docker" | "docker-compose" | "managed-process";
145
+ subtype: "systemd" | "local-preexisting" | "managed-docker" | "docker-compose" | "managed-process" | "telemetry";
146
146
  environment: "development" | "staging" | "prod";
147
147
  deviceIds: string[];
148
148
  targetState: "running" | "suspended";
149
149
  description?: string | undefined;
150
- gatewayIds?: string[] | undefined;
151
150
  hostnames?: string[] | undefined;
152
- useManagedGateway?: boolean | undefined;
153
151
  authModes?: ("none" | "org" | "api-key")[] | undefined;
154
- requireOrgAuth?: boolean | undefined;
155
152
  allowedOrganizations?: string[] | undefined;
153
+ gatewayIds?: string[] | undefined;
154
+ useManagedGateway?: boolean | undefined;
155
+ requireOrgAuth?: boolean | undefined;
156
156
  customHeaders?: Record<string, string> | undefined;
157
157
  dependsOnApplicationIds?: string[] | undefined;
158
158
  }, {
@@ -163,23 +163,23 @@ export declare const CreateApplicationSchema: z.ZodObject<{
163
163
  protocol: "http" | "https" | "tcp" | "udp";
164
164
  command?: string | undefined;
165
165
  logFile?: string | undefined;
166
- workingDirectory?: string | undefined;
167
- env?: Record<string, string> | undefined;
168
166
  dockerComposePath?: string | undefined;
167
+ env?: Record<string, string> | undefined;
168
+ workingDirectory?: string | undefined;
169
169
  deleteVolumesOnDeletion?: boolean | undefined;
170
170
  healthCheckPath?: string | undefined;
171
171
  systemdService?: string | undefined;
172
172
  };
173
- subtype: "systemd" | "local-preexisting" | "managed-docker" | "docker-compose" | "managed-process";
173
+ subtype: "systemd" | "local-preexisting" | "managed-docker" | "docker-compose" | "managed-process" | "telemetry";
174
174
  deviceIds: string[];
175
175
  description?: string | undefined;
176
- gatewayIds?: string[] | undefined;
177
- environment?: "development" | "staging" | "prod" | undefined;
178
176
  hostnames?: string[] | undefined;
179
- useManagedGateway?: boolean | undefined;
180
177
  authModes?: ("none" | "org" | "api-key")[] | undefined;
181
- requireOrgAuth?: boolean | undefined;
182
178
  allowedOrganizations?: string[] | undefined;
179
+ environment?: "development" | "staging" | "prod" | undefined;
180
+ gatewayIds?: string[] | undefined;
181
+ useManagedGateway?: boolean | undefined;
182
+ requireOrgAuth?: boolean | undefined;
183
183
  customHeaders?: Record<string, string> | undefined;
184
184
  targetState?: "running" | "suspended" | undefined;
185
185
  dependsOnApplicationIds?: string[] | undefined;
@@ -197,9 +197,9 @@ export declare const UpdateApplicationSchema: z.ZodObject<{
197
197
  }, "strip", z.ZodTypeAny, {
198
198
  name?: string | undefined;
199
199
  description?: string | undefined;
200
- environment?: "development" | "staging" | "prod" | undefined;
201
200
  authModes?: ("none" | "org" | "api-key")[] | undefined;
202
201
  allowedOrganizations?: string[] | undefined;
202
+ environment?: "development" | "staging" | "prod" | undefined;
203
203
  customHeaders?: Record<string, string> | undefined;
204
204
  targetState?: "running" | "suspended" | undefined;
205
205
  dependsOnApplicationIds?: string[] | undefined;
@@ -207,9 +207,9 @@ export declare const UpdateApplicationSchema: z.ZodObject<{
207
207
  }, {
208
208
  name?: string | undefined;
209
209
  description?: string | undefined;
210
- environment?: "development" | "staging" | "prod" | undefined;
211
210
  authModes?: ("none" | "org" | "api-key")[] | undefined;
212
211
  allowedOrganizations?: string[] | undefined;
212
+ environment?: "development" | "staging" | "prod" | undefined;
213
213
  customHeaders?: Record<string, string> | undefined;
214
214
  targetState?: "running" | "suspended" | undefined;
215
215
  dependsOnApplicationIds?: string[] | undefined;
@@ -85,7 +85,7 @@ exports.CreateApplicationSchema = zod_1.z.object({
85
85
  deviceIds: zod_1.z.array(zod_1.z.string().min(1)).min(1, 'At least one device ID is required'),
86
86
  gatewayIds: zod_1.z.array(zod_1.z.string().min(1)).optional(),
87
87
  useManagedGateway: zod_1.z.boolean().optional(),
88
- subtype: zod_1.z.enum(['local-preexisting', 'managed-docker', 'systemd', 'docker-compose', 'managed-process']),
88
+ subtype: zod_1.z.enum(['local-preexisting', 'managed-docker', 'systemd', 'docker-compose', 'managed-process', 'telemetry']),
89
89
  authModes: zod_1.z.array(zod_1.z.enum(['none', 'org', 'api-key'])).optional(),
90
90
  requireOrgAuth: zod_1.z.boolean().optional(), // deprecated, use authModes
91
91
  allowedOrganizations: zod_1.z.array(zod_1.z.string()).optional(),
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Stack-specific error classes
3
+ * Provides detailed error information for stack operations
4
+ */
5
+ /**
6
+ * Base error for all stack-related errors
7
+ */
8
+ export declare class StackError extends Error {
9
+ constructor(message: string);
10
+ }
11
+ /**
12
+ * Error parsing stack YAML file
13
+ */
14
+ export declare class StackParseError extends StackError {
15
+ filePath?: string | undefined;
16
+ line?: number | undefined;
17
+ constructor(message: string, filePath?: string | undefined, line?: number | undefined);
18
+ }
19
+ /**
20
+ * Error validating stack schema
21
+ */
22
+ export declare class StackValidationError extends StackError {
23
+ errors: Array<{
24
+ path: string;
25
+ message: string;
26
+ line?: number;
27
+ }>;
28
+ constructor(message: string, errors: Array<{
29
+ path: string;
30
+ message: string;
31
+ line?: number;
32
+ }>);
33
+ }
34
+ /**
35
+ * Error when device not found
36
+ */
37
+ export declare class DeviceNotFoundError extends StackError {
38
+ deviceName: string;
39
+ constructor(deviceName: string);
40
+ }
41
+ /**
42
+ * Error when multiple devices match the same name
43
+ */
44
+ export declare class DeviceAmbiguousError extends StackError {
45
+ deviceName: string;
46
+ matchingDeviceIds: string[];
47
+ constructor(deviceName: string, matchingDeviceIds: string[]);
48
+ }
49
+ /**
50
+ * Error when circular dependency detected
51
+ */
52
+ export declare class CircularDependencyError extends StackError {
53
+ cycle: string[];
54
+ constructor(cycle: string[]);
55
+ }
56
+ /**
57
+ * Error deploying an application
58
+ */
59
+ export declare class ApplicationDeploymentError extends StackError {
60
+ appName: string;
61
+ reason: string;
62
+ originalError?: Error | undefined;
63
+ constructor(appName: string, reason: string, originalError?: Error | undefined);
64
+ }
65
+ /**
66
+ * Error when dependency deployment fails
67
+ */
68
+ export declare class DependencyDeploymentError extends StackError {
69
+ appName: string;
70
+ dependencyName: string;
71
+ reason: string;
72
+ constructor(appName: string, dependencyName: string, reason: string);
73
+ }
74
+ /**
75
+ * Error when stack file not found
76
+ */
77
+ export declare class StackFileNotFoundError extends StackError {
78
+ filePath: string;
79
+ constructor(filePath: string);
80
+ }
81
+ /**
82
+ * Error when required environment variable is missing
83
+ */
84
+ export declare class EnvironmentVariableError extends StackError {
85
+ variableName: string;
86
+ constructor(variableName: string);
87
+ }
88
+ /**
89
+ * Error when application not found in deployed state
90
+ */
91
+ export declare class ApplicationNotFoundError extends StackError {
92
+ appName: string;
93
+ constructor(appName: string);
94
+ }
95
+ /**
96
+ * Error when gateway provisioning fails
97
+ */
98
+ export declare class GatewayProvisioningError extends StackError {
99
+ appName: string;
100
+ reason: string;
101
+ constructor(appName: string, reason: string);
102
+ }
103
+ //# sourceMappingURL=stack-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-errors.d.ts","sourceRoot":"","sources":["../../src/utils/stack-errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAGpC,QAAQ,CAAC,EAAE,MAAM;IACjB,IAAI,CAAC,EAAE,MAAM;gBAFpB,OAAO,EAAE,MAAM,EACR,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,IAAI,CAAC,EAAE,MAAM,YAAA;CAMvB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAGzC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;gBADtE,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAMzE;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IAC9B,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM;CAKtC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAEzC,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,MAAM,EAAE;gBAD3B,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EAAE;CAQrC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IAClC,KAAK,EAAE,MAAM,EAAE;gBAAf,KAAK,EAAE,MAAM,EAAE;CAKnC;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IAE/C,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,aAAa,CAAC,EAAE,KAAK;gBAFrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,KAAK,YAAA;CAM/B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IAE9C,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,MAAM;IACtB,MAAM,EAAE,MAAM;gBAFd,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;CAQxB;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACjC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;CAKpC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACnC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM;CAKxC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACnC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;CAKnC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IAE7C,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;gBADd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;CAMxB"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /**
3
+ * Stack-specific error classes
4
+ * Provides detailed error information for stack operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.GatewayProvisioningError = exports.ApplicationNotFoundError = exports.EnvironmentVariableError = exports.StackFileNotFoundError = exports.DependencyDeploymentError = exports.ApplicationDeploymentError = exports.CircularDependencyError = exports.DeviceAmbiguousError = exports.DeviceNotFoundError = exports.StackValidationError = exports.StackParseError = exports.StackError = void 0;
8
+ /**
9
+ * Base error for all stack-related errors
10
+ */
11
+ class StackError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = 'StackError';
15
+ Object.setPrototypeOf(this, StackError.prototype);
16
+ }
17
+ }
18
+ exports.StackError = StackError;
19
+ /**
20
+ * Error parsing stack YAML file
21
+ */
22
+ class StackParseError extends StackError {
23
+ constructor(message, filePath, line) {
24
+ super(message);
25
+ this.filePath = filePath;
26
+ this.line = line;
27
+ this.name = 'StackParseError';
28
+ Object.setPrototypeOf(this, StackParseError.prototype);
29
+ }
30
+ }
31
+ exports.StackParseError = StackParseError;
32
+ /**
33
+ * Error validating stack schema
34
+ */
35
+ class StackValidationError extends StackError {
36
+ constructor(message, errors) {
37
+ super(message);
38
+ this.errors = errors;
39
+ this.name = 'StackValidationError';
40
+ Object.setPrototypeOf(this, StackValidationError.prototype);
41
+ }
42
+ }
43
+ exports.StackValidationError = StackValidationError;
44
+ /**
45
+ * Error when device not found
46
+ */
47
+ class DeviceNotFoundError extends StackError {
48
+ constructor(deviceName) {
49
+ super(`Device '${deviceName}' not found in organization`);
50
+ this.deviceName = deviceName;
51
+ this.name = 'DeviceNotFoundError';
52
+ Object.setPrototypeOf(this, DeviceNotFoundError.prototype);
53
+ }
54
+ }
55
+ exports.DeviceNotFoundError = DeviceNotFoundError;
56
+ /**
57
+ * Error when multiple devices match the same name
58
+ */
59
+ class DeviceAmbiguousError extends StackError {
60
+ constructor(deviceName, matchingDeviceIds) {
61
+ super(`Multiple devices found with name '${deviceName}': ${matchingDeviceIds.join(', ')}`);
62
+ this.deviceName = deviceName;
63
+ this.matchingDeviceIds = matchingDeviceIds;
64
+ this.name = 'DeviceAmbiguousError';
65
+ Object.setPrototypeOf(this, DeviceAmbiguousError.prototype);
66
+ }
67
+ }
68
+ exports.DeviceAmbiguousError = DeviceAmbiguousError;
69
+ /**
70
+ * Error when circular dependency detected
71
+ */
72
+ class CircularDependencyError extends StackError {
73
+ constructor(cycle) {
74
+ super(`Circular dependency detected: ${cycle.join(' -> ')}`);
75
+ this.cycle = cycle;
76
+ this.name = 'CircularDependencyError';
77
+ Object.setPrototypeOf(this, CircularDependencyError.prototype);
78
+ }
79
+ }
80
+ exports.CircularDependencyError = CircularDependencyError;
81
+ /**
82
+ * Error deploying an application
83
+ */
84
+ class ApplicationDeploymentError extends StackError {
85
+ constructor(appName, reason, originalError) {
86
+ super(`Failed to deploy application '${appName}': ${reason}`);
87
+ this.appName = appName;
88
+ this.reason = reason;
89
+ this.originalError = originalError;
90
+ this.name = 'ApplicationDeploymentError';
91
+ Object.setPrototypeOf(this, ApplicationDeploymentError.prototype);
92
+ }
93
+ }
94
+ exports.ApplicationDeploymentError = ApplicationDeploymentError;
95
+ /**
96
+ * Error when dependency deployment fails
97
+ */
98
+ class DependencyDeploymentError extends StackError {
99
+ constructor(appName, dependencyName, reason) {
100
+ super(`Failed to deploy '${appName}' because dependency '${dependencyName}' failed: ${reason}`);
101
+ this.appName = appName;
102
+ this.dependencyName = dependencyName;
103
+ this.reason = reason;
104
+ this.name = 'DependencyDeploymentError';
105
+ Object.setPrototypeOf(this, DependencyDeploymentError.prototype);
106
+ }
107
+ }
108
+ exports.DependencyDeploymentError = DependencyDeploymentError;
109
+ /**
110
+ * Error when stack file not found
111
+ */
112
+ class StackFileNotFoundError extends StackError {
113
+ constructor(filePath) {
114
+ super(`Stack file not found: ${filePath}`);
115
+ this.filePath = filePath;
116
+ this.name = 'StackFileNotFoundError';
117
+ Object.setPrototypeOf(this, StackFileNotFoundError.prototype);
118
+ }
119
+ }
120
+ exports.StackFileNotFoundError = StackFileNotFoundError;
121
+ /**
122
+ * Error when required environment variable is missing
123
+ */
124
+ class EnvironmentVariableError extends StackError {
125
+ constructor(variableName) {
126
+ super(`Required environment variable not found: ${variableName}`);
127
+ this.variableName = variableName;
128
+ this.name = 'EnvironmentVariableError';
129
+ Object.setPrototypeOf(this, EnvironmentVariableError.prototype);
130
+ }
131
+ }
132
+ exports.EnvironmentVariableError = EnvironmentVariableError;
133
+ /**
134
+ * Error when application not found in deployed state
135
+ */
136
+ class ApplicationNotFoundError extends StackError {
137
+ constructor(appName) {
138
+ super(`Application '${appName}' not found in deployed state`);
139
+ this.appName = appName;
140
+ this.name = 'ApplicationNotFoundError';
141
+ Object.setPrototypeOf(this, ApplicationNotFoundError.prototype);
142
+ }
143
+ }
144
+ exports.ApplicationNotFoundError = ApplicationNotFoundError;
145
+ /**
146
+ * Error when gateway provisioning fails
147
+ */
148
+ class GatewayProvisioningError extends StackError {
149
+ constructor(appName, reason) {
150
+ super(`Failed to provision gateway for '${appName}': ${reason}`);
151
+ this.appName = appName;
152
+ this.reason = reason;
153
+ this.name = 'GatewayProvisioningError';
154
+ Object.setPrototypeOf(this, GatewayProvisioningError.prototype);
155
+ }
156
+ }
157
+ exports.GatewayProvisioningError = GatewayProvisioningError;
158
+ //# sourceMappingURL=stack-errors.js.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Resolve stack file path: use provided path or look for edgible.yml in current directory.
3
+ */
4
+ /**
5
+ * Find stack file from optional path or current directory.
6
+ * @param providedPath Optional path provided by user (e.g. -f production.yml)
7
+ * @returns Resolved absolute path to the stack file
8
+ * @throws If provided path does not exist, or no file found when none provided
9
+ */
10
+ export declare function findStackFile(providedPath?: string): string;
11
+ //# sourceMappingURL=stack-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-file.d.ts","sourceRoot":"","sources":["../../src/utils/stack-file.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAoB3D"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /**
3
+ * Resolve stack file path: use provided path or look for edgible.yml in current directory.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.findStackFile = findStackFile;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const DEFAULT_FILENAMES = ['edgible.yml', 'edgible.yaml'];
43
+ /**
44
+ * Find stack file from optional path or current directory.
45
+ * @param providedPath Optional path provided by user (e.g. -f production.yml)
46
+ * @returns Resolved absolute path to the stack file
47
+ * @throws If provided path does not exist, or no file found when none provided
48
+ */
49
+ function findStackFile(providedPath) {
50
+ if (providedPath) {
51
+ if (fs.existsSync(providedPath)) {
52
+ return path.resolve(providedPath);
53
+ }
54
+ throw new Error(`Stack file not found at: ${providedPath}`);
55
+ }
56
+ const currentDir = process.cwd();
57
+ for (const name of DEFAULT_FILENAMES) {
58
+ const filePath = path.join(currentDir, name);
59
+ if (fs.existsSync(filePath)) {
60
+ return path.resolve(filePath);
61
+ }
62
+ }
63
+ throw new Error(`No stack file specified and no ${DEFAULT_FILENAMES.join(' or ')} found in the current directory (${currentDir}). ` +
64
+ 'Use -f <path> to specify a stack file.');
65
+ }
66
+ //# sourceMappingURL=stack-file.js.map