aether-code 0.31.0 → 0.32.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 +5 -5
- package/package.json +1 -1
- package/src/repl.js +4 -6
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.32.0";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Try to start MCP servers from ~/.aether/mcp.json. Returns a started
|
|
@@ -90,8 +90,8 @@ ${c.bold("FLAGS")}
|
|
|
90
90
|
Default is auto-approve (skip-permissions).
|
|
91
91
|
--sandbox Restrict file access to --cwd. Default is full access.
|
|
92
92
|
--cwd <path> Working directory for the agent (default: current dir).
|
|
93
|
-
--model <name> core (default) | ultra (Opus)
|
|
94
|
-
|
|
93
|
+
--model <name> core (default) | ultra (Opus). Premium models need
|
|
94
|
+
purchased credits, else they fall back to Core.
|
|
95
95
|
--max-turns <n> Maximum turns before stopping (default: 25).
|
|
96
96
|
--help, -h Show this help.
|
|
97
97
|
--version, -v Print version.
|
|
@@ -193,9 +193,9 @@ async function main() {
|
|
|
193
193
|
const unsafePaths = !args.flags.sandbox;
|
|
194
194
|
const maxTurns = Number.isInteger(args.flags.maxTurns) ? args.flags.maxTurns : 25;
|
|
195
195
|
|
|
196
|
-
// --model: core (default)
|
|
196
|
+
// --model: core (default) or ultra (Opus). Premium models are gated
|
|
197
197
|
// server-side — without purchased credits the server uses Core regardless.
|
|
198
|
-
const MODEL_IDS = { core: null, gemma: null, ultra: "claude-opus-4-6", opus: "claude-opus-4-6"
|
|
198
|
+
const MODEL_IDS = { core: null, gemma: null, ultra: "claude-opus-4-6", opus: "claude-opus-4-6" };
|
|
199
199
|
const modelKey = args.flags.model ? String(args.flags.model).toLowerCase() : null;
|
|
200
200
|
const model = modelKey && modelKey in MODEL_IDS ? MODEL_IDS[modelKey] : (args.flags.model || null);
|
|
201
201
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aether-code",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.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
|
@@ -16,7 +16,7 @@ import { c, errorLine, boxLines, sideBySide } from "./render.js";
|
|
|
16
16
|
import { checkForUpdate } from "./update-check.js";
|
|
17
17
|
import { promptBox, EXIT_SIGNAL } from "./box-input.js";
|
|
18
18
|
|
|
19
|
-
const VERSION = "0.
|
|
19
|
+
const VERSION = "0.32.0";
|
|
20
20
|
const MODEL_NAME = "Aether Core";
|
|
21
21
|
|
|
22
22
|
// /model aliases → { id, name }. id=null = server default (gemma / Aether Core).
|
|
@@ -27,8 +27,6 @@ const MODEL_ALIASES = {
|
|
|
27
27
|
gemma: { id: null, name: "Aether Core" },
|
|
28
28
|
ultra: { id: "claude-opus-4-6", name: "Aether Ultra" },
|
|
29
29
|
opus: { id: "claude-opus-4-6", name: "Aether Ultra" },
|
|
30
|
-
max: { id: "grok-4-3", name: "Aether Max" },
|
|
31
|
-
grok: { id: "grok-4-3", name: "Aether Max" },
|
|
32
30
|
};
|
|
33
31
|
|
|
34
32
|
const SHORTCUTS = `
|
|
@@ -39,7 +37,7 @@ const SHORTCUTS = `
|
|
|
39
37
|
${c.cyan("/cwd")} ${c.gray("[path]")} Show or change working directory
|
|
40
38
|
${c.cyan("/yes")} Toggle auto-approve mode (skip y/N prompts)
|
|
41
39
|
${c.cyan("/turns")} ${c.gray("<n>")} Set max turns per prompt (default 25)
|
|
42
|
-
${c.cyan("/model")} ${c.gray("[core|ultra
|
|
40
|
+
${c.cyan("/model")} ${c.gray("[core|ultra]")} Show or switch model (ultra=Opus — premium)
|
|
43
41
|
|
|
44
42
|
${c.gray("Anything else is sent to the agent as your next message.")}
|
|
45
43
|
${c.gray("Conversation history is kept across messages until you /clear.")}
|
|
@@ -219,7 +217,7 @@ async function handleSlash(line, state) {
|
|
|
219
217
|
const key = (arg || "").trim().toLowerCase();
|
|
220
218
|
if (!key) {
|
|
221
219
|
console.log(c.gray(`model: ${state.modelName}`));
|
|
222
|
-
console.log(c.gray("switch with /model core | ultra
|
|
220
|
+
console.log(c.gray("switch with /model core | ultra (ultra=Opus — premium, need credits)"));
|
|
223
221
|
} else if (MODEL_ALIASES[key]) {
|
|
224
222
|
state.model = MODEL_ALIASES[key].id;
|
|
225
223
|
state.modelName = MODEL_ALIASES[key].name;
|
|
@@ -229,7 +227,7 @@ async function handleSlash(line, state) {
|
|
|
229
227
|
(premium ? c.gray(" (premium — needs purchased credits, else falls back to Core)") : ""),
|
|
230
228
|
);
|
|
231
229
|
} else {
|
|
232
|
-
console.log(errorLine(`Unknown model "${key}". Try: core, ultra
|
|
230
|
+
console.log(errorLine(`Unknown model "${key}". Try: core, ultra`));
|
|
233
231
|
}
|
|
234
232
|
break;
|
|
235
233
|
}
|