@edgible-team/cli 1.2.13 → 1.2.15

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 (48) hide show
  1. package/dist/commands/stack/deploy.d.ts +6 -0
  2. package/dist/commands/stack/deploy.d.ts.map +1 -0
  3. package/dist/commands/stack/deploy.js +58 -0
  4. package/dist/commands/stack/diff.d.ts +7 -0
  5. package/dist/commands/stack/diff.d.ts.map +1 -0
  6. package/dist/commands/stack/diff.js +64 -0
  7. package/dist/commands/stack/status.d.ts +9 -0
  8. package/dist/commands/stack/status.d.ts.map +1 -0
  9. package/dist/commands/stack/status.js +53 -0
  10. package/dist/commands/stack/teardown.d.ts +6 -0
  11. package/dist/commands/stack/teardown.d.ts.map +1 -0
  12. package/dist/commands/stack/teardown.js +104 -0
  13. package/dist/commands/stack/validate.d.ts +7 -0
  14. package/dist/commands/stack/validate.d.ts.map +1 -0
  15. package/dist/commands/stack/validate.js +42 -0
  16. package/dist/commands/stack.d.ts +10 -0
  17. package/dist/commands/stack.d.ts.map +1 -0
  18. package/dist/commands/stack.js +112 -0
  19. package/dist/index.js +2 -0
  20. package/dist/services/instances.d.ts +23 -0
  21. package/dist/services/instances.d.ts.map +1 -1
  22. package/dist/services/instances.js +46 -1
  23. package/dist/services/stack/DependencyGraphManager.d.ts +69 -0
  24. package/dist/services/stack/DependencyGraphManager.d.ts.map +1 -0
  25. package/dist/services/stack/DependencyGraphManager.js +204 -0
  26. package/dist/services/stack/DeviceResolver.d.ts +63 -0
  27. package/dist/services/stack/DeviceResolver.d.ts.map +1 -0
  28. package/dist/services/stack/DeviceResolver.js +147 -0
  29. package/dist/services/stack/GatewayResolver.d.ts +84 -0
  30. package/dist/services/stack/GatewayResolver.d.ts.map +1 -0
  31. package/dist/services/stack/GatewayResolver.js +179 -0
  32. package/dist/services/stack/StackParser.d.ts +38 -0
  33. package/dist/services/stack/StackParser.d.ts.map +1 -0
  34. package/dist/services/stack/StackParser.js +234 -0
  35. package/dist/services/stack/StackService.d.ts +76 -0
  36. package/dist/services/stack/StackService.d.ts.map +1 -0
  37. package/dist/services/stack/StackService.js +476 -0
  38. package/dist/types/stack.d.ts +191 -0
  39. package/dist/types/stack.d.ts.map +1 -0
  40. package/dist/types/stack.js +5 -0
  41. package/dist/types/validation/schemas.d.ts +17 -17
  42. package/dist/utils/stack-errors.d.ts +103 -0
  43. package/dist/utils/stack-errors.d.ts.map +1 -0
  44. package/dist/utils/stack-errors.js +158 -0
  45. package/dist/validation/stack-schemas.d.ts +535 -0
  46. package/dist/validation/stack-schemas.d.ts.map +1 -0
  47. package/dist/validation/stack-schemas.js +178 -0
  48. package/package.json +4 -2
@@ -0,0 +1,535 @@
1
+ /**
2
+ * Stack validation schemas using Zod
3
+ * Provides runtime validation for application stacks
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Application subtypes
8
+ */
9
+ export declare const applicationSubtypeSchema: z.ZodEnum<["existing", "docker-compose", "managed-process", "docker", "podman", "qemu"]>;
10
+ /**
11
+ * Auth modes
12
+ */
13
+ export declare const authModeSchema: z.ZodEnum<["none", "org", "api-key"]>;
14
+ /**
15
+ * Protocol
16
+ */
17
+ export declare const stackProtocolSchema: z.ZodEnum<["http", "https", "tcp", "udp"]>;
18
+ /**
19
+ * Application name (alphanumeric, hyphens, underscores)
20
+ */
21
+ export declare const applicationNameSchema: z.ZodString;
22
+ /**
23
+ * Port number
24
+ */
25
+ export declare const stackPortSchema: z.ZodNumber;
26
+ /**
27
+ * Device name
28
+ */
29
+ export declare const stackDeviceNameSchema: z.ZodString;
30
+ /**
31
+ * Hostname validation
32
+ */
33
+ export declare const hostnameSchema: z.ZodString;
34
+ /**
35
+ * UUID validation
36
+ */
37
+ export declare const uuidSchema: z.ZodString;
38
+ /**
39
+ * Stack application schema
40
+ */
41
+ export declare const stackApplicationSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
42
+ name: z.ZodString;
43
+ description: z.ZodOptional<z.ZodString>;
44
+ port: z.ZodNumber;
45
+ protocol: z.ZodEnum<["http", "https", "tcp", "udp"]>;
46
+ subtype: z.ZodEnum<["existing", "docker-compose", "managed-process", "docker", "podman", "qemu"]>;
47
+ deviceName: z.ZodString;
48
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
49
+ hostnames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
50
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
+ authModes: z.ZodOptional<z.ZodArray<z.ZodEnum<["none", "org", "api-key"]>, "many">>;
52
+ allowedOrganizations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
+ composeFile: z.ZodOptional<z.ZodString>;
54
+ command: z.ZodOptional<z.ZodString>;
55
+ workingDir: z.ZodOptional<z.ZodString>;
56
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
57
+ logFile: z.ZodOptional<z.ZodString>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ deviceName: string;
60
+ port: number;
61
+ protocol: "http" | "https" | "tcp" | "udp";
62
+ name: string;
63
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
64
+ published: boolean;
65
+ description?: string | undefined;
66
+ command?: string | undefined;
67
+ logFile?: string | undefined;
68
+ hostnames?: string[] | undefined;
69
+ dependsOn?: string[] | undefined;
70
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
71
+ allowedOrganizations?: string[] | undefined;
72
+ composeFile?: string | undefined;
73
+ workingDir?: string | undefined;
74
+ environment?: Record<string, string> | undefined;
75
+ }, {
76
+ deviceName: string;
77
+ port: number;
78
+ protocol: "http" | "https" | "tcp" | "udp";
79
+ name: string;
80
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
81
+ description?: string | undefined;
82
+ command?: string | undefined;
83
+ logFile?: string | undefined;
84
+ published?: boolean | undefined;
85
+ hostnames?: string[] | undefined;
86
+ dependsOn?: string[] | undefined;
87
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
88
+ allowedOrganizations?: string[] | undefined;
89
+ composeFile?: string | undefined;
90
+ workingDir?: string | undefined;
91
+ environment?: Record<string, string> | undefined;
92
+ }>, {
93
+ deviceName: string;
94
+ port: number;
95
+ protocol: "http" | "https" | "tcp" | "udp";
96
+ name: string;
97
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
98
+ published: boolean;
99
+ description?: string | undefined;
100
+ command?: string | undefined;
101
+ logFile?: string | undefined;
102
+ hostnames?: string[] | undefined;
103
+ dependsOn?: string[] | undefined;
104
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
105
+ allowedOrganizations?: string[] | undefined;
106
+ composeFile?: string | undefined;
107
+ workingDir?: string | undefined;
108
+ environment?: Record<string, string> | undefined;
109
+ }, {
110
+ deviceName: string;
111
+ port: number;
112
+ protocol: "http" | "https" | "tcp" | "udp";
113
+ name: string;
114
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
115
+ description?: string | undefined;
116
+ command?: string | undefined;
117
+ logFile?: string | undefined;
118
+ published?: boolean | undefined;
119
+ hostnames?: string[] | undefined;
120
+ dependsOn?: string[] | undefined;
121
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
122
+ allowedOrganizations?: string[] | undefined;
123
+ composeFile?: string | undefined;
124
+ workingDir?: string | undefined;
125
+ environment?: Record<string, string> | undefined;
126
+ }>, {
127
+ deviceName: string;
128
+ port: number;
129
+ protocol: "http" | "https" | "tcp" | "udp";
130
+ name: string;
131
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
132
+ published: boolean;
133
+ description?: string | undefined;
134
+ command?: string | undefined;
135
+ logFile?: string | undefined;
136
+ hostnames?: string[] | undefined;
137
+ dependsOn?: string[] | undefined;
138
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
139
+ allowedOrganizations?: string[] | undefined;
140
+ composeFile?: string | undefined;
141
+ workingDir?: string | undefined;
142
+ environment?: Record<string, string> | undefined;
143
+ }, {
144
+ deviceName: string;
145
+ port: number;
146
+ protocol: "http" | "https" | "tcp" | "udp";
147
+ name: string;
148
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
149
+ description?: string | undefined;
150
+ command?: string | undefined;
151
+ logFile?: string | undefined;
152
+ published?: boolean | undefined;
153
+ hostnames?: string[] | undefined;
154
+ dependsOn?: string[] | undefined;
155
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
156
+ allowedOrganizations?: string[] | undefined;
157
+ composeFile?: string | undefined;
158
+ workingDir?: string | undefined;
159
+ environment?: Record<string, string> | undefined;
160
+ }>, {
161
+ deviceName: string;
162
+ port: number;
163
+ protocol: "http" | "https" | "tcp" | "udp";
164
+ name: string;
165
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
166
+ published: boolean;
167
+ description?: string | undefined;
168
+ command?: string | undefined;
169
+ logFile?: string | undefined;
170
+ hostnames?: string[] | undefined;
171
+ dependsOn?: string[] | undefined;
172
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
173
+ allowedOrganizations?: string[] | undefined;
174
+ composeFile?: string | undefined;
175
+ workingDir?: string | undefined;
176
+ environment?: Record<string, string> | undefined;
177
+ }, {
178
+ deviceName: string;
179
+ port: number;
180
+ protocol: "http" | "https" | "tcp" | "udp";
181
+ name: string;
182
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
183
+ description?: string | undefined;
184
+ command?: string | undefined;
185
+ logFile?: string | undefined;
186
+ published?: boolean | undefined;
187
+ hostnames?: string[] | undefined;
188
+ dependsOn?: string[] | undefined;
189
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
190
+ allowedOrganizations?: string[] | undefined;
191
+ composeFile?: string | undefined;
192
+ workingDir?: string | undefined;
193
+ environment?: Record<string, string> | undefined;
194
+ }>;
195
+ /**
196
+ * Stack metadata schema
197
+ */
198
+ export declare const stackMetadataSchema: z.ZodObject<{
199
+ name: z.ZodString;
200
+ description: z.ZodOptional<z.ZodString>;
201
+ }, "strip", z.ZodTypeAny, {
202
+ name: string;
203
+ description?: string | undefined;
204
+ }, {
205
+ name: string;
206
+ description?: string | undefined;
207
+ }>;
208
+ /**
209
+ * Main application stack schema
210
+ */
211
+ export declare const applicationStackSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
212
+ apiVersion: z.ZodLiteral<"v1">;
213
+ kind: z.ZodLiteral<"ApplicationStack">;
214
+ metadata: z.ZodObject<{
215
+ name: z.ZodString;
216
+ description: z.ZodOptional<z.ZodString>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ name: string;
219
+ description?: string | undefined;
220
+ }, {
221
+ name: string;
222
+ description?: string | undefined;
223
+ }>;
224
+ applications: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
225
+ name: z.ZodString;
226
+ description: z.ZodOptional<z.ZodString>;
227
+ port: z.ZodNumber;
228
+ protocol: z.ZodEnum<["http", "https", "tcp", "udp"]>;
229
+ subtype: z.ZodEnum<["existing", "docker-compose", "managed-process", "docker", "podman", "qemu"]>;
230
+ deviceName: z.ZodString;
231
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
232
+ hostnames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
233
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
234
+ authModes: z.ZodOptional<z.ZodArray<z.ZodEnum<["none", "org", "api-key"]>, "many">>;
235
+ allowedOrganizations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
236
+ composeFile: z.ZodOptional<z.ZodString>;
237
+ command: z.ZodOptional<z.ZodString>;
238
+ workingDir: z.ZodOptional<z.ZodString>;
239
+ environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
240
+ logFile: z.ZodOptional<z.ZodString>;
241
+ }, "strip", z.ZodTypeAny, {
242
+ deviceName: string;
243
+ port: number;
244
+ protocol: "http" | "https" | "tcp" | "udp";
245
+ name: string;
246
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
247
+ published: boolean;
248
+ description?: string | undefined;
249
+ command?: string | undefined;
250
+ logFile?: string | undefined;
251
+ hostnames?: string[] | undefined;
252
+ dependsOn?: string[] | undefined;
253
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
254
+ allowedOrganizations?: string[] | undefined;
255
+ composeFile?: string | undefined;
256
+ workingDir?: string | undefined;
257
+ environment?: Record<string, string> | undefined;
258
+ }, {
259
+ deviceName: string;
260
+ port: number;
261
+ protocol: "http" | "https" | "tcp" | "udp";
262
+ name: string;
263
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
264
+ description?: string | undefined;
265
+ command?: string | undefined;
266
+ logFile?: string | undefined;
267
+ published?: boolean | undefined;
268
+ hostnames?: string[] | undefined;
269
+ dependsOn?: string[] | undefined;
270
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
271
+ allowedOrganizations?: string[] | undefined;
272
+ composeFile?: string | undefined;
273
+ workingDir?: string | undefined;
274
+ environment?: Record<string, string> | undefined;
275
+ }>, {
276
+ deviceName: string;
277
+ port: number;
278
+ protocol: "http" | "https" | "tcp" | "udp";
279
+ name: string;
280
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
281
+ published: boolean;
282
+ description?: string | undefined;
283
+ command?: string | undefined;
284
+ logFile?: string | undefined;
285
+ hostnames?: string[] | undefined;
286
+ dependsOn?: string[] | undefined;
287
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
288
+ allowedOrganizations?: string[] | undefined;
289
+ composeFile?: string | undefined;
290
+ workingDir?: string | undefined;
291
+ environment?: Record<string, string> | undefined;
292
+ }, {
293
+ deviceName: string;
294
+ port: number;
295
+ protocol: "http" | "https" | "tcp" | "udp";
296
+ name: string;
297
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
298
+ description?: string | undefined;
299
+ command?: string | undefined;
300
+ logFile?: string | undefined;
301
+ published?: boolean | undefined;
302
+ hostnames?: string[] | undefined;
303
+ dependsOn?: string[] | undefined;
304
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
305
+ allowedOrganizations?: string[] | undefined;
306
+ composeFile?: string | undefined;
307
+ workingDir?: string | undefined;
308
+ environment?: Record<string, string> | undefined;
309
+ }>, {
310
+ deviceName: string;
311
+ port: number;
312
+ protocol: "http" | "https" | "tcp" | "udp";
313
+ name: string;
314
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
315
+ published: boolean;
316
+ description?: string | undefined;
317
+ command?: string | undefined;
318
+ logFile?: string | undefined;
319
+ hostnames?: string[] | undefined;
320
+ dependsOn?: string[] | undefined;
321
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
322
+ allowedOrganizations?: string[] | undefined;
323
+ composeFile?: string | undefined;
324
+ workingDir?: string | undefined;
325
+ environment?: Record<string, string> | undefined;
326
+ }, {
327
+ deviceName: string;
328
+ port: number;
329
+ protocol: "http" | "https" | "tcp" | "udp";
330
+ name: string;
331
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
332
+ description?: string | undefined;
333
+ command?: string | undefined;
334
+ logFile?: string | undefined;
335
+ published?: boolean | undefined;
336
+ hostnames?: string[] | undefined;
337
+ dependsOn?: string[] | undefined;
338
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
339
+ allowedOrganizations?: string[] | undefined;
340
+ composeFile?: string | undefined;
341
+ workingDir?: string | undefined;
342
+ environment?: Record<string, string> | undefined;
343
+ }>, {
344
+ deviceName: string;
345
+ port: number;
346
+ protocol: "http" | "https" | "tcp" | "udp";
347
+ name: string;
348
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
349
+ published: boolean;
350
+ description?: string | undefined;
351
+ command?: string | undefined;
352
+ logFile?: string | undefined;
353
+ hostnames?: string[] | undefined;
354
+ dependsOn?: string[] | undefined;
355
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
356
+ allowedOrganizations?: string[] | undefined;
357
+ composeFile?: string | undefined;
358
+ workingDir?: string | undefined;
359
+ environment?: Record<string, string> | undefined;
360
+ }, {
361
+ deviceName: string;
362
+ port: number;
363
+ protocol: "http" | "https" | "tcp" | "udp";
364
+ name: string;
365
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
366
+ description?: string | undefined;
367
+ command?: string | undefined;
368
+ logFile?: string | undefined;
369
+ published?: boolean | undefined;
370
+ hostnames?: string[] | undefined;
371
+ dependsOn?: string[] | undefined;
372
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
373
+ allowedOrganizations?: string[] | undefined;
374
+ composeFile?: string | undefined;
375
+ workingDir?: string | undefined;
376
+ environment?: Record<string, string> | undefined;
377
+ }>, "many">;
378
+ }, "strip", z.ZodTypeAny, {
379
+ metadata: {
380
+ name: string;
381
+ description?: string | undefined;
382
+ };
383
+ apiVersion: "v1";
384
+ applications: {
385
+ deviceName: string;
386
+ port: number;
387
+ protocol: "http" | "https" | "tcp" | "udp";
388
+ name: string;
389
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
390
+ published: boolean;
391
+ description?: string | undefined;
392
+ command?: string | undefined;
393
+ logFile?: string | undefined;
394
+ hostnames?: string[] | undefined;
395
+ dependsOn?: string[] | undefined;
396
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
397
+ allowedOrganizations?: string[] | undefined;
398
+ composeFile?: string | undefined;
399
+ workingDir?: string | undefined;
400
+ environment?: Record<string, string> | undefined;
401
+ }[];
402
+ kind: "ApplicationStack";
403
+ }, {
404
+ metadata: {
405
+ name: string;
406
+ description?: string | undefined;
407
+ };
408
+ apiVersion: "v1";
409
+ applications: {
410
+ deviceName: string;
411
+ port: number;
412
+ protocol: "http" | "https" | "tcp" | "udp";
413
+ name: string;
414
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
415
+ description?: string | undefined;
416
+ command?: string | undefined;
417
+ logFile?: string | undefined;
418
+ published?: boolean | undefined;
419
+ hostnames?: string[] | undefined;
420
+ dependsOn?: string[] | undefined;
421
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
422
+ allowedOrganizations?: string[] | undefined;
423
+ composeFile?: string | undefined;
424
+ workingDir?: string | undefined;
425
+ environment?: Record<string, string> | undefined;
426
+ }[];
427
+ kind: "ApplicationStack";
428
+ }>, {
429
+ metadata: {
430
+ name: string;
431
+ description?: string | undefined;
432
+ };
433
+ apiVersion: "v1";
434
+ applications: {
435
+ deviceName: string;
436
+ port: number;
437
+ protocol: "http" | "https" | "tcp" | "udp";
438
+ name: string;
439
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
440
+ published: boolean;
441
+ description?: string | undefined;
442
+ command?: string | undefined;
443
+ logFile?: string | undefined;
444
+ hostnames?: string[] | undefined;
445
+ dependsOn?: string[] | undefined;
446
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
447
+ allowedOrganizations?: string[] | undefined;
448
+ composeFile?: string | undefined;
449
+ workingDir?: string | undefined;
450
+ environment?: Record<string, string> | undefined;
451
+ }[];
452
+ kind: "ApplicationStack";
453
+ }, {
454
+ metadata: {
455
+ name: string;
456
+ description?: string | undefined;
457
+ };
458
+ apiVersion: "v1";
459
+ applications: {
460
+ deviceName: string;
461
+ port: number;
462
+ protocol: "http" | "https" | "tcp" | "udp";
463
+ name: string;
464
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
465
+ description?: string | undefined;
466
+ command?: string | undefined;
467
+ logFile?: string | undefined;
468
+ published?: boolean | undefined;
469
+ hostnames?: string[] | undefined;
470
+ dependsOn?: string[] | undefined;
471
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
472
+ allowedOrganizations?: string[] | undefined;
473
+ composeFile?: string | undefined;
474
+ workingDir?: string | undefined;
475
+ environment?: Record<string, string> | undefined;
476
+ }[];
477
+ kind: "ApplicationStack";
478
+ }>, {
479
+ metadata: {
480
+ name: string;
481
+ description?: string | undefined;
482
+ };
483
+ apiVersion: "v1";
484
+ applications: {
485
+ deviceName: string;
486
+ port: number;
487
+ protocol: "http" | "https" | "tcp" | "udp";
488
+ name: string;
489
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
490
+ published: boolean;
491
+ description?: string | undefined;
492
+ command?: string | undefined;
493
+ logFile?: string | undefined;
494
+ hostnames?: string[] | undefined;
495
+ dependsOn?: string[] | undefined;
496
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
497
+ allowedOrganizations?: string[] | undefined;
498
+ composeFile?: string | undefined;
499
+ workingDir?: string | undefined;
500
+ environment?: Record<string, string> | undefined;
501
+ }[];
502
+ kind: "ApplicationStack";
503
+ }, {
504
+ metadata: {
505
+ name: string;
506
+ description?: string | undefined;
507
+ };
508
+ apiVersion: "v1";
509
+ applications: {
510
+ deviceName: string;
511
+ port: number;
512
+ protocol: "http" | "https" | "tcp" | "udp";
513
+ name: string;
514
+ subtype: "docker" | "podman" | "docker-compose" | "managed-process" | "existing" | "qemu";
515
+ description?: string | undefined;
516
+ command?: string | undefined;
517
+ logFile?: string | undefined;
518
+ published?: boolean | undefined;
519
+ hostnames?: string[] | undefined;
520
+ dependsOn?: string[] | undefined;
521
+ authModes?: ("none" | "org" | "api-key")[] | undefined;
522
+ allowedOrganizations?: string[] | undefined;
523
+ composeFile?: string | undefined;
524
+ workingDir?: string | undefined;
525
+ environment?: Record<string, string> | undefined;
526
+ }[];
527
+ kind: "ApplicationStack";
528
+ }>;
529
+ /**
530
+ * Type inference from schemas
531
+ */
532
+ export type ApplicationStackSchemaType = z.infer<typeof applicationStackSchema>;
533
+ export type StackApplicationSchemaType = z.infer<typeof stackApplicationSchema>;
534
+ export type StackMetadataSchemaType = z.infer<typeof stackMetadataSchema>;
535
+ //# sourceMappingURL=stack-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-schemas.d.ts","sourceRoot":"","sources":["../../src/validation/stack-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,wBAAwB,0FASnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,uCAEzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,4CAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAO/B,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe,aAIqB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAGuB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,UAAU,aAEO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DhC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ChC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}