@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.
- package/README.md +5 -3
- package/dist/client/api-client.d.ts +13 -1
- package/dist/client/api-client.d.ts.map +1 -1
- package/dist/client/api-client.js +19 -0
- package/dist/commands/agent/install.d.ts +2 -1
- package/dist/commands/agent/install.d.ts.map +1 -1
- package/dist/commands/agent/install.js +24 -7
- package/dist/commands/agent/start.d.ts +5 -1
- package/dist/commands/agent/start.d.ts.map +1 -1
- package/dist/commands/agent/start.js +19 -280
- package/dist/commands/agent/uninstall.d.ts.map +1 -1
- package/dist/commands/agent/uninstall.js +14 -7
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +3 -2
- package/dist/commands/ai/setup.d.ts +1 -1
- package/dist/commands/ai/setup.d.ts.map +1 -1
- package/dist/commands/ai.js +1 -1
- package/dist/commands/application/create-docker-compose.d.ts +3 -1
- package/dist/commands/application/create-docker-compose.d.ts.map +1 -1
- package/dist/commands/application/create-docker-compose.js +25 -69
- package/dist/commands/application/create-existing.d.ts +2 -2
- package/dist/commands/application/create-existing.d.ts.map +1 -1
- package/dist/commands/application/create-existing.js +27 -132
- package/dist/commands/application/create-managed-process.d.ts +3 -1
- package/dist/commands/application/create-managed-process.d.ts.map +1 -1
- package/dist/commands/application/create-managed-process.js +31 -75
- package/dist/commands/application/delete.d.ts +2 -1
- package/dist/commands/application/delete.d.ts.map +1 -1
- package/dist/commands/application/delete.js +19 -5
- package/dist/commands/application/update.d.ts +3 -0
- package/dist/commands/application/update.d.ts.map +1 -1
- package/dist/commands/application/update.js +45 -1
- package/dist/commands/application.d.ts.map +1 -1
- package/dist/commands/application.js +33 -19
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +44 -0
- package/dist/commands/debug.js +1 -1
- package/dist/commands/device/application-health.d.ts +7 -0
- package/dist/commands/device/application-health.d.ts.map +1 -0
- package/dist/commands/device/application-health.js +103 -0
- package/dist/commands/device/delete.d.ts +7 -0
- package/dist/commands/device/delete.d.ts.map +1 -0
- package/dist/commands/device/delete.js +69 -0
- package/dist/commands/device/health.d.ts +7 -0
- package/dist/commands/device/health.d.ts.map +1 -0
- package/dist/commands/device/health.js +78 -0
- package/dist/commands/device/list.d.ts +5 -0
- package/dist/commands/device/list.d.ts.map +1 -0
- package/dist/commands/device/list.js +46 -0
- package/dist/commands/device/telemetry.d.ts +8 -0
- package/dist/commands/device/telemetry.d.ts.map +1 -0
- package/dist/commands/device/telemetry.js +59 -0
- package/dist/commands/device.d.ts +6 -0
- package/dist/commands/device.d.ts.map +1 -0
- package/dist/commands/device.js +86 -0
- package/dist/commands/stack/deploy.d.ts +8 -0
- package/dist/commands/stack/deploy.d.ts.map +1 -0
- package/dist/commands/stack/deploy.js +61 -0
- package/dist/commands/stack/diff.d.ts +7 -0
- package/dist/commands/stack/diff.d.ts.map +1 -0
- package/dist/commands/stack/diff.js +66 -0
- package/dist/commands/stack/status.d.ts +9 -0
- package/dist/commands/stack/status.d.ts.map +1 -0
- package/dist/commands/stack/status.js +55 -0
- package/dist/commands/stack/teardown.d.ts +8 -0
- package/dist/commands/stack/teardown.d.ts.map +1 -0
- package/dist/commands/stack/teardown.js +107 -0
- package/dist/commands/stack/validate.d.ts +7 -0
- package/dist/commands/stack/validate.d.ts.map +1 -0
- package/dist/commands/stack/validate.js +44 -0
- package/dist/commands/stack.d.ts +10 -0
- package/dist/commands/stack.d.ts.map +1 -0
- package/dist/commands/stack.js +117 -0
- package/dist/commands/utils/auth-prompt.d.ts +25 -0
- package/dist/commands/utils/auth-prompt.d.ts.map +1 -0
- package/dist/commands/utils/auth-prompt.js +115 -0
- package/dist/commands/utils/device-prompt.d.ts +18 -0
- package/dist/commands/utils/device-prompt.d.ts.map +1 -0
- package/dist/commands/utils/device-prompt.js +58 -0
- package/dist/commands/utils/output-formatter.d.ts +13 -0
- package/dist/commands/utils/output-formatter.d.ts.map +1 -1
- package/dist/commands/utils/output-formatter.js +21 -0
- package/dist/index.js +4 -0
- package/dist/services/LocalAgentManager.d.ts +2 -1
- package/dist/services/LocalAgentManager.d.ts.map +1 -1
- package/dist/services/LocalAgentManager.js +6 -4
- package/dist/services/application/ApplicationService.d.ts +19 -0
- package/dist/services/application/ApplicationService.d.ts.map +1 -1
- package/dist/services/application/ApplicationService.js +14 -1
- package/dist/services/device/DeviceService.d.ts +62 -0
- package/dist/services/device/DeviceService.d.ts.map +1 -0
- package/dist/services/device/DeviceService.js +235 -0
- package/dist/services/edgible.d.ts +3 -1
- package/dist/services/edgible.d.ts.map +1 -1
- package/dist/services/edgible.js +5 -4
- package/dist/services/instances.d.ts +27 -1
- package/dist/services/instances.d.ts.map +1 -1
- package/dist/services/instances.js +53 -4
- package/dist/services/stack/DependencyGraphManager.d.ts +69 -0
- package/dist/services/stack/DependencyGraphManager.d.ts.map +1 -0
- package/dist/services/stack/DependencyGraphManager.js +204 -0
- package/dist/services/stack/DeviceResolver.d.ts +63 -0
- package/dist/services/stack/DeviceResolver.d.ts.map +1 -0
- package/dist/services/stack/DeviceResolver.js +147 -0
- package/dist/services/stack/GatewayResolver.d.ts +84 -0
- package/dist/services/stack/GatewayResolver.d.ts.map +1 -0
- package/dist/services/stack/GatewayResolver.js +179 -0
- package/dist/services/stack/StackParser.d.ts +38 -0
- package/dist/services/stack/StackParser.d.ts.map +1 -0
- package/dist/services/stack/StackParser.js +234 -0
- package/dist/services/stack/StackService.d.ts +76 -0
- package/dist/services/stack/StackService.d.ts.map +1 -0
- package/dist/services/stack/StackService.js +476 -0
- package/dist/types/AgentConfig.d.ts +26 -0
- package/dist/types/AgentConfig.d.ts.map +1 -1
- package/dist/types/ApiRequests.d.ts +5 -1
- package/dist/types/ApiRequests.d.ts.map +1 -1
- package/dist/types/ApiResponses.d.ts +5 -0
- package/dist/types/ApiResponses.d.ts.map +1 -1
- package/dist/types/JobTypes.d.ts +103 -0
- package/dist/types/JobTypes.d.ts.map +1 -0
- package/dist/types/JobTypes.js +80 -0
- package/dist/types/WebSocketMessages.d.ts +89 -0
- package/dist/types/WebSocketMessages.d.ts.map +1 -0
- package/dist/types/WebSocketMessages.js +5 -0
- package/dist/types/backendJobs.d.ts +102 -0
- package/dist/types/backendJobs.d.ts.map +1 -0
- package/dist/types/backendJobs.js +5 -0
- package/dist/types/models/ApplicationData.d.ts +1 -1
- package/dist/types/models/ApplicationData.d.ts.map +1 -1
- package/dist/types/models/DeviceData.d.ts +4 -0
- package/dist/types/models/DeviceData.d.ts.map +1 -1
- package/dist/types/stack.d.ts +191 -0
- package/dist/types/stack.d.ts.map +1 -0
- package/dist/types/stack.js +5 -0
- package/dist/types/validation/schemas.d.ts +20 -20
- package/dist/types/validation/schemas.js +1 -1
- package/dist/utils/stack-errors.d.ts +103 -0
- package/dist/utils/stack-errors.d.ts.map +1 -0
- package/dist/utils/stack-errors.js +158 -0
- package/dist/utils/stack-file.d.ts +11 -0
- package/dist/utils/stack-file.d.ts.map +1 -0
- package/dist/utils/stack-file.js +66 -0
- package/dist/validation/stack-schemas.d.ts +535 -0
- package/dist/validation/stack-schemas.d.ts.map +1 -0
- package/dist/validation/stack-schemas.js +178 -0
- package/package.json +4 -2
- package/dist/commands/agent/agent-handlers.d.ts +0 -45
- package/dist/commands/agent/agent-handlers.d.ts.map +0 -1
- package/dist/commands/agent/agent-handlers.js +0 -1159
- package/dist/commands/application/api-keys.d.ts +0 -3
- package/dist/commands/application/api-keys.d.ts.map +0 -1
- package/dist/commands/application/api-keys.js +0 -227
- package/dist/commands/application/create-compose.d.ts +0 -3
- package/dist/commands/application/create-compose.d.ts.map +0 -1
- package/dist/commands/application/create-compose.js +0 -381
- package/dist/commands/application/create-interactive.d.ts +0 -3
- package/dist/commands/application/create-interactive.d.ts.map +0 -1
- package/dist/commands/application/create-interactive.js +0 -326
- package/dist/commands/application/create-workload.d.ts +0 -5
- package/dist/commands/application/create-workload.d.ts.map +0 -1
- package/dist/commands/application/create-workload.js +0 -48
- package/dist/commands/application/short-codes.d.ts +0 -3
- package/dist/commands/application/short-codes.d.ts.map +0 -1
- package/dist/commands/application/short-codes.js +0 -226
- package/dist/commands/application/toggle.d.ts +0 -2
- package/dist/commands/application/toggle.d.ts.map +0 -1
- package/dist/commands/application/toggle.js +0 -78
- package/dist/commands/examples/migrated-command-example.d.ts +0 -31
- package/dist/commands/examples/migrated-command-example.d.ts.map +0 -1
- package/dist/commands/examples/migrated-command-example.js +0 -180
- package/dist/commands/managedGateway/create.d.ts +0 -6
- package/dist/commands/managedGateway/create.d.ts.map +0 -1
- package/dist/commands/managedGateway/create.js +0 -50
- package/dist/commands/managedGateway/delete.d.ts +0 -5
- package/dist/commands/managedGateway/delete.d.ts.map +0 -1
- package/dist/commands/managedGateway/delete.js +0 -57
- package/dist/commands/managedGateway/get.d.ts +0 -4
- package/dist/commands/managedGateway/get.d.ts.map +0 -1
- package/dist/commands/managedGateway/get.js +0 -71
- package/dist/commands/managedGateway/haproxy-stats.d.ts +0 -6
- package/dist/commands/managedGateway/haproxy-stats.d.ts.map +0 -1
- package/dist/commands/managedGateway/haproxy-stats.js +0 -131
- package/dist/commands/managedGateway/list.d.ts +0 -4
- package/dist/commands/managedGateway/list.d.ts.map +0 -1
- package/dist/commands/managedGateway/list.js +0 -50
- package/dist/commands/managedGateway/logs.d.ts +0 -10
- package/dist/commands/managedGateway/logs.d.ts.map +0 -1
- package/dist/commands/managedGateway/logs.js +0 -100
- package/dist/commands/managedGateway/reboot.d.ts +0 -5
- package/dist/commands/managedGateway/reboot.d.ts.map +0 -1
- package/dist/commands/managedGateway/reboot.js +0 -95
- package/dist/commands/managedGateway/resync.d.ts +0 -10
- package/dist/commands/managedGateway/resync.d.ts.map +0 -1
- package/dist/commands/managedGateway/resync.js +0 -69
- package/dist/commands/managedGateway/ssh.d.ts +0 -4
- package/dist/commands/managedGateway/ssh.d.ts.map +0 -1
- package/dist/commands/managedGateway/ssh.js +0 -130
- package/dist/commands/managedGateway/wipe-logs.d.ts +0 -4
- package/dist/commands/managedGateway/wipe-logs.d.ts.map +0 -1
- package/dist/commands/managedGateway/wipe-logs.js +0 -67
- package/dist/commands/managedGateway/wireguard.d.ts +0 -4
- package/dist/commands/managedGateway/wireguard.d.ts.map +0 -1
- package/dist/commands/managedGateway/wireguard.js +0 -68
- package/dist/di/bindings.d.ts +0 -15
- package/dist/di/bindings.d.ts.map +0 -1
- package/dist/di/bindings.js +0 -99
- package/dist/di/container.d.ts +0 -44
- package/dist/di/container.d.ts.map +0 -1
- package/dist/di/container.js +0 -88
- package/dist/di/types.d.ts +0 -23
- package/dist/di/types.d.ts.map +0 -1
- package/dist/di/types.js +0 -32
- package/dist/repositories/config-repository.d.ts +0 -46
- package/dist/repositories/config-repository.d.ts.map +0 -1
- package/dist/repositories/config-repository.js +0 -62
- package/dist/repositories/gateway-repository.d.ts +0 -37
- package/dist/repositories/gateway-repository.d.ts.map +0 -1
- package/dist/repositories/gateway-repository.js +0 -35
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Base job type interface
|
|
4
|
+
*/
|
|
5
|
+
export interface JobTypeDefinition<TInput = any, TOutput = any> {
|
|
6
|
+
type: string;
|
|
7
|
+
description: string;
|
|
8
|
+
inputSchema: z.ZodType<TInput>;
|
|
9
|
+
outputSchema: z.ZodType<TOutput>;
|
|
10
|
+
defaultTimeout: number;
|
|
11
|
+
requiresConnection: boolean;
|
|
12
|
+
deviceTypes?: ('gateway' | 'serving')[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Restart Workload
|
|
16
|
+
*/
|
|
17
|
+
export interface RestartWorkloadInput {
|
|
18
|
+
applicationId: string;
|
|
19
|
+
force?: boolean;
|
|
20
|
+
gracefulTimeout?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface RestartWorkloadOutput {
|
|
23
|
+
applicationId: string;
|
|
24
|
+
previousState: string;
|
|
25
|
+
newState: string;
|
|
26
|
+
restartedAt: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Update Configuration
|
|
30
|
+
*/
|
|
31
|
+
export interface UpdateConfigInput {
|
|
32
|
+
configType: 'agent' | 'application' | 'network';
|
|
33
|
+
configId?: string;
|
|
34
|
+
settings: Record<string, any>;
|
|
35
|
+
validate?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface UpdateConfigOutput {
|
|
38
|
+
configType: string;
|
|
39
|
+
configId?: string;
|
|
40
|
+
applied: boolean;
|
|
41
|
+
validationErrors?: string[];
|
|
42
|
+
appliedAt: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Collect Diagnostics
|
|
46
|
+
*/
|
|
47
|
+
export interface CollectDiagnosticsInput {
|
|
48
|
+
include: ('logs' | 'metrics' | 'network' | 'processes' | 'all')[];
|
|
49
|
+
timeRange?: {
|
|
50
|
+
start: string;
|
|
51
|
+
end: string;
|
|
52
|
+
};
|
|
53
|
+
maxSize?: number;
|
|
54
|
+
}
|
|
55
|
+
export interface CollectDiagnosticsOutput {
|
|
56
|
+
diagnostics: {
|
|
57
|
+
logs?: string[];
|
|
58
|
+
metrics?: Record<string, any>;
|
|
59
|
+
network?: Record<string, any>;
|
|
60
|
+
processes?: Array<{
|
|
61
|
+
pid: number;
|
|
62
|
+
name: string;
|
|
63
|
+
cpu: number;
|
|
64
|
+
memory: number;
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
collectedAt: string;
|
|
68
|
+
sizeBytes: number;
|
|
69
|
+
}
|
|
70
|
+
export declare const JOB_TYPES: {
|
|
71
|
+
readonly RESTART_WORKLOAD: JobTypeDefinition<RestartWorkloadInput, RestartWorkloadOutput>;
|
|
72
|
+
readonly UPDATE_CONFIG: JobTypeDefinition<UpdateConfigInput, UpdateConfigOutput>;
|
|
73
|
+
readonly COLLECT_DIAGNOSTICS: JobTypeDefinition<CollectDiagnosticsInput, CollectDiagnosticsOutput>;
|
|
74
|
+
};
|
|
75
|
+
export type JobType = keyof typeof JOB_TYPES;
|
|
76
|
+
export type JobInput<T extends JobType> = T extends keyof typeof JOB_TYPES ? z.infer<typeof JOB_TYPES[T]['inputSchema']> : never;
|
|
77
|
+
export type JobOutput<T extends JobType> = T extends keyof typeof JOB_TYPES ? z.infer<typeof JOB_TYPES[T]['outputSchema']> : never;
|
|
78
|
+
export type AnyJobInput = RestartWorkloadInput | UpdateConfigInput | CollectDiagnosticsInput;
|
|
79
|
+
export type AnyJobOutput = RestartWorkloadOutput | UpdateConfigOutput | CollectDiagnosticsOutput;
|
|
80
|
+
export interface Job {
|
|
81
|
+
jobId: string;
|
|
82
|
+
organizationId: string;
|
|
83
|
+
deviceId: string;
|
|
84
|
+
jobType: string;
|
|
85
|
+
input: AnyJobInput;
|
|
86
|
+
status: 'pending' | 'sent' | 'running' | 'completed' | 'failed' | 'timeout' | 'cancelled';
|
|
87
|
+
createdAt: number;
|
|
88
|
+
sentAt?: number;
|
|
89
|
+
startedAt?: number;
|
|
90
|
+
completedAt?: number;
|
|
91
|
+
updatedAt: number;
|
|
92
|
+
requireActiveConnection: boolean;
|
|
93
|
+
fulfillImmediately: boolean;
|
|
94
|
+
timeout: number;
|
|
95
|
+
requestedBy: string;
|
|
96
|
+
output?: AnyJobOutput;
|
|
97
|
+
error?: string;
|
|
98
|
+
responseTime?: number;
|
|
99
|
+
retryCount?: number;
|
|
100
|
+
metadata?: Record<string, any>;
|
|
101
|
+
ttl: number;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=JobTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobTypes.d.ts","sourceRoot":"","sources":["../../src/types/JobTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
// This file is copied from backend during build. Changes will be overwritten.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.JOB_TYPES = void 0;
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
// ============================================
|
|
8
|
+
// Job Type Registry
|
|
9
|
+
// ============================================
|
|
10
|
+
exports.JOB_TYPES = {
|
|
11
|
+
RESTART_WORKLOAD: {
|
|
12
|
+
type: 'restart_workload',
|
|
13
|
+
description: 'Restart an application workload',
|
|
14
|
+
inputSchema: zod_1.z.object({
|
|
15
|
+
applicationId: zod_1.z.string(),
|
|
16
|
+
force: zod_1.z.boolean().optional(),
|
|
17
|
+
gracefulTimeout: zod_1.z.number().optional()
|
|
18
|
+
}),
|
|
19
|
+
outputSchema: zod_1.z.object({
|
|
20
|
+
applicationId: zod_1.z.string(),
|
|
21
|
+
previousState: zod_1.z.string(),
|
|
22
|
+
newState: zod_1.z.string(),
|
|
23
|
+
restartedAt: zod_1.z.string()
|
|
24
|
+
}),
|
|
25
|
+
defaultTimeout: 60000,
|
|
26
|
+
requiresConnection: true,
|
|
27
|
+
deviceTypes: ['serving']
|
|
28
|
+
},
|
|
29
|
+
UPDATE_CONFIG: {
|
|
30
|
+
type: 'update_config',
|
|
31
|
+
description: 'Update device or application configuration',
|
|
32
|
+
inputSchema: zod_1.z.object({
|
|
33
|
+
configType: zod_1.z.enum(['agent', 'application', 'network']),
|
|
34
|
+
configId: zod_1.z.string().optional(),
|
|
35
|
+
settings: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
36
|
+
validate: zod_1.z.boolean().optional()
|
|
37
|
+
}),
|
|
38
|
+
outputSchema: zod_1.z.object({
|
|
39
|
+
configType: zod_1.z.string(),
|
|
40
|
+
configId: zod_1.z.string().optional(),
|
|
41
|
+
applied: zod_1.z.boolean(),
|
|
42
|
+
validationErrors: zod_1.z.array(zod_1.z.string()).optional(),
|
|
43
|
+
appliedAt: zod_1.z.string()
|
|
44
|
+
}),
|
|
45
|
+
defaultTimeout: 45000,
|
|
46
|
+
requiresConnection: true,
|
|
47
|
+
deviceTypes: ['gateway', 'serving']
|
|
48
|
+
},
|
|
49
|
+
COLLECT_DIAGNOSTICS: {
|
|
50
|
+
type: 'collect_diagnostics',
|
|
51
|
+
description: 'Collect device diagnostics (logs, metrics, network info)',
|
|
52
|
+
inputSchema: zod_1.z.object({
|
|
53
|
+
include: zod_1.z.array(zod_1.z.enum(['logs', 'metrics', 'network', 'processes', 'all'])),
|
|
54
|
+
timeRange: zod_1.z.object({
|
|
55
|
+
start: zod_1.z.string(),
|
|
56
|
+
end: zod_1.z.string()
|
|
57
|
+
}).optional(),
|
|
58
|
+
maxSize: zod_1.z.number().optional()
|
|
59
|
+
}),
|
|
60
|
+
outputSchema: zod_1.z.object({
|
|
61
|
+
diagnostics: zod_1.z.object({
|
|
62
|
+
logs: zod_1.z.array(zod_1.z.string()).optional(),
|
|
63
|
+
metrics: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
64
|
+
network: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
65
|
+
processes: zod_1.z.array(zod_1.z.object({
|
|
66
|
+
pid: zod_1.z.number(),
|
|
67
|
+
name: zod_1.z.string(),
|
|
68
|
+
cpu: zod_1.z.number(),
|
|
69
|
+
memory: zod_1.z.number()
|
|
70
|
+
})).optional()
|
|
71
|
+
}),
|
|
72
|
+
collectedAt: zod_1.z.string(),
|
|
73
|
+
sizeBytes: zod_1.z.number()
|
|
74
|
+
}),
|
|
75
|
+
defaultTimeout: 60000,
|
|
76
|
+
requiresConnection: true,
|
|
77
|
+
deviceTypes: ['gateway', 'serving']
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=JobTypes.js.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ApplicationData, DevicePoolData, DeviceData } from './index';
|
|
2
|
+
import { AnyJobInput, AnyJobOutput } from './JobTypes';
|
|
3
|
+
export interface InvalidationMessage {
|
|
4
|
+
type: 'invalidate';
|
|
5
|
+
resources: string[];
|
|
6
|
+
timestamp: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ApplicationUpdateMessage {
|
|
9
|
+
type: 'application_update';
|
|
10
|
+
action: 'created' | 'updated' | 'deleted';
|
|
11
|
+
application?: ApplicationData;
|
|
12
|
+
applicationId: string;
|
|
13
|
+
timestamp: number;
|
|
14
|
+
}
|
|
15
|
+
export interface DevicePoolUpdateMessage {
|
|
16
|
+
type: 'devicepool_update';
|
|
17
|
+
action: 'created' | 'updated' | 'deleted';
|
|
18
|
+
devicePool?: DevicePoolData;
|
|
19
|
+
devicePoolId: string;
|
|
20
|
+
timestamp: number;
|
|
21
|
+
}
|
|
22
|
+
export interface DeviceUpdateMessage {
|
|
23
|
+
type: 'device_update';
|
|
24
|
+
action: 'updated' | 'deleted';
|
|
25
|
+
device?: DeviceData;
|
|
26
|
+
deviceId: string;
|
|
27
|
+
timestamp: number;
|
|
28
|
+
}
|
|
29
|
+
export interface PeerUpdateMessage {
|
|
30
|
+
type: 'peer_update';
|
|
31
|
+
applicationId: string;
|
|
32
|
+
deviceId: string;
|
|
33
|
+
deviceType: 'gateway' | 'serving';
|
|
34
|
+
updates: {
|
|
35
|
+
wgPublicKey?: string;
|
|
36
|
+
wgIp?: string;
|
|
37
|
+
deviceIp?: string;
|
|
38
|
+
listenPort?: number;
|
|
39
|
+
};
|
|
40
|
+
timestamp: number;
|
|
41
|
+
}
|
|
42
|
+
export interface DeviceStateMessage {
|
|
43
|
+
type: 'device_state';
|
|
44
|
+
applicationId: string;
|
|
45
|
+
deviceId: string;
|
|
46
|
+
deviceType: 'gateway' | 'serving';
|
|
47
|
+
deploymentState: string;
|
|
48
|
+
capabilities?: Record<string, boolean>;
|
|
49
|
+
metadata?: Record<string, any>;
|
|
50
|
+
timestamp: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Request sent from Backend → Agent
|
|
54
|
+
* Initiates a job on the device
|
|
55
|
+
*/
|
|
56
|
+
export interface JobRequestMessage {
|
|
57
|
+
type: 'job_request';
|
|
58
|
+
jobId: string;
|
|
59
|
+
jobType: string;
|
|
60
|
+
input: AnyJobInput;
|
|
61
|
+
timeout: number;
|
|
62
|
+
timestamp: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Response sent from Agent → Backend
|
|
66
|
+
* Contains the job results
|
|
67
|
+
*/
|
|
68
|
+
export interface JobResponseMessage {
|
|
69
|
+
type: 'job_response';
|
|
70
|
+
jobId: string;
|
|
71
|
+
deviceId: string;
|
|
72
|
+
status: 'completed' | 'failed';
|
|
73
|
+
output?: AnyJobOutput;
|
|
74
|
+
error?: string;
|
|
75
|
+
timestamp: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Optional: Progress update for long-running jobs
|
|
79
|
+
*/
|
|
80
|
+
export interface JobProgressMessage {
|
|
81
|
+
type: 'job_progress';
|
|
82
|
+
jobId: string;
|
|
83
|
+
deviceId: string;
|
|
84
|
+
progress: number;
|
|
85
|
+
message?: string;
|
|
86
|
+
timestamp: number;
|
|
87
|
+
}
|
|
88
|
+
export type WebSocketMessage = InvalidationMessage | ApplicationUpdateMessage | DevicePoolUpdateMessage | DeviceUpdateMessage | PeerUpdateMessage | DeviceStateMessage | JobRequestMessage | JobResponseMessage | JobProgressMessage;
|
|
89
|
+
//# sourceMappingURL=WebSocketMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocketMessages.d.ts","sourceRoot":"","sources":["../../src/types/WebSocketMessages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base backend job interface - all backend jobs extend this
|
|
3
|
+
* These are async jobs executed in the backend (Lambda), not on devices
|
|
4
|
+
*/
|
|
5
|
+
export interface BaseBackendJob {
|
|
6
|
+
id: string;
|
|
7
|
+
type: string;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
attempts?: number;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Certificate provisioning job
|
|
14
|
+
* Creates SSL certificates via ZeroSSL for application hostnames
|
|
15
|
+
*/
|
|
16
|
+
export interface CertificateProvisionBackendJob extends BaseBackendJob {
|
|
17
|
+
type: 'certificate-provision';
|
|
18
|
+
data: {
|
|
19
|
+
applicationId: string;
|
|
20
|
+
hostnames: string[];
|
|
21
|
+
organizationId: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Certificate verification job
|
|
26
|
+
* Checks and completes pending certificate validation
|
|
27
|
+
*/
|
|
28
|
+
export interface CertificateVerifyBackendJob extends BaseBackendJob {
|
|
29
|
+
type: 'certificate-verify';
|
|
30
|
+
data: {
|
|
31
|
+
certificateId: string;
|
|
32
|
+
applicationId: string;
|
|
33
|
+
hostname: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Email notification job
|
|
38
|
+
* Send emails via SES
|
|
39
|
+
*/
|
|
40
|
+
export interface EmailNotificationBackendJob extends BaseBackendJob {
|
|
41
|
+
type: 'email-notification';
|
|
42
|
+
data: {
|
|
43
|
+
to: string;
|
|
44
|
+
subject: string;
|
|
45
|
+
body: string;
|
|
46
|
+
template?: string;
|
|
47
|
+
metadata?: Record<string, any>;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Data cleanup job
|
|
52
|
+
* Remove old/expired records from tables
|
|
53
|
+
*/
|
|
54
|
+
export interface DataCleanupBackendJob extends BaseBackendJob {
|
|
55
|
+
type: 'data-cleanup';
|
|
56
|
+
data: {
|
|
57
|
+
tableName: string;
|
|
58
|
+
criteria: Record<string, any>;
|
|
59
|
+
olderThan?: string;
|
|
60
|
+
dryRun?: boolean;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Data export job
|
|
65
|
+
* Generate exports in various formats
|
|
66
|
+
*/
|
|
67
|
+
export interface DataExportBackendJob extends BaseBackendJob {
|
|
68
|
+
type: 'data-export';
|
|
69
|
+
data: {
|
|
70
|
+
userId: string;
|
|
71
|
+
organizationId: string;
|
|
72
|
+
format: 'csv' | 'json' | 'pdf';
|
|
73
|
+
entityType: 'devices' | 'applications' | 'logs';
|
|
74
|
+
filters?: Record<string, any>;
|
|
75
|
+
notifyOnComplete?: boolean;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Union type of all possible backend jobs
|
|
80
|
+
*/
|
|
81
|
+
export type BackendJob = CertificateProvisionBackendJob | CertificateVerifyBackendJob | EmailNotificationBackendJob | DataCleanupBackendJob | DataExportBackendJob;
|
|
82
|
+
/**
|
|
83
|
+
* Extract job data type from job type string
|
|
84
|
+
*/
|
|
85
|
+
export type BackendJobData<T extends BackendJob['type']> = Extract<BackendJob, {
|
|
86
|
+
type: T;
|
|
87
|
+
}>['data'];
|
|
88
|
+
/**
|
|
89
|
+
* Backend job handler function signature
|
|
90
|
+
*/
|
|
91
|
+
export type BackendJobHandler<T extends BackendJob['type']> = (data: BackendJobData<T>, context: BackendJobContext) => Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Context provided to backend job handlers
|
|
94
|
+
*/
|
|
95
|
+
export interface BackendJobContext {
|
|
96
|
+
jobId: string;
|
|
97
|
+
attempts: number;
|
|
98
|
+
logger: any;
|
|
99
|
+
services: any;
|
|
100
|
+
metadata?: Record<string, any>;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=backendJobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backendJobs.d.ts","sourceRoot":"","sources":["../../src/types/backendJobs.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export interface ApplicationData {
|
|
|
19
19
|
deviceIds: string[];
|
|
20
20
|
gatewayIds: string[];
|
|
21
21
|
devicePoolId?: string;
|
|
22
|
-
subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process';
|
|
22
|
+
subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process' | 'telemetry';
|
|
23
23
|
/**
|
|
24
24
|
* Target state of the application.
|
|
25
25
|
* - 'running': Application should be deployed and running on assigned devices
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationData.d.ts","sourceRoot":"","sources":["../../../src/types/models/ApplicationData.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ApplicationData.d.ts","sourceRoot":"","sources":["../../../src/types/models/ApplicationData.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,9 @@ export interface DeviceData {
|
|
|
25
25
|
sshKeyPairName?: string;
|
|
26
26
|
providerConfiguration?: ProviderConfiguration;
|
|
27
27
|
networkIsolated?: boolean;
|
|
28
|
+
/** Application ID of the telemetry application for this device (created automatically on device creation). */
|
|
29
|
+
telemetryApplicationId?: string;
|
|
30
|
+
/** Base URL for the device's telemetry/health endpoints (e.g. https://{deviceName}-telemetry.{org}.edgible.com). Set when the telemetry application is created. */
|
|
31
|
+
telemetryUrl?: string;
|
|
28
32
|
}
|
|
29
33
|
//# sourceMappingURL=DeviceData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceData.d.ts","sourceRoot":"","sources":["../../../src/types/models/DeviceData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAG9C,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceData.d.ts","sourceRoot":"","sources":["../../../src/types/models/DeviceData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IAGjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAG9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,8GAA8G;IAC9G,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mKAAmK;IACnK,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Stack type definitions
|
|
3
|
+
* Defines the structure for declarative application deployments
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Main application stack structure
|
|
7
|
+
*/
|
|
8
|
+
export interface ApplicationStack {
|
|
9
|
+
apiVersion: string;
|
|
10
|
+
kind: 'ApplicationStack';
|
|
11
|
+
metadata: StackMetadata;
|
|
12
|
+
applications: StackApplication[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Stack metadata
|
|
16
|
+
*/
|
|
17
|
+
export interface StackMetadata {
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Application definition within a stack
|
|
23
|
+
*/
|
|
24
|
+
export interface StackApplication {
|
|
25
|
+
name: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
port: number;
|
|
28
|
+
protocol: 'http' | 'https' | 'tcp' | 'udp';
|
|
29
|
+
subtype: ApplicationSubtype;
|
|
30
|
+
deviceName: string;
|
|
31
|
+
published?: boolean;
|
|
32
|
+
hostnames?: string[];
|
|
33
|
+
dependsOn?: string[];
|
|
34
|
+
authModes?: AuthMode[];
|
|
35
|
+
allowedOrganizations?: string[];
|
|
36
|
+
composeFile?: string;
|
|
37
|
+
command?: string;
|
|
38
|
+
workingDir?: string;
|
|
39
|
+
environment?: Record<string, string>;
|
|
40
|
+
logFile?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Supported application subtypes
|
|
44
|
+
*/
|
|
45
|
+
export type ApplicationSubtype = 'existing' | 'docker-compose' | 'managed-process' | 'docker' | 'podman' | 'qemu';
|
|
46
|
+
/**
|
|
47
|
+
* Authentication modes
|
|
48
|
+
*/
|
|
49
|
+
export type AuthMode = 'none' | 'org' | 'api-key';
|
|
50
|
+
/**
|
|
51
|
+
* Stack with resolved device and gateway IDs
|
|
52
|
+
*/
|
|
53
|
+
export interface ResolvedStack extends ApplicationStack {
|
|
54
|
+
resolved: {
|
|
55
|
+
devices: Map<string, string>;
|
|
56
|
+
gateways: Map<string, string[]>;
|
|
57
|
+
applications: Map<string, string>;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Resolved application ready for deployment
|
|
62
|
+
*/
|
|
63
|
+
export interface ResolvedApplication extends StackApplication {
|
|
64
|
+
deviceId: string;
|
|
65
|
+
gatewayIds?: string[];
|
|
66
|
+
existingApplicationId?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Stack validation result
|
|
70
|
+
*/
|
|
71
|
+
export interface StackValidationResult {
|
|
72
|
+
valid: boolean;
|
|
73
|
+
errors: StackValidationError[];
|
|
74
|
+
warnings: StackValidationWarning[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validation error
|
|
78
|
+
*/
|
|
79
|
+
export interface StackValidationError {
|
|
80
|
+
path: string;
|
|
81
|
+
message: string;
|
|
82
|
+
line?: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Validation warning
|
|
86
|
+
*/
|
|
87
|
+
export interface StackValidationWarning {
|
|
88
|
+
path: string;
|
|
89
|
+
message: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Options for deploy command
|
|
93
|
+
*/
|
|
94
|
+
export interface DeployOptions {
|
|
95
|
+
file: string;
|
|
96
|
+
app?: string;
|
|
97
|
+
dryRun?: boolean;
|
|
98
|
+
skipDependencies?: boolean;
|
|
99
|
+
force?: boolean;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Options for teardown command
|
|
103
|
+
*/
|
|
104
|
+
export interface TeardownOptions {
|
|
105
|
+
file: string;
|
|
106
|
+
app?: string;
|
|
107
|
+
force?: boolean;
|
|
108
|
+
keepDependencies?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Deploy operation result
|
|
112
|
+
*/
|
|
113
|
+
export interface DeployResult {
|
|
114
|
+
success: boolean;
|
|
115
|
+
deployed: DeployedApplication[];
|
|
116
|
+
failed: FailedApplication[];
|
|
117
|
+
skipped: string[];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Successfully deployed application
|
|
121
|
+
*/
|
|
122
|
+
export interface DeployedApplication {
|
|
123
|
+
name: string;
|
|
124
|
+
applicationId: string;
|
|
125
|
+
urls?: string[];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Failed application deployment
|
|
129
|
+
*/
|
|
130
|
+
export interface FailedApplication {
|
|
131
|
+
name: string;
|
|
132
|
+
error: string;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Teardown operation result
|
|
136
|
+
*/
|
|
137
|
+
export interface TeardownResult {
|
|
138
|
+
success: boolean;
|
|
139
|
+
removed: string[];
|
|
140
|
+
failed: FailedApplication[];
|
|
141
|
+
skipped: string[];
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Stack status information
|
|
145
|
+
*/
|
|
146
|
+
export interface StackStatus {
|
|
147
|
+
stackName: string;
|
|
148
|
+
applications: ApplicationStatus[];
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Individual application status
|
|
152
|
+
*/
|
|
153
|
+
export interface ApplicationStatus {
|
|
154
|
+
name: string;
|
|
155
|
+
status: 'deployed' | 'not-deployed' | 'error';
|
|
156
|
+
applicationId?: string;
|
|
157
|
+
deviceName: string;
|
|
158
|
+
deviceId?: string;
|
|
159
|
+
published: boolean;
|
|
160
|
+
urls?: string[];
|
|
161
|
+
lastUpdated?: Date;
|
|
162
|
+
error?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Stack diff result
|
|
166
|
+
*/
|
|
167
|
+
export interface StackDiff {
|
|
168
|
+
toCreate: StackApplication[];
|
|
169
|
+
toUpdate: ApplicationDiff[];
|
|
170
|
+
toDelete: ApplicationStatus[];
|
|
171
|
+
unchanged: string[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Application diff details
|
|
175
|
+
*/
|
|
176
|
+
export interface ApplicationDiff {
|
|
177
|
+
name: string;
|
|
178
|
+
changes: {
|
|
179
|
+
field: string;
|
|
180
|
+
oldValue: any;
|
|
181
|
+
newValue: any;
|
|
182
|
+
}[];
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Dependency graph node
|
|
186
|
+
*/
|
|
187
|
+
export interface DependencyNode {
|
|
188
|
+
name: string;
|
|
189
|
+
dependencies: string[];
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/types/stack.ts"],"names":[],"mappings":"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"}
|