1import * as Data from "effect/Data";
2
3export class SshHostDiscoveryError extends Data.TaggedError("SshHostDiscoveryError")<{
4 readonly message: string;
5 readonly cause: unknown;
6}> {}
7
8export class SshInvalidTargetError extends Data.TaggedError("SshInvalidTargetError")<{
9 readonly message: string;
10}> {}
11
12export class SshCommandError extends Data.TaggedError("SshCommandError")<{
13 readonly message: string;
14 readonly command: readonly string[];
15 readonly exitCode: number | null;
16 readonly stderr: string;
17 readonly stdout?: string;
18 readonly cause?: unknown;
19}> {}
20
21export class SshLaunchError extends Data.TaggedError("SshLaunchError")<{
22 readonly message: string;
23 readonly stdout: string;
24 readonly cause?: unknown;
25}> {}
26
27export class SshPairingError extends Data.TaggedError("SshPairingError")<{
28 readonly message: string;
29 readonly stdout: string;
30 readonly cause?: unknown;
31}> {}
32
33export class SshHttpBridgeError extends Data.TaggedError("SshHttpBridgeError")<{
34 readonly message: string;
35 readonly status?: number;
36 readonly cause?: unknown;
37}> {}
38
39export class SshReadinessError extends Data.TaggedError("SshReadinessError")<{
40 readonly message: string;
41 readonly cause?: unknown;
42}> {}
43
44export class SshPasswordPromptError extends Data.TaggedError("SshPasswordPromptError")<{
45 readonly message: string;
46 readonly cause?: unknown;
47}> {}