litmus-cli 1.4.62 → 1.4.65

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.
@@ -0,0 +1,23 @@
1
+ import type { WorkspaceCarryoverResult } from "./api.js";
2
+ export declare const CARRYOVER_COMMIT_MESSAGE = "Codespaces work, carried over to local";
3
+ /**
4
+ * Ask for the saved copy until it is no longer being saved. The interviewer's switch
5
+ * makes the candidate's page show `litmus init` before its capture of the workspace
6
+ * has finished (a minute or more for a broken one), and init run in that window would
7
+ * otherwise set up the starter files for good. Still `saving` at `timeoutMs` reads as
8
+ * `unavailable`, which stops init so a re-run can restore the work.
9
+ */
10
+ export declare function awaitCarryover(fetchOnce: () => Promise<WorkspaceCarryoverResult>, { intervalMs, timeoutMs }?: {
11
+ intervalMs?: number;
12
+ timeoutMs?: number;
13
+ }): Promise<Exclude<WorkspaceCarryoverResult, {
14
+ state: "saving";
15
+ }>>;
16
+ export type GitRunner = (args: string[], cwd: string) => string;
17
+ /**
18
+ * Replace the freshly unpacked package in `targetDir` with the carried-over copy at
19
+ * `zipPath`, and commit it. Throws when the copy cannot be unpacked, like a damaged
20
+ * package download; init removes the folder then, so the candidate can run it again.
21
+ */
22
+ export declare function restoreCarryover(targetDir: string, zipPath: string, git?: GitRunner): Promise<void>;
23
+ //# sourceMappingURL=carryover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carryover.d.ts","sourceRoot":"","sources":["../../src/lib/carryover.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAExD,eAAO,MAAM,wBAAwB,2CAA2C,CAAA;AAUhF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,EAClD,EAAE,UAAkB,EAAE,SAAsB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/F,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC,CAUjE;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;AAsB/D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,SAAmB,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * ENG-3155: a switched candidate's Codespaces work, unpacked into their `litmus init`
3
+ * folder in place of the starter files.
4
+ *
5
+ * The backend saved the workspace when the interviewer switched them
6
+ * (`backend/services/switch_carryover.py`): the live tree, uncommitted work included,
7
+ * usually with its `.git` (sanitized by hostd, `refs/litmus/seed` kept), and never
8
+ * the workspace's `.litmus/`. Init has just unpacked the package, so its `.litmus/`
9
+ * setup files are already in the folder; everything else is replaced.
10
+ *
11
+ * THE REPORT HAS TO TELL CARRIED-OVER WORK FROM LOCAL WORK, so whatever the
12
+ * candidate had not committed in Codespaces is committed here as one
13
+ * `CARRYOVER_COMMIT_MESSAGE` commit, and everything after it was written locally.
14
+ * A copy that came without `.git` (over hostd's history budget, or rebuilt from a
15
+ * backup) first gets the starter package committed as the usual
16
+ * "Assessment: initial state", so that commit's diff is the Codespaces work.
17
+ */
18
+ import { execFileSync } from "child_process";
19
+ import { existsSync, readdirSync, rmSync } from "fs";
20
+ import path from "path";
21
+ import unzipper from "unzipper";
22
+ import { extractZip } from "./extract.js";
23
+ export const CARRYOVER_COMMIT_MESSAGE = "Codespaces work, carried over to local";
24
+ /** `isScaffoldCommit` hides it from the report (frontend/lib/git-utils.ts). */
25
+ const BASELINE_COMMIT_MESSAGE = "Assessment: initial state";
26
+ /** Who these commits are by when the machine has no git identity, so attribution
27
+ * does not depend on the candidate having set one. Theirs is used when it exists. */
28
+ const FALLBACK_IDENTITY = ["-c", "user.name=Litmus", "-c", "user.email=noreply@litmushiring.com"];
29
+ /** Kept from the package: the setup files tracking and hooks need. */
30
+ const KEEP = new Set([".litmus"]);
31
+ /**
32
+ * Ask for the saved copy until it is no longer being saved. The interviewer's switch
33
+ * makes the candidate's page show `litmus init` before its capture of the workspace
34
+ * has finished (a minute or more for a broken one), and init run in that window would
35
+ * otherwise set up the starter files for good. Still `saving` at `timeoutMs` reads as
36
+ * `unavailable`, which stops init so a re-run can restore the work.
37
+ */
38
+ export async function awaitCarryover(fetchOnce, { intervalMs = 5000, timeoutMs = 5 * 60000 } = {}) {
39
+ const deadline = Date.now() + timeoutMs;
40
+ for (;;) {
41
+ const result = await fetchOnce();
42
+ if (result.state !== "saving")
43
+ return result;
44
+ if (Date.now() + intervalMs > deadline) {
45
+ return { state: "unavailable", reason: "your Codespaces work is still being saved" };
46
+ }
47
+ await new Promise(resolve => setTimeout(resolve, intervalMs));
48
+ }
49
+ }
50
+ const realGit = (args, cwd) => execFileSync("git", args, { cwd, stdio: "pipe" }).toString();
51
+ function gitAvailable(git, cwd) {
52
+ try {
53
+ git(["--version"], cwd);
54
+ return true;
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
60
+ async function zipCarriesGit(zipPath) {
61
+ const directory = await unzipper.Open.file(zipPath);
62
+ return directory.files.some(f => f.path.replace(/\\/g, "/").startsWith(".git/"));
63
+ }
64
+ /** Commit whatever is staged, with the candidate's identity or else ours. False when
65
+ * there was nothing to commit or the commit failed. */
66
+ function commitStaged(git, dir, message) {
67
+ try {
68
+ git(["diff", "--cached", "--quiet"], dir);
69
+ return false;
70
+ }
71
+ catch { /* changes staged */ }
72
+ try {
73
+ git(["commit", "-q", "-m", message], dir);
74
+ return true;
75
+ }
76
+ catch { /* no identity? */ }
77
+ try {
78
+ git([...FALLBACK_IDENTITY, "commit", "-q", "-m", message], dir);
79
+ return true;
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ /**
86
+ * Replace the freshly unpacked package in `targetDir` with the carried-over copy at
87
+ * `zipPath`, and commit it. Throws when the copy cannot be unpacked, like a damaged
88
+ * package download; init removes the folder then, so the candidate can run it again.
89
+ */
90
+ export async function restoreCarryover(targetDir, zipPath, git = realGit) {
91
+ const hasGit = gitAvailable(git, targetDir);
92
+ const carriesGit = await zipCarriesGit(zipPath);
93
+ const keep = new Set(KEEP);
94
+ if (hasGit && !carriesGit) {
95
+ try {
96
+ git(["init", "-q"], targetDir);
97
+ keep.add(".git");
98
+ git(["add", "-A", "--", ".", ":(exclude).litmus"], targetDir);
99
+ commitStaged(git, targetDir, BASELINE_COMMIT_MESSAGE);
100
+ }
101
+ catch { /* no history then; the files still carry over */ }
102
+ }
103
+ for (const name of readdirSync(targetDir)) {
104
+ if (!keep.has(name))
105
+ rmSync(path.join(targetDir, name), { recursive: true, force: true });
106
+ }
107
+ await extractZip(zipPath, targetDir);
108
+ // A carried `.git` whose work was all committed in Codespaces stages nothing here:
109
+ // its own commits are the carried-over work.
110
+ if (hasGit && existsSync(path.join(targetDir, ".git"))) {
111
+ try {
112
+ // `.litmus/` is the package's setup, not their work, and their `.gitignore` may
113
+ // not name it yet (init adds it later).
114
+ git(["add", "-A", "--", ".", ":(exclude).litmus"], targetDir);
115
+ commitStaged(git, targetDir, CARRYOVER_COMMIT_MESSAGE);
116
+ }
117
+ catch { /* left uncommitted; the files are still theirs */ }
118
+ }
119
+ }
120
+ //# sourceMappingURL=carryover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carryover.js","sourceRoot":"","sources":["../../src/lib/carryover.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,9 @@ export declare const WorkspaceConnectionSchema: z.ZodObject<{
41
41
  ssh_command: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
42
  healthy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
43
43
  browser_ide_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ forwarded_ports: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
45
+ port: z.ZodNumber;
46
+ }, z.core.$strip>>>>;
44
47
  }, z.core.$strip>;
45
48
  export type WorkspaceConnection = z.infer<typeof WorkspaceConnectionSchema>;
46
49
  export declare const EditorChatConfigSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAwB7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,kBAAkB;;;;;iBAQ7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAK7D,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB;;iBAE7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI7D,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,yBAAyB;;;;;;iBAQpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAU3E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAsBjC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAI7E,eAAO,MAAM,cAAc;;;iBAGzB,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAwB7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,kBAAkB;;;;;iBAQ7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAK7D,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB;;iBAE7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI7D,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,yBAAyB;;;;;;;;;iBAWpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAU3E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAsBjC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAI7E,eAAO,MAAM,cAAc;;;iBAGzB,CAAA"}
@@ -58,6 +58,9 @@ export const WorkspaceConnectionSchema = z.object({
58
58
  // ENG-1221: signed browser-IDE URL for a running v2 workspace (null on
59
59
  // v1/Fly, or until the ingress path is live). Powers `connect --ide browser`.
60
60
  browser_ide_url: z.string().nullish(),
61
+ // ENG-2390: the ports this workspace publishes for the browser. `litmus forward`
62
+ // (ENG-3188) tunnels these when it is given none. Absent from older backends.
63
+ forwarded_ports: z.array(z.object({ port: z.number().int() })).nullish(),
61
64
  });
62
65
  // ENG-1475: the BYOK provider `litmus connect` writes into the candidate's own VS Code, so
63
66
  // Copilot Chat can reach the gateway. `configured: false` (everything else absent) is the
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE;IACtB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAE1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE;IAEnB,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE;IACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IAEzB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,4DAA4D;IAC5D,2EAA2E;IAC3E,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,kFAAkF;IAClF,+DAA+D;IAC/D,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,0EAA0E;IAC1E,2EAA2E;IAC3E,8DAA8D;IAC9D,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;CAChC,CAAC,CAAA;AAIF,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;CAC3B,CAAC,CAAA;AAIF,gFAAgF;AAChF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAA;AAIF,kEAAkE;AAClE,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,uEAAuE;IACvE,8EAA8E;IAC9E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACrC,iFAAiF;IACjF,8EAA8E;IAC9E,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;CACzE,CAAC,CAAA;AAIF,2FAA2F;AAC3F,0FAA0F;AAC1F,2FAA2F;AAC3F,EAAE;AACF,uFAAuF;AACvF,qFAAqF;AACrF,uFAAuF;AACvF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC3B,mFAAmF;IACnF,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACvG,OAAO,EAAE;IACZ,wFAAwF;IACxF,gFAAgF;IAChF,WAAW,EAAE,CAAC;SACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1D,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;KACb,CAAC,CACH;SACA,OAAO,EAAE;CACb,CAAC,CAAA;AAIF,wFAAwF;AACxF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAA"}
@@ -76,6 +76,13 @@ export declare const SSH_CONNECTION_FAILED = 255;
76
76
  * to both processes and the candidate meant it for the shell, not for us.
77
77
  */
78
78
  export declare function openSshSession(alias: string, executable?: string, spawnFn?: typeof spawn): Promise<number | null>;
79
+ /**
80
+ * ENG-3188: `ssh -N` holding `args`' forwards open in this terminal: its exit status,
81
+ * or null when it could not be started. Ctrl-C is ignored here for the same reason as
82
+ * `openSshSession`, and `onInterrupt` tells the caller it was pressed, so a stop the
83
+ * candidate asked for is not mistaken for a dropped connection.
84
+ */
85
+ export declare function openSshTunnel(args: string[], onInterrupt: () => void, executable?: string, spawnFn?: typeof spawn): Promise<number | null>;
79
86
  /**
80
87
  * The editor's Windows user `settings.json`. Built with `path.win32` explicitly, not the
81
88
  * host's `path`: this names a Windows file whatever runs it (gotcha 018). Null without
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-client.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;CACd;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAIzE;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAGjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,SAAQ,GAAG,MAAM,GAAG,IAAI,CAKtE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,SAAS,CAAA;IACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,wBAAwB,QAAS,CAAA;AAU9C,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,SAAQ,EAClB,IAAI,GAAE,gBAAuC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAUvB;AAyCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CAaxG;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAElD,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAQ,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQvH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAInH;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAQnH;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAWpE;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGvF;AA8BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,CAUtE"}
1
+ {"version":3,"file":"ssh-client.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;CACd;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAIzE;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAGjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,SAAQ,GAAG,MAAM,GAAG,IAAI,CAKtE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,SAAS,CAAA;IACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,wBAAwB,QAAS,CAAA;AAU9C,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,SAAQ,EAClB,IAAI,GAAE,gBAAuC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAUvB;AAyCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CAaxG;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAElD,kGAAkG;AAClG,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAQ,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQvH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,MAAM,IAAI,EACvB,UAAU,SAAQ,EAClB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAInH;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAQnH;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAWpE;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGvF;AA8BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,CAUtE"}
@@ -120,6 +120,20 @@ export function openSshSession(alias, executable = "ssh", spawnFn = spawn) {
120
120
  child.on("exit", (code) => resolve(code ?? SSH_CONNECTION_FAILED));
121
121
  }).finally(() => { process.off("SIGINT", ignore); });
122
122
  }
123
+ /**
124
+ * ENG-3188: `ssh -N` holding `args`' forwards open in this terminal: its exit status,
125
+ * or null when it could not be started. Ctrl-C is ignored here for the same reason as
126
+ * `openSshSession`, and `onInterrupt` tells the caller it was pressed, so a stop the
127
+ * candidate asked for is not mistaken for a dropped connection.
128
+ */
129
+ export function openSshTunnel(args, onInterrupt, executable = "ssh", spawnFn = spawn) {
130
+ process.on("SIGINT", onInterrupt);
131
+ return new Promise((resolve) => {
132
+ const child = spawnFn(executable, args, { stdio: "inherit" });
133
+ child.on("error", () => resolve(null));
134
+ child.on("exit", (code) => resolve(code ?? SSH_CONNECTION_FAILED));
135
+ }).finally(() => { process.off("SIGINT", onInterrupt); });
136
+ }
123
137
  /**
124
138
  * The editor's Windows user `settings.json`. Built with `path.win32` explicitly, not the
125
139
  * host's `path`: this names a Windows file whatever runs it (gotcha 018). Null without
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-client.js","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAgCjC,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,CAAC,GAAG,4CAA4C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/F,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,CAAwB;IACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAU,GAAG,KAAK;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/F,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IACvD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAChC,CAAC;AAsBD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAM,CAAA;AAC9C,MAAM,4BAA4B,GAAG,IAAK,CAAA;AAC1C,4FAA4F;AAC5F,MAAM,0BAA0B,GAAG,EAAE,CAAA;AAErC,MAAM,oBAAoB,GAAqB;IAC7C,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;CACjE,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,UAAU,GAAG,KAAK,EAClB,OAAyB,oBAAoB;IAE7C,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAClE,IAAI,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;IACpG,IAAI,IAAI,GAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAClD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/D,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;IAC1B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAAC,KAAa,EAAE,UAAkB,EAAE,KAAuB;IACzF,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC,CAAA;IACpG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,OAAO,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,UAAkB,EAAE,OAAiB,EAAE,KAAuB;IAClG,MAAM,CAAC,GAAG,KAAK,CACb,UAAU,EACV,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,EAC3B,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAC3E,CAAA;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,GAAI,CAAC,CAAC,KAA+B,CAAC,IAAI,CAAA;QACpD,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,6BAA6B,wBAAwB,GAAG,IAAI,GAAG,CAAC,EAAE,CAAA;QACzH,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,iBAAiB,UAAU,oBAAoB,CAAC,EAAE,CAAA;QACtG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;IACjD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;SACjC,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACrC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAA;IACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;AACpH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAgB,EAAE,mBAA4B,EAAE,OAAO,GAAG,KAAK;IAC9F,uFAAuF;IACvF,oFAAoF;IACpF,wFAAwF;IACxF,wDAAwD;IACxD,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChF,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAA;IAC7F,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAID,kGAAkG;AAClG,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAExC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,EAAE,UAAwB,KAAK;IAC7F,MAAM,MAAM,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IACvB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAChE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA2B,EAAE,MAAyB,OAAO,CAAC,GAAG;IAClG,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;AACnG,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,MAA2B,EAAE,MAAyB,OAAO,CAAC,GAAG;IAClG,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,QAAuB;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,CAAC,GAAG,+CAA+C,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3F,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,IAAI,KAAa,CAAA;IACjB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAW,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3C,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,cAA6B;IAC7E,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACjC,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,KAAK,CAAA;AAC/C,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,IAAI,CAAC,CAAA;YACR,IAAI,CAAC,KAAK,IAAI;gBAAE,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;iBACjC,IAAI,CAAC,KAAK,GAAG;gBAAE,QAAQ,GAAG,KAAK,CAAA;YACpC,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAA;YACf,GAAG,IAAI,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAA;YAC/C,GAAG,IAAI,IAAI,CAAA;QACb,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YACrC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,mBAA4B;IAC5D,oFAAoF;IACpF,wBAAwB;IACxB,MAAM,KAAK,GAAG;QACZ,4HAA4H;KAC7H,CAAA;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"ssh-client.js","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litmus-cli",
3
- "version": "1.4.62",
3
+ "version": "1.4.65",
4
4
  "description": "CLI tool for Litmus engineering assessments",
5
5
  "license": "MIT",
6
6
  "author": "elenazhao",