@runloop/rl-cli 1.0.0 → 1.1.0

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Hook to handle Ctrl+C (SIGINT) consistently across all screens
2
+ * Hook to handle Ctrl+C (SIGINT) and Ctrl+D (EOF) consistently across all screens
3
3
  * Exits the program with proper cleanup of alternate screen buffer
4
4
  */
5
5
  import { useInput } from "ink";
@@ -11,5 +11,10 @@ export function useExitOnCtrlC() {
11
11
  exitAlternateScreenBuffer();
12
12
  processUtils.exit(130); // Standard exit code for SIGINT
13
13
  }
14
+ // Handle Ctrl+D (EOF) same as Ctrl+C
15
+ if (key.ctrl && input === "d") {
16
+ exitAlternateScreenBuffer();
17
+ processUtils.exit(0); // Clean exit for EOF
18
+ }
14
19
  });
15
20
  }
@@ -40,7 +40,7 @@ export function SSHSessionScreen() {
40
40
  "UserKnownHostsFile=/dev/null",
41
41
  `${sshUser}@${url}`,
42
42
  ], [keyPath, proxyCommand, sshUser, url]);
43
- return (_jsxs(_Fragment, { children: [_jsx(Breadcrumb, { items: [{ label: "SSH Session", active: true }] }), _jsxs(Box, { flexDirection: "column", paddingX: 1, marginBottom: 1, children: [_jsxs(Text, { color: colors.primary, bold: true, children: [figures.play, " Connecting to ", devboxName, "..."] }), _jsx(Text, { color: colors.textDim, dimColor: true, children: "Press Ctrl+C or type exit to disconnect" })] }), _jsx(InteractiveSpawn, { command: "ssh", args: sshArgs, onExit: (_code) => {
43
+ return (_jsxs(_Fragment, { children: [_jsx(Breadcrumb, { items: [{ label: "SSH Session", active: true }] }), _jsxs(Box, { flexDirection: "column", paddingX: 1, marginBottom: 1, children: [_jsxs(Text, { color: colors.primary, bold: true, children: [figures.play, " Connecting to ", devboxName, "..."] }), _jsx(Text, { color: colors.textDim, dimColor: true, children: "Press Ctrl+C, Ctrl+D, or type exit to disconnect" })] }), _jsx(InteractiveSpawn, { command: "ssh", args: sshArgs, onExit: (_code) => {
44
44
  // Replace current screen (don't add SSH to history stack)
45
45
  // Using replace() instead of navigate() prevents "escape goes back to SSH" bug
46
46
  setTimeout(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runloop/rl-cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Beautiful CLI for the Runloop platform",
5
5
  "type": "module",
6
6
  "bin": {