aether-code 0.35.5 → 0.35.6

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.
@@ -28,7 +28,7 @@ import {
28
28
  import readline from "node:readline";
29
29
  import { c, errorLine, divider, setTerminalTitle } from "../src/render.js";
30
30
 
31
- const VERSION = "0.35.5";
31
+ const VERSION = "0.35.6";
32
32
 
33
33
  /**
34
34
  * Try to start MCP servers from ~/.aether/mcp.json. Returns a started
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aether-code",
3
- "version": "0.35.5",
3
+ "version": "0.35.6",
4
4
  "description": "Uncensored AI coding agent for your terminal — Claude Code alternative with MCP support. Reads code, writes files, runs commands. Drives IDA Pro, Roblox Studio, Wireshark, Blender, and any MCP server. No refusal layer.",
5
5
  "homepage": "https://trynoguard.com",
6
6
  "repository": {
package/src/repl.js CHANGED
@@ -9,7 +9,7 @@ import { c, errorLine, turnStats } from "./render.js";
9
9
  import { autoUpdate } from "./update-check.js";
10
10
  import { promptBox, EXIT_SIGNAL } from "./box-input.js";
11
11
 
12
- const VERSION = "0.35.5";
12
+ const VERSION = "0.35.6";
13
13
  const MODEL_NAME = "Aether Core";
14
14
 
15
15
  const MODEL_ALIASES = {
@@ -113,16 +113,17 @@ export async function runRepl({ cwd: initialCwd, autoYes: initialAutoYes, unsafe
113
113
  continue;
114
114
  }
115
115
 
116
- // Clear screen and reprint banner so chat output starts at the top
117
- process.stdout.write("\x1b[2J\x1b[H");
116
+ // Home cursor and overwrite banner in-place (no full clear = no flash)
117
+ process.stdout.write("\x1b[H");
118
118
  printBanner(state);
119
119
 
120
- // Print the echo bar (user's message) right below the banner
120
+ // Print echo bar right below banner, then wipe old content beneath it
121
121
  const echoDisplay = line.length > 200 ? line.slice(0, 197) + "..." : line;
122
122
  const echoCols = process.stdout.columns || 80;
123
123
  const echoLen = echoDisplay.length + 2;
124
124
  const echoPad = Math.max(0, echoCols - echoLen);
125
125
  process.stdout.write(`\x1b[48;5;236m ${echoDisplay}${" ".repeat(echoPad)}\x1b[0m\n`);
126
+ process.stdout.write("\x1b[J");
126
127
 
127
128
  const t0 = Date.now();
128
129
  const result = await runAgent({
@@ -156,6 +157,11 @@ export async function runRepl({ cwd: initialCwd, autoYes: initialAutoYes, unsafe
156
157
  });
157
158
  if (stats) console.log(stats);
158
159
  console.log("");
160
+
161
+ // Pin prompt to the bottom of the visible window
162
+ const pRows = process.stdout.rows || 24;
163
+ const pRow = pRows - 3;
164
+ process.stdout.write(`\x1b[${pRow};1H`);
159
165
  }
160
166
  }
161
167