1import * as Schema from "effect/Schema";
2
3export class SshHostDiscoveryError extends Schema.TaggedError<SshHostDiscoveryError>()(
4 "SshHostDiscoveryError",
5 {
6 message: Schema.String,
7 cause: Schema.Defect(),
8 },
9) {}
10
11export class SshInvalidTargetError extends Schema.TaggedError<SshInvalidTargetError>()(
12 "SshInvalidTargetError",
13 {
14 message: Schema.String,
15 },
16) {}
17
18export class SshCommandError extends Schema.TaggedError<SshCommandError>()("SshCommandError", {
19 message: Schema.String,
20 command: Schema.Array(Schema.String),
21 exitCode: Schema.NullOr(Schema.Number),
22 stderr: Schema.String,
23 stdout: Schema.optional(Schema.String),
24 cause: Schema.optional(Schema.Defect()),
25}) {}
26
27export class SshLaunchError extends Schema.TaggedError<SshLaunchError>()("SshLaunchError", {
28 message: Schema.String,
29 stdout: Schema.String,
30 cause: Schema.optional(Schema.Defect()),
31}) {}
32
33export class SshPairingError extends Schema.TaggedError<SshPairingError>()("SshPairingError", {
34 message: Schema.String,
35 stdout: Schema.String,
36 cause: Schema.optional(Schema.Defect()),
37}) {}
38
39export class SshHttpBridgeError extends Schema.TaggedError<SshHttpBridgeError>()(
40 "SshHttpBridgeError",
41 {
42 message: Schema.String,
43 status: Schema.optional(Schema.Number),
44 cause: Schema.optional(Schema.Defect()),
45 },
46) {}
47
48export class SshReadinessError extends Schema.TaggedError<SshReadinessError>()(
49 "SshReadinessError",
50 {
51 message: Schema.String,
52 cause: Schema.optional(Schema.Defect()),
53 },
54) {}
55
56export class SshPasswordPromptError extends Schema.TaggedError<SshPasswordPromptError>()(
57 "SshPasswordPromptError",
58 {
59 message: Schema.String,
60 cause: Schema.optional(Schema.Defect()),
61 },
62) {}