aether-code 0.33.8 → 0.34.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.
- package/bin/aether-code.js +1 -1
- package/package.json +1 -1
- package/src/repl.js +31 -21
package/bin/aether-code.js
CHANGED
|
@@ -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.
|
|
31
|
+
const VERSION = "0.34.0";
|
|
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.
|
|
3
|
+
"version": "0.34.0",
|
|
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 } 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.
|
|
12
|
+
const VERSION = "0.34.0";
|
|
13
13
|
const MODEL_NAME = "Aether Core";
|
|
14
14
|
|
|
15
15
|
const MODEL_ALIASES = {
|
|
@@ -238,6 +238,13 @@ function padRight(str, width) {
|
|
|
238
238
|
return str + " ".repeat(need);
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
+
function centerIn(str, width) {
|
|
242
|
+
const visible = stripAnsi(str).length;
|
|
243
|
+
if (visible >= width) return str;
|
|
244
|
+
const left = Math.floor((width - visible) / 2);
|
|
245
|
+
return " ".repeat(left) + str;
|
|
246
|
+
}
|
|
247
|
+
|
|
241
248
|
function printBanner(state) {
|
|
242
249
|
const cols = process.stdout.columns || 80;
|
|
243
250
|
const credits = state.balance != null ? `${state.balance.toLocaleString()} credits` : "";
|
|
@@ -256,41 +263,44 @@ function printBanner(state) {
|
|
|
256
263
|
const leftW = Math.min(Math.floor(cols * 0.5), 45);
|
|
257
264
|
const twoCol = cols >= 70;
|
|
258
265
|
|
|
259
|
-
// ── Top rule with version ──────────────────────────
|
|
260
266
|
const titleText = " Aether Code v" + VERSION + " ";
|
|
261
267
|
const titleRuleRight = Math.max(0, ruleW - 3 - titleText.length);
|
|
262
|
-
const topRule = c.
|
|
268
|
+
const topRule = c.cyan("──" + titleText + "─".repeat(titleRuleRight));
|
|
263
269
|
|
|
264
|
-
|
|
265
|
-
const botRule = c.dim("─".repeat(ruleW));
|
|
270
|
+
const VL = c.cyan("│");
|
|
266
271
|
|
|
267
272
|
let printed = 0;
|
|
268
273
|
const pr = (s) => { console.log(s); printed++; };
|
|
269
274
|
|
|
270
275
|
pr("");
|
|
271
276
|
pr(" " + topRule);
|
|
272
|
-
pr("");
|
|
273
277
|
|
|
274
278
|
if (twoCol) {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
const row = (left, right) => {
|
|
280
|
+
pr(" " + padRight(left, leftW) + " " + VL + " " + right);
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
row(centerIn(c.bold("Welcome back!"), leftW), c.bold("Tips for getting started"));
|
|
284
|
+
row("", c.dim("Ask Aether to build, debug, or refactor code"));
|
|
285
|
+
row(centerIn(`${C}${B} ${C}`, leftW), "");
|
|
286
|
+
row(centerIn(`${B}${C} ${B}`, leftW), c.yellow("What's new"));
|
|
287
|
+
row(centerIn(`${C}${B} ${C}`, leftW), c.dim("Creative thinking words while processing"));
|
|
288
|
+
row("", c.dim("Prompt pins to bottom, content scrolls up"));
|
|
289
|
+
row("", "");
|
|
290
|
+
row(centerIn(modelLine, leftW), "");
|
|
291
|
+
row(centerIn(c.dim(shortenPath(state.cwd, 50)), leftW), "");
|
|
281
292
|
} else {
|
|
282
|
-
pr(" " + c.bold("Welcome back!"));
|
|
283
293
|
pr("");
|
|
284
|
-
pr(
|
|
285
|
-
pr(
|
|
286
|
-
pr(
|
|
294
|
+
pr(centerIn(c.bold("Welcome back!"), cols - 4));
|
|
295
|
+
pr("");
|
|
296
|
+
pr(centerIn(`${C}${B} ${C}`, cols - 4));
|
|
297
|
+
pr(centerIn(`${B}${C} ${B}`, cols - 4));
|
|
298
|
+
pr(centerIn(`${C}${B} ${C}`, cols - 4));
|
|
299
|
+
pr("");
|
|
300
|
+
pr(centerIn(modelLine, cols - 4));
|
|
301
|
+
pr(centerIn(c.dim(shortenPath(state.cwd, 50)), cols - 4));
|
|
287
302
|
}
|
|
288
303
|
|
|
289
|
-
pr("");
|
|
290
|
-
pr(" " + modelLine);
|
|
291
|
-
pr(" " + c.dim(shortenPath(state.cwd, 60)));
|
|
292
|
-
pr("");
|
|
293
|
-
pr(" " + botRule);
|
|
294
304
|
pr("");
|
|
295
305
|
|
|
296
306
|
return printed;
|