@edgible-team/cli 1.0.1 → 1.0.2
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/LICENSE +16 -0
- package/README.md +114 -1
- package/dist/client/api-client.d.ts +575 -0
- package/dist/client/api-client.d.ts.map +1 -0
- package/dist/client/api-client.js +196 -2
- package/dist/client/index.d.ts +10 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +18 -34
- package/dist/commands/ai.d.ts +3 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +1660 -274
- package/dist/commands/application.d.ts +6 -0
- package/dist/commands/application.d.ts.map +1 -0
- package/dist/commands/application.js +377 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/base/BaseCommand.d.ts +53 -0
- package/dist/commands/base/BaseCommand.d.ts.map +1 -0
- package/dist/commands/base/CommandHandler.d.ts +28 -0
- package/dist/commands/base/CommandHandler.d.ts.map +1 -0
- package/dist/commands/base/command-wrapper.d.ts +21 -0
- package/dist/commands/base/command-wrapper.d.ts.map +1 -0
- package/dist/commands/base/middleware.d.ts +34 -0
- package/dist/commands/base/middleware.d.ts.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/connectivity.d.ts +3 -0
- package/dist/commands/connectivity.d.ts.map +1 -0
- package/dist/commands/debug.d.ts +3 -0
- package/dist/commands/debug.d.ts.map +1 -0
- package/dist/commands/debug.js +336 -0
- package/dist/commands/discover.d.ts +3 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/examples/migrated-command-example.d.ts +31 -0
- package/dist/commands/examples/migrated-command-example.d.ts.map +1 -0
- package/dist/commands/gateway.d.ts +6 -0
- package/dist/commands/gateway.d.ts.map +1 -0
- package/dist/commands/managedGateway.d.ts +6 -0
- package/dist/commands/managedGateway.d.ts.map +1 -0
- package/dist/commands/managedGateway.js +132 -0
- package/dist/commands/utils/config-validator.d.ts +29 -0
- package/dist/commands/utils/config-validator.d.ts.map +1 -0
- package/dist/commands/utils/gateway-prompt.d.ts +23 -0
- package/dist/commands/utils/gateway-prompt.d.ts.map +1 -0
- package/dist/commands/utils/input-parser.d.ts +34 -0
- package/dist/commands/utils/input-parser.d.ts.map +1 -0
- package/dist/commands/utils/output-formatter.d.ts +62 -0
- package/dist/commands/utils/output-formatter.d.ts.map +1 -0
- package/dist/config/app-config.d.ts +44 -0
- package/dist/config/app-config.d.ts.map +1 -0
- package/dist/detection/SystemCapabilityDetector.d.ts +139 -0
- package/dist/detection/SystemCapabilityDetector.d.ts.map +1 -0
- package/dist/detection/ToolDetector.d.ts +16 -0
- package/dist/detection/ToolDetector.d.ts.map +1 -0
- package/dist/detection/WorkloadDetector.d.ts +62 -0
- package/dist/detection/WorkloadDetector.d.ts.map +1 -0
- package/dist/di/bindings.d.ts +15 -0
- package/dist/di/bindings.d.ts.map +1 -0
- package/dist/di/container.d.ts +44 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/types.d.ts +23 -0
- package/dist/di/types.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -1
- package/dist/interfaces/IDaemonManager.d.ts +67 -0
- package/dist/interfaces/IDaemonManager.d.ts.map +1 -0
- package/dist/repositories/config-repository.d.ts +46 -0
- package/dist/repositories/config-repository.d.ts.map +1 -0
- package/dist/repositories/gateway-repository.d.ts +37 -0
- package/dist/repositories/gateway-repository.d.ts.map +1 -0
- package/dist/services/AgentStatusManager.d.ts +30 -0
- package/dist/services/AgentStatusManager.d.ts.map +1 -0
- package/dist/services/ConnectivityTester.d.ts +30 -0
- package/dist/services/ConnectivityTester.d.ts.map +1 -0
- package/dist/services/DependencyInstaller.d.ts +32 -0
- package/dist/services/DependencyInstaller.d.ts.map +1 -0
- package/dist/services/LocalAgentManager.d.ts +220 -0
- package/dist/services/LocalAgentManager.d.ts.map +1 -0
- package/dist/services/LocalAgentManager.js +2 -2
- package/dist/services/application/ApplicationService.d.ts +54 -0
- package/dist/services/application/ApplicationService.d.ts.map +1 -0
- package/dist/services/application/ApplicationService.js +10 -3
- package/dist/services/auth/AuthService.d.ts +42 -0
- package/dist/services/auth/AuthService.d.ts.map +1 -0
- package/dist/services/aws.d.ts +136 -0
- package/dist/services/aws.d.ts.map +1 -0
- package/dist/services/aws.js +2 -2
- package/dist/services/daemon/DaemonManagerFactory.d.ts +17 -0
- package/dist/services/daemon/DaemonManagerFactory.d.ts.map +1 -0
- package/dist/services/daemon/DockerDaemonManager.d.ts +26 -0
- package/dist/services/daemon/DockerDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/LaunchdDaemonManager.d.ts +20 -0
- package/dist/services/daemon/LaunchdDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/LaunchdDaemonManager.js +6 -0
- package/dist/services/daemon/PodmanDaemonManager.d.ts +24 -0
- package/dist/services/daemon/PodmanDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/SystemdDaemonManager.d.ts +20 -0
- package/dist/services/daemon/SystemdDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/WindowsServiceDaemonManager.d.ts +19 -0
- package/dist/services/daemon/WindowsServiceDaemonManager.d.ts.map +1 -0
- package/dist/services/daemon/index.d.ts +7 -0
- package/dist/services/daemon/index.d.ts.map +1 -0
- package/dist/services/edgible.d.ts +304 -0
- package/dist/services/edgible.d.ts.map +1 -0
- package/dist/services/edgible.js +53 -4
- package/dist/services/gateway/GatewayService.d.ts +88 -0
- package/dist/services/gateway/GatewayService.d.ts.map +1 -0
- package/dist/state/config.d.ts +96 -0
- package/dist/state/config.d.ts.map +1 -0
- package/dist/types/AgentConfig.d.ts +126 -0
- package/dist/types/AgentConfig.d.ts.map +1 -0
- package/dist/types/AgentStatus.d.ts +30 -0
- package/dist/types/AgentStatus.d.ts.map +1 -0
- package/dist/types/ApiClient.d.ts +36 -0
- package/dist/types/ApiClient.d.ts.map +1 -0
- package/dist/types/ApiRequests.d.ts +269 -0
- package/dist/types/ApiRequests.d.ts.map +1 -0
- package/dist/types/ApiResponses.d.ts +348 -0
- package/dist/types/ApiResponses.d.ts.map +1 -0
- package/dist/types/Application.d.ts +13 -0
- package/dist/types/Application.d.ts.map +1 -0
- package/dist/types/CaddyJson.d.ts +231 -0
- package/dist/types/CaddyJson.d.ts.map +1 -0
- package/dist/types/DeviceMetrics.d.ts +95 -0
- package/dist/types/DeviceMetrics.d.ts.map +1 -0
- package/dist/types/DeviceMetrics.js +5 -0
- package/dist/types/LogAggregation.d.ts +106 -0
- package/dist/types/LogAggregation.d.ts.map +1 -0
- package/dist/types/LogAggregation.js +5 -0
- package/dist/types/LogEntry.d.ts +60 -0
- package/dist/types/LogEntry.d.ts.map +1 -0
- package/dist/types/LogEntry.js +5 -0
- package/dist/types/UnifiedAgentStatus.d.ts +28 -0
- package/dist/types/UnifiedAgentStatus.d.ts.map +1 -0
- package/dist/types/WireGuard.d.ts +36 -0
- package/dist/types/WireGuard.d.ts.map +1 -0
- package/dist/types/Workload.d.ts +9 -0
- package/dist/types/Workload.d.ts.map +1 -0
- package/dist/types/agent.d.ts +120 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/command-options.d.ts +115 -0
- package/dist/types/command-options.d.ts.map +1 -0
- package/dist/types/connectivity.d.ts +80 -0
- package/dist/types/connectivity.d.ts.map +1 -0
- package/dist/types/errors.d.ts +97 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/gateway-types.d.ts +46 -0
- package/dist/types/gateway-types.d.ts.map +1 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/models/ApplicationData.d.ts +78 -0
- package/dist/types/models/ApplicationData.d.ts.map +1 -0
- package/dist/types/models/CertificateData.d.ts +44 -0
- package/dist/types/models/CertificateData.d.ts.map +1 -0
- package/dist/types/models/DeviceData.d.ts +29 -0
- package/dist/types/models/DeviceData.d.ts.map +1 -0
- package/dist/types/models/DevicePoolData.d.ts +47 -0
- package/dist/types/models/DevicePoolData.d.ts.map +1 -0
- package/dist/types/models/LifecycleEvent.d.ts +27 -0
- package/dist/types/models/LifecycleEvent.d.ts.map +1 -0
- package/dist/types/models/LifecycleEvent.js +5 -0
- package/dist/types/models/OrganizationData.d.ts +53 -0
- package/dist/types/models/OrganizationData.d.ts.map +1 -0
- package/dist/types/models/OrganizationInviteData.d.ts +39 -0
- package/dist/types/models/OrganizationInviteData.d.ts.map +1 -0
- package/dist/types/models/ProviderConfiguration.d.ts +37 -0
- package/dist/types/models/ProviderConfiguration.d.ts.map +1 -0
- package/dist/types/models/ResourceData.d.ts +18 -0
- package/dist/types/models/ResourceData.d.ts.map +1 -0
- package/dist/types/models/ServiceResourceData.d.ts +5 -0
- package/dist/types/models/ServiceResourceData.d.ts.map +1 -0
- package/dist/types/models/UserData.d.ts +12 -0
- package/dist/types/models/UserData.d.ts.map +1 -0
- package/dist/types/route.d.ts +67 -0
- package/dist/types/route.d.ts.map +1 -0
- package/dist/types/validation/schemas.d.ts +606 -0
- package/dist/types/validation/schemas.d.ts.map +1 -0
- package/dist/types/validation/schemas.js +46 -4
- package/dist/types/validation.d.ts +68 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/utils/FileIntegrityManager.d.ts +37 -0
- package/dist/utils/FileIntegrityManager.d.ts.map +1 -0
- package/dist/utils/PathMigration.d.ts +45 -0
- package/dist/utils/PathMigration.d.ts.map +1 -0
- package/dist/utils/PathResolver.d.ts +76 -0
- package/dist/utils/PathResolver.d.ts.map +1 -0
- package/dist/utils/PlatformDetector.d.ts +60 -0
- package/dist/utils/PlatformDetector.d.ts.map +1 -0
- package/dist/utils/console-logger.d.ts +37 -0
- package/dist/utils/console-logger.d.ts.map +1 -0
- package/dist/utils/docker-compose-parser.d.ts +28 -0
- package/dist/utils/docker-compose-parser.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +63 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/health-checker.d.ts +34 -0
- package/dist/utils/health-checker.d.ts.map +1 -0
- package/dist/utils/json-logger.d.ts +23 -0
- package/dist/utils/json-logger.d.ts.map +1 -0
- package/dist/utils/log-formatter.d.ts +85 -0
- package/dist/utils/log-formatter.d.ts.map +1 -0
- package/dist/utils/log-formatter.js +39 -11
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/network-utils.d.ts +56 -0
- package/dist/utils/network-utils.d.ts.map +1 -0
- package/dist/utils/output.d.ts +73 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/passwordValidation.d.ts +32 -0
- package/dist/utils/passwordValidation.d.ts.map +1 -0
- package/dist/utils/progress.d.ts +74 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/sudo-checker.d.ts +9 -0
- package/dist/utils/sudo-checker.d.ts.map +1 -0
- package/dist/utils/urls.d.ts +19 -0
- package/dist/utils/urls.d.ts.map +1 -0
- package/dist/utils/urls.js +3 -3
- package/dist/utils/validation.d.ts +19 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/validation/schemas.d.ts +197 -0
- package/dist/validation/schemas.d.ts.map +1 -0
- package/dist/validation/schemas.js +1 -1
- package/dist/validation/validator.d.ts +22 -0
- package/dist/validation/validator.d.ts.map +1 -0
- package/package.json +8 -3
- package/recipes/compose/open-webui/docker-compose.yml +17 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway service
|
|
3
|
+
* Handles gateway device management operations
|
|
4
|
+
*/
|
|
5
|
+
import { ConfigRepository } from '../../repositories/config-repository';
|
|
6
|
+
import { GatewayRepository } from '../../repositories/gateway-repository';
|
|
7
|
+
import { AuthService } from '../auth/AuthService';
|
|
8
|
+
import { Logger } from '../../utils/logger';
|
|
9
|
+
import { ApplicationData } from '../../types/models/ApplicationData';
|
|
10
|
+
export interface GatewayCreateConfig {
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
awsProfile?: string;
|
|
14
|
+
region?: string;
|
|
15
|
+
instanceType?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface GatewayCreateResult {
|
|
18
|
+
message: string;
|
|
19
|
+
gateway: {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
organizationId: string;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
};
|
|
26
|
+
ec2Instance: {
|
|
27
|
+
instanceId: string;
|
|
28
|
+
publicIp: string;
|
|
29
|
+
privateIp: string;
|
|
30
|
+
state: string;
|
|
31
|
+
keyPairName: string;
|
|
32
|
+
region: string;
|
|
33
|
+
};
|
|
34
|
+
sshKey: {
|
|
35
|
+
privateKey: string;
|
|
36
|
+
publicKey: string;
|
|
37
|
+
keyName: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface Gateway {
|
|
41
|
+
device: {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
description: string;
|
|
45
|
+
type: 'gateway' | 'serving';
|
|
46
|
+
organizationId: string;
|
|
47
|
+
createdAt: string;
|
|
48
|
+
};
|
|
49
|
+
ec2Instance?: {
|
|
50
|
+
instanceId: string;
|
|
51
|
+
publicIp: string;
|
|
52
|
+
privateIp: string;
|
|
53
|
+
state: string;
|
|
54
|
+
region: string;
|
|
55
|
+
};
|
|
56
|
+
applicationCount?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface GatewayListResult {
|
|
59
|
+
gateways: Gateway[];
|
|
60
|
+
}
|
|
61
|
+
export interface GatewayService {
|
|
62
|
+
createGateway(config: GatewayCreateConfig): Promise<GatewayCreateResult>;
|
|
63
|
+
listGateways(): Promise<GatewayListResult>;
|
|
64
|
+
deleteGateway(gatewayId: string, force: boolean): Promise<{
|
|
65
|
+
success: boolean;
|
|
66
|
+
message: string;
|
|
67
|
+
}>;
|
|
68
|
+
getGatewayApplications(gatewayId: string): Promise<ApplicationData[]>;
|
|
69
|
+
}
|
|
70
|
+
export declare class GatewayServiceImpl implements GatewayService {
|
|
71
|
+
private apiClient;
|
|
72
|
+
private configRepository;
|
|
73
|
+
private gatewayRepository;
|
|
74
|
+
private authService;
|
|
75
|
+
private logger;
|
|
76
|
+
private baseUrl;
|
|
77
|
+
constructor(baseUrl: string, configRepository: ConfigRepository, gatewayRepository: GatewayRepository, authService: AuthService, logger: Logger);
|
|
78
|
+
private restoreTokensFromApiClient;
|
|
79
|
+
private generateAgentUserData;
|
|
80
|
+
createGateway(config: GatewayCreateConfig): Promise<GatewayCreateResult>;
|
|
81
|
+
listGateways(): Promise<GatewayListResult>;
|
|
82
|
+
deleteGateway(gatewayId: string, force?: boolean): Promise<{
|
|
83
|
+
success: boolean;
|
|
84
|
+
message: string;
|
|
85
|
+
}>;
|
|
86
|
+
getGatewayApplications(gatewayId: string): Promise<ApplicationData[]>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=GatewayService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayService.d.ts","sourceRoot":"","sources":["../../../src/services/gateway/GatewayService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export interface UserConfig {
|
|
2
|
+
email?: string;
|
|
3
|
+
isFirstRun: boolean;
|
|
4
|
+
lastLogin?: string;
|
|
5
|
+
accountExists?: boolean;
|
|
6
|
+
detectedTools?: string[];
|
|
7
|
+
toolDetectionDate?: string;
|
|
8
|
+
deviceId?: string;
|
|
9
|
+
deviceName?: string;
|
|
10
|
+
devicePassword?: string;
|
|
11
|
+
deviceType?: 'gateway' | 'serving';
|
|
12
|
+
organizationId?: string;
|
|
13
|
+
userEmail?: string;
|
|
14
|
+
accessToken?: string;
|
|
15
|
+
idToken?: string;
|
|
16
|
+
refreshToken?: string;
|
|
17
|
+
awsProfile?: string;
|
|
18
|
+
awsRegion?: string;
|
|
19
|
+
gateways?: {
|
|
20
|
+
[gatewayId: string]: {
|
|
21
|
+
name: string;
|
|
22
|
+
deviceId: string;
|
|
23
|
+
ec2InstanceId: string;
|
|
24
|
+
publicIp: string;
|
|
25
|
+
privateIp: string;
|
|
26
|
+
keyPairName: string;
|
|
27
|
+
keyPath: string;
|
|
28
|
+
region: string;
|
|
29
|
+
createdAt: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
wireguardMode?: 'kernel' | 'userspace';
|
|
33
|
+
wireguardGoBinary?: string;
|
|
34
|
+
agentInstallationType?: 'systemd' | 'launchd' | 'windows-service' | 'docker' | 'podman';
|
|
35
|
+
agentServiceName?: string;
|
|
36
|
+
agentContainerName?: string;
|
|
37
|
+
agentDataPath?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare class ConfigManager {
|
|
40
|
+
private configPath;
|
|
41
|
+
private config;
|
|
42
|
+
constructor();
|
|
43
|
+
private loadConfig;
|
|
44
|
+
private saveConfig;
|
|
45
|
+
getConfig(): UserConfig;
|
|
46
|
+
updateConfig(updates: Partial<UserConfig>): void;
|
|
47
|
+
isFirstRun(): boolean;
|
|
48
|
+
setFirstRunComplete(): void;
|
|
49
|
+
setEmail(email: string): void;
|
|
50
|
+
getEmail(): string | undefined;
|
|
51
|
+
setAccountStatus(exists: boolean): void;
|
|
52
|
+
hasAccount(): boolean;
|
|
53
|
+
clearConfig(): void;
|
|
54
|
+
addGateway(gatewayId: string, gatewayInfo: {
|
|
55
|
+
name: string;
|
|
56
|
+
deviceId: string;
|
|
57
|
+
ec2InstanceId: string;
|
|
58
|
+
publicIp: string;
|
|
59
|
+
privateIp: string;
|
|
60
|
+
keyPairName: string;
|
|
61
|
+
keyPath: string;
|
|
62
|
+
region: string;
|
|
63
|
+
}): void;
|
|
64
|
+
getGateway(gatewayId: string): {
|
|
65
|
+
name: string;
|
|
66
|
+
deviceId: string;
|
|
67
|
+
ec2InstanceId: string;
|
|
68
|
+
publicIp: string;
|
|
69
|
+
privateIp: string;
|
|
70
|
+
keyPairName: string;
|
|
71
|
+
keyPath: string;
|
|
72
|
+
region: string;
|
|
73
|
+
createdAt: string;
|
|
74
|
+
} | undefined;
|
|
75
|
+
getGateways(): {
|
|
76
|
+
[gatewayId: string]: {
|
|
77
|
+
name: string;
|
|
78
|
+
deviceId: string;
|
|
79
|
+
ec2InstanceId: string;
|
|
80
|
+
publicIp: string;
|
|
81
|
+
privateIp: string;
|
|
82
|
+
keyPairName: string;
|
|
83
|
+
keyPath: string;
|
|
84
|
+
region: string;
|
|
85
|
+
createdAt: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
removeGateway(gatewayId: string): void;
|
|
89
|
+
setAWSProfile(profile: string): void;
|
|
90
|
+
getAWSProfile(): string | undefined;
|
|
91
|
+
setAWSRegion(region: string): void;
|
|
92
|
+
getAWSRegion(): string | undefined;
|
|
93
|
+
setDeviceType(deviceType: 'gateway' | 'serving'): void;
|
|
94
|
+
getDeviceType(): 'gateway' | 'serving' | undefined;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/state/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
export interface ModuleLogConfig {
|
|
2
|
+
agent?: 'debug' | 'info' | 'warn' | 'error';
|
|
3
|
+
'api-client'?: 'debug' | 'info' | 'warn' | 'error';
|
|
4
|
+
caddy?: 'debug' | 'info' | 'warn' | 'error';
|
|
5
|
+
haproxy?: 'debug' | 'info' | 'warn' | 'error';
|
|
6
|
+
firewall?: 'debug' | 'info' | 'warn' | 'error';
|
|
7
|
+
health?: 'debug' | 'info' | 'warn' | 'error';
|
|
8
|
+
status?: 'debug' | 'info' | 'warn' | 'error';
|
|
9
|
+
update?: 'debug' | 'info' | 'warn' | 'error';
|
|
10
|
+
websocket?: 'debug' | 'info' | 'warn' | 'error';
|
|
11
|
+
}
|
|
12
|
+
export interface AgentConfig {
|
|
13
|
+
deviceId: string;
|
|
14
|
+
devicePassword: string;
|
|
15
|
+
deviceType: 'gateway' | 'serving';
|
|
16
|
+
apiBaseUrl: string;
|
|
17
|
+
organizationId?: string;
|
|
18
|
+
firewallEnabled: boolean;
|
|
19
|
+
pollingInterval: number;
|
|
20
|
+
healthCheckTimeout: number;
|
|
21
|
+
maxRetries: number;
|
|
22
|
+
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
23
|
+
logModules?: ModuleLogConfig;
|
|
24
|
+
updateEnabled: boolean;
|
|
25
|
+
updateCheckInterval: number;
|
|
26
|
+
/**
|
|
27
|
+
* WireGuard implementation mode: 'kernel' uses kernel module, 'userspace' uses wireguard-go
|
|
28
|
+
* Defaults to 'kernel' for backward compatibility
|
|
29
|
+
*/
|
|
30
|
+
wireguardMode?: 'kernel' | 'userspace';
|
|
31
|
+
/**
|
|
32
|
+
* Path to wireguard-go binary (only used when wireguardMode is 'userspace')
|
|
33
|
+
* Defaults to 'wireguard-go' (expects it in PATH)
|
|
34
|
+
*/
|
|
35
|
+
wireguardGoBinary?: string;
|
|
36
|
+
/**
|
|
37
|
+
* WebSocket URL for real-time updates (e.g., wss://api.example.com/ws)
|
|
38
|
+
* If not provided, agent will only use polling
|
|
39
|
+
*/
|
|
40
|
+
websocketUrl?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Enable/disable WebSocket connections
|
|
43
|
+
* Defaults to true if websocketUrl is provided
|
|
44
|
+
*/
|
|
45
|
+
websocketEnabled?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Polling interval (ms) when WebSocket is disconnected
|
|
48
|
+
* Defaults to 30000 (30 seconds)
|
|
49
|
+
*/
|
|
50
|
+
fallbackPollingInterval?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Full state sync interval (ms) even when WebSocket is connected
|
|
53
|
+
* Defaults to 600000 (10 minutes)
|
|
54
|
+
*/
|
|
55
|
+
fullSyncInterval?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface HealthStatus {
|
|
58
|
+
status: 'healthy' | 'unhealthy' | 'timeout' | 'error' | 'pending';
|
|
59
|
+
responseTime?: number;
|
|
60
|
+
error?: string;
|
|
61
|
+
message?: string;
|
|
62
|
+
timestamp: string;
|
|
63
|
+
}
|
|
64
|
+
export interface DeviceHealthStatus {
|
|
65
|
+
cpuUsage: number;
|
|
66
|
+
memoryUsage: number;
|
|
67
|
+
diskUsage: number;
|
|
68
|
+
uptime: number;
|
|
69
|
+
timestamp: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ConnectivityStatus {
|
|
72
|
+
isReachable: boolean;
|
|
73
|
+
latency: number;
|
|
74
|
+
error?: string;
|
|
75
|
+
timestamp: string;
|
|
76
|
+
}
|
|
77
|
+
export interface CaddyConfig {
|
|
78
|
+
applications: Array<{
|
|
79
|
+
id: string;
|
|
80
|
+
domains: string[];
|
|
81
|
+
/** @deprecated use domains */
|
|
82
|
+
domain?: string;
|
|
83
|
+
upstream: string;
|
|
84
|
+
ssl: boolean;
|
|
85
|
+
port?: number;
|
|
86
|
+
httpListenPort?: number;
|
|
87
|
+
httpsListenPort?: number;
|
|
88
|
+
healthCheckPath?: string;
|
|
89
|
+
healthCheckInterval?: string;
|
|
90
|
+
healthCheckTimeout?: string;
|
|
91
|
+
deviceApplicationConfigs?: Record<string, {
|
|
92
|
+
deviceType?: 'gateway' | 'serving';
|
|
93
|
+
wgIp?: string;
|
|
94
|
+
[key: string]: unknown;
|
|
95
|
+
}>;
|
|
96
|
+
}>;
|
|
97
|
+
}
|
|
98
|
+
export interface FirewallRule {
|
|
99
|
+
port: number;
|
|
100
|
+
protocol: 'tcp' | 'udp';
|
|
101
|
+
action: 'allow' | 'deny';
|
|
102
|
+
source?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface UpdateInfo {
|
|
105
|
+
version: string;
|
|
106
|
+
downloadUrl: string;
|
|
107
|
+
checksum: string;
|
|
108
|
+
releaseNotes: string;
|
|
109
|
+
required: boolean;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Tracks what changed during a polling cycle to avoid unnecessary work
|
|
113
|
+
*/
|
|
114
|
+
export interface PollingChanges {
|
|
115
|
+
/** Any application was added, removed, or configuration changed */
|
|
116
|
+
applicationsChanged: boolean;
|
|
117
|
+
/** Device status fields that affect routing/firewall changed */
|
|
118
|
+
deviceStatusChanged: boolean;
|
|
119
|
+
/** Pool IDs that need WireGuard peer syncing */
|
|
120
|
+
poolsChanged: Set<string>;
|
|
121
|
+
/** Firewall rules need regeneration */
|
|
122
|
+
firewallNeedsUpdate: boolean;
|
|
123
|
+
/** Caddy/HAProxy routing configuration needs update */
|
|
124
|
+
routingNeedsUpdate: boolean;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=AgentConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentConfig.d.ts","sourceRoot":"","sources":["../../src/types/AgentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface AgentStatus {
|
|
2
|
+
running: boolean;
|
|
3
|
+
health: 'healthy' | 'unhealthy' | 'degraded' | 'unknown';
|
|
4
|
+
lastPoll: string;
|
|
5
|
+
applications: any[];
|
|
6
|
+
deviceId: string;
|
|
7
|
+
deviceType: 'gateway' | 'serving';
|
|
8
|
+
pid: number;
|
|
9
|
+
uptime: number;
|
|
10
|
+
version: string;
|
|
11
|
+
lastError?: string;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
apiConnected: boolean;
|
|
14
|
+
apiAuthenticated: boolean;
|
|
15
|
+
lastApiPoll?: string;
|
|
16
|
+
configurationValid: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface StatusFileMetadata {
|
|
19
|
+
version: string;
|
|
20
|
+
checksum: string;
|
|
21
|
+
lastModified: number;
|
|
22
|
+
isValid: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface AgentStatusResult {
|
|
25
|
+
status: AgentStatus | null;
|
|
26
|
+
isValid: boolean;
|
|
27
|
+
error?: string;
|
|
28
|
+
lastChecked: Date;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=AgentStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentStatus.d.ts","sourceRoot":"","sources":["../../src/types/AgentStatus.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface ApiConfig {
|
|
2
|
+
baseUrl: string;
|
|
3
|
+
timeout?: number;
|
|
4
|
+
disableCaching?: boolean;
|
|
5
|
+
logFunction?: ((level: string, message: string, data?: any) => void) | undefined;
|
|
6
|
+
apiClientLogger?: any;
|
|
7
|
+
}
|
|
8
|
+
export interface AuthTokens {
|
|
9
|
+
accessToken: string;
|
|
10
|
+
refreshToken: string;
|
|
11
|
+
idToken: string;
|
|
12
|
+
expiresIn?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ApiError {
|
|
15
|
+
message: string;
|
|
16
|
+
statusCode: number;
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SignupCredentials {
|
|
20
|
+
email: string;
|
|
21
|
+
firstName: string;
|
|
22
|
+
lastName: string;
|
|
23
|
+
}
|
|
24
|
+
export interface TemporaryPasswordCredentials {
|
|
25
|
+
email: string;
|
|
26
|
+
temporaryPassword: string;
|
|
27
|
+
}
|
|
28
|
+
export interface LoginRequest {
|
|
29
|
+
email: string;
|
|
30
|
+
password: string;
|
|
31
|
+
}
|
|
32
|
+
export interface LoginResponse {
|
|
33
|
+
message: string;
|
|
34
|
+
tokens: AuthTokens;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ApiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../src/types/ApiClient.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjF,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;CACpB"}
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
export interface CreateOrganizationRequest {
|
|
2
|
+
name: string;
|
|
3
|
+
rootUserEmail: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
billingOrganizationId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DeleteOrganizationRequest {
|
|
8
|
+
organizationId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface UpdateOrganizationRequest {
|
|
11
|
+
organizationId: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GetOrganizationRequest {
|
|
15
|
+
organizationId: string;
|
|
16
|
+
}
|
|
17
|
+
export interface GetOrganizationUsersRequest {
|
|
18
|
+
organizationId: string;
|
|
19
|
+
}
|
|
20
|
+
export interface AddOrganizationUserRequest {
|
|
21
|
+
organizationId: string;
|
|
22
|
+
userEmail: string;
|
|
23
|
+
role: 'admin' | 'member' | 'viewer';
|
|
24
|
+
message?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface RemoveOrganizationUserRequest {
|
|
27
|
+
organizationId: string;
|
|
28
|
+
userEmail: string;
|
|
29
|
+
}
|
|
30
|
+
export interface UpdateOrganizationUserRoleRequest {
|
|
31
|
+
organizationId: string;
|
|
32
|
+
userEmail: string;
|
|
33
|
+
role: 'owner' | 'admin' | 'member' | 'viewer';
|
|
34
|
+
}
|
|
35
|
+
export interface CreateDeviceWithOrphanedOrganizationRequest {
|
|
36
|
+
name: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
type?: 'laptop' | 'desktop' | 'mobile' | 'tablet' | 'server' | 'gateway';
|
|
39
|
+
organizationName: string;
|
|
40
|
+
organizationDescription?: string;
|
|
41
|
+
userEmail?: string;
|
|
42
|
+
ipAddress?: string;
|
|
43
|
+
location?: string;
|
|
44
|
+
os?: string;
|
|
45
|
+
browser?: string;
|
|
46
|
+
isTrusted?: boolean;
|
|
47
|
+
privateKey?: string;
|
|
48
|
+
publicKey?: string;
|
|
49
|
+
password: string;
|
|
50
|
+
}
|
|
51
|
+
export interface CreateOrganizationInviteRequest {
|
|
52
|
+
organizationId: string;
|
|
53
|
+
inviteeEmail: string;
|
|
54
|
+
permission: "OWNER" | "EDITOR" | "READ_ONLY";
|
|
55
|
+
message?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface GetOrganizationInvitesRequest {
|
|
58
|
+
organizationId: string;
|
|
59
|
+
status?: "PENDING" | "ACCEPTED" | "DECLINED" | "EXPIRED" | "CANCELLED";
|
|
60
|
+
}
|
|
61
|
+
export interface AcceptInviteRequest {
|
|
62
|
+
inviteId: string;
|
|
63
|
+
}
|
|
64
|
+
export interface DeclineInviteRequest {
|
|
65
|
+
inviteId: string;
|
|
66
|
+
}
|
|
67
|
+
export interface CancelInviteRequest {
|
|
68
|
+
inviteId: string;
|
|
69
|
+
}
|
|
70
|
+
export interface GetUserInvitesRequest {
|
|
71
|
+
email: string;
|
|
72
|
+
status?: "PENDING" | "ACCEPTED" | "DECLINED" | "EXPIRED" | "CANCELLED";
|
|
73
|
+
}
|
|
74
|
+
export interface AdoptOrganizationRequest {
|
|
75
|
+
organizationId: string;
|
|
76
|
+
newOwnerEmail: string;
|
|
77
|
+
}
|
|
78
|
+
export interface GetOrphanedOrganizationsRequest {
|
|
79
|
+
}
|
|
80
|
+
export interface GetOrganizationApplicationsRequest {
|
|
81
|
+
organizationId: string;
|
|
82
|
+
}
|
|
83
|
+
export interface GetOrganizationDevicesRequest {
|
|
84
|
+
organizationId: string;
|
|
85
|
+
}
|
|
86
|
+
export interface CreateUserRequest {
|
|
87
|
+
email: string;
|
|
88
|
+
firstName?: string;
|
|
89
|
+
lastName?: string;
|
|
90
|
+
mobile?: string;
|
|
91
|
+
}
|
|
92
|
+
export interface DeleteUserRequest {
|
|
93
|
+
email: string;
|
|
94
|
+
organizationId: string;
|
|
95
|
+
}
|
|
96
|
+
export interface UpdateUserRequest {
|
|
97
|
+
email: string;
|
|
98
|
+
organizations?: string[];
|
|
99
|
+
}
|
|
100
|
+
export interface GetUserRequest {
|
|
101
|
+
email: string;
|
|
102
|
+
}
|
|
103
|
+
export interface GetUserOrganizationsRequest {
|
|
104
|
+
email: string;
|
|
105
|
+
}
|
|
106
|
+
export interface CreateApplicationRequest {
|
|
107
|
+
name: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
environment?: 'development' | 'staging' | 'prod';
|
|
110
|
+
configuration: {
|
|
111
|
+
port: number;
|
|
112
|
+
protocol: 'http' | 'https' | 'tcp' | 'udp';
|
|
113
|
+
[key: string]: unknown;
|
|
114
|
+
};
|
|
115
|
+
/** Optional additional hostnames to route to this application. */
|
|
116
|
+
hostnames?: string[];
|
|
117
|
+
deviceIds: string[];
|
|
118
|
+
gatewayIds?: string[];
|
|
119
|
+
useManagedGateway?: boolean;
|
|
120
|
+
subtype: 'local-preexisting' | 'managed-docker' | 'systemd' | 'docker-compose' | 'managed-process';
|
|
121
|
+
organizationId: string;
|
|
122
|
+
}
|
|
123
|
+
export interface DeleteApplicationRequest {
|
|
124
|
+
applicationId: string;
|
|
125
|
+
}
|
|
126
|
+
export interface UpdateApplicationRequest {
|
|
127
|
+
applicationId: string;
|
|
128
|
+
name?: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
allowedSourceIPs?: string[];
|
|
131
|
+
}
|
|
132
|
+
export interface GetApplicationRequest {
|
|
133
|
+
applicationId: string;
|
|
134
|
+
}
|
|
135
|
+
export interface CreateDeviceRequest {
|
|
136
|
+
name: string;
|
|
137
|
+
type?: 'laptop' | 'desktop' | 'mobile' | 'tablet' | 'server' | 'gateway';
|
|
138
|
+
deviceId?: string;
|
|
139
|
+
os?: string;
|
|
140
|
+
browser?: string;
|
|
141
|
+
description?: string;
|
|
142
|
+
organizationId: string;
|
|
143
|
+
userEmail: string;
|
|
144
|
+
}
|
|
145
|
+
export interface DeleteDeviceRequest {
|
|
146
|
+
deviceId: string;
|
|
147
|
+
}
|
|
148
|
+
export interface UpdateDeviceRequest {
|
|
149
|
+
deviceId: string;
|
|
150
|
+
name?: string;
|
|
151
|
+
description?: string;
|
|
152
|
+
type?: 'laptop' | 'desktop' | 'mobile' | 'tablet' | 'server' | 'gateway';
|
|
153
|
+
os?: string;
|
|
154
|
+
browser?: string;
|
|
155
|
+
location?: string;
|
|
156
|
+
status?: 'active' | 'inactive' | 'pending' | 'suspended';
|
|
157
|
+
isTrusted?: boolean;
|
|
158
|
+
ipAddress?: string;
|
|
159
|
+
}
|
|
160
|
+
export interface GetDeviceRequest {
|
|
161
|
+
deviceId: string;
|
|
162
|
+
}
|
|
163
|
+
export interface PostApplicationTrafficRequest {
|
|
164
|
+
applicationId: string;
|
|
165
|
+
ingressBytes: number;
|
|
166
|
+
egressBytes: number;
|
|
167
|
+
}
|
|
168
|
+
export interface PostDevicePoolTrafficRequest {
|
|
169
|
+
poolId: string;
|
|
170
|
+
ingressBytes: number;
|
|
171
|
+
egressBytes: number;
|
|
172
|
+
}
|
|
173
|
+
export interface CreateManagedGatewayRequest {
|
|
174
|
+
region?: string;
|
|
175
|
+
instanceType?: string;
|
|
176
|
+
name?: string;
|
|
177
|
+
}
|
|
178
|
+
export interface DeleteManagedGatewayRequest {
|
|
179
|
+
gatewayId: string;
|
|
180
|
+
force?: boolean;
|
|
181
|
+
}
|
|
182
|
+
export interface GetManagedGatewayRequest {
|
|
183
|
+
gatewayId: string;
|
|
184
|
+
}
|
|
185
|
+
export interface GetManagedGatewaySSHKeyRequest {
|
|
186
|
+
gatewayId: string;
|
|
187
|
+
}
|
|
188
|
+
export interface GetDeviceApplicationsRequest {
|
|
189
|
+
deviceId: string;
|
|
190
|
+
}
|
|
191
|
+
export interface CreateResourceRequest {
|
|
192
|
+
name: string;
|
|
193
|
+
resourceType: string;
|
|
194
|
+
type?: string;
|
|
195
|
+
region?: string;
|
|
196
|
+
description?: string;
|
|
197
|
+
status?: 'running' | 'stopped' | 'pending' | 'error';
|
|
198
|
+
cost?: number;
|
|
199
|
+
tags?: string[];
|
|
200
|
+
parentResourceId?: string;
|
|
201
|
+
organizationId?: string;
|
|
202
|
+
configuration?: Record<string, any>;
|
|
203
|
+
}
|
|
204
|
+
export interface GetResourceRequest {
|
|
205
|
+
resourceId: string;
|
|
206
|
+
}
|
|
207
|
+
export interface UpdateResourceRequest {
|
|
208
|
+
name?: string;
|
|
209
|
+
description?: string;
|
|
210
|
+
status?: 'running' | 'stopped' | 'pending' | 'error';
|
|
211
|
+
cost?: number;
|
|
212
|
+
tags?: string[];
|
|
213
|
+
region?: string;
|
|
214
|
+
}
|
|
215
|
+
export interface DeleteResourceRequest {
|
|
216
|
+
resourceId: string;
|
|
217
|
+
}
|
|
218
|
+
export interface AuthenticateRequest {
|
|
219
|
+
email: string;
|
|
220
|
+
password: string;
|
|
221
|
+
}
|
|
222
|
+
export interface RefreshTokenRequest {
|
|
223
|
+
refreshToken: string;
|
|
224
|
+
}
|
|
225
|
+
export interface LogoutRequest {
|
|
226
|
+
}
|
|
227
|
+
export interface ForceChangePasswordRequest {
|
|
228
|
+
email: string;
|
|
229
|
+
newPassword: string;
|
|
230
|
+
session: string;
|
|
231
|
+
}
|
|
232
|
+
export interface GetChallengeSessionRequest {
|
|
233
|
+
email: string;
|
|
234
|
+
password: string;
|
|
235
|
+
}
|
|
236
|
+
export interface CreateGatewayRequest {
|
|
237
|
+
name: string;
|
|
238
|
+
description?: string;
|
|
239
|
+
organizationId: string;
|
|
240
|
+
awsProfile?: string;
|
|
241
|
+
region?: string;
|
|
242
|
+
instanceType?: string;
|
|
243
|
+
keyPairName?: string;
|
|
244
|
+
securityGroupIds?: string[];
|
|
245
|
+
subnetId?: string;
|
|
246
|
+
userData?: string;
|
|
247
|
+
}
|
|
248
|
+
export interface GetGatewayRequest {
|
|
249
|
+
gatewayId: string;
|
|
250
|
+
}
|
|
251
|
+
export interface ListGatewaysRequest {
|
|
252
|
+
organizationId: string;
|
|
253
|
+
type?: 'gateway';
|
|
254
|
+
}
|
|
255
|
+
export interface DeleteGatewayRequest {
|
|
256
|
+
gatewayId: string;
|
|
257
|
+
force?: boolean;
|
|
258
|
+
}
|
|
259
|
+
export interface ResyncGatewayAgentRequest {
|
|
260
|
+
gatewayId: string;
|
|
261
|
+
agentVersion?: string;
|
|
262
|
+
}
|
|
263
|
+
export interface GetGatewayApplicationsRequest {
|
|
264
|
+
gatewayId: string;
|
|
265
|
+
}
|
|
266
|
+
export interface CheckApplicationReachabilityRequest {
|
|
267
|
+
applicationId: string;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=ApiRequests.d.ts.map
|