aether-code 0.6.1 → 0.6.2
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/agent.js +18 -2
- package/src/repl.js +1 -1
package/bin/aether-code.js
CHANGED
|
@@ -18,7 +18,7 @@ import { generateAndApprovePlan } from "../src/plan.js";
|
|
|
18
18
|
import { listSessions, loadSession, loadMostRecent, deleteSession, truncatePreview, sessionsDir } from "../src/sessions.js";
|
|
19
19
|
import { c, errorLine, divider } from "../src/render.js";
|
|
20
20
|
|
|
21
|
-
const VERSION = "0.6.
|
|
21
|
+
const VERSION = "0.6.2";
|
|
22
22
|
|
|
23
23
|
const HELP = `${c.bold("aether")} — uncensored AI coding agent
|
|
24
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aether-code",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Uncensored AI coding agent for your terminal. Type `aether` to launch the interactive REPL — like Claude Code, with no refusal layer.",
|
|
5
5
|
"homepage": "https://trynoguard.com",
|
|
6
6
|
"repository": {
|
package/src/agent.js
CHANGED
|
@@ -113,8 +113,24 @@ export async function runAgent({
|
|
|
113
113
|
throw err;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
// End-of-turn:
|
|
117
|
-
|
|
116
|
+
// End-of-turn: handle three render cases for the assistant message.
|
|
117
|
+
//
|
|
118
|
+
// 1. Deltas streamed normally → close the line we opened with onDelta.
|
|
119
|
+
// 2. No deltas fired BUT the final accumulated content has text → safety
|
|
120
|
+
// net: print it retroactively (defends against any SSE buffering
|
|
121
|
+
// race we haven't seen but could exist).
|
|
122
|
+
// 3. No deltas, no content, no tool calls → the model emitted only
|
|
123
|
+
// internal/whitespace tokens. Show a placeholder so the user isn't
|
|
124
|
+
// confused by a silent turn that still consumed credits.
|
|
125
|
+
const finalText = res.message.content ?? "";
|
|
126
|
+
const hasToolCalls = (res.message.tool_calls?.length ?? 0) > 0;
|
|
127
|
+
if (textOpened) {
|
|
128
|
+
process.stdout.write("\n");
|
|
129
|
+
} else if (finalText.length > 0) {
|
|
130
|
+
process.stdout.write(assistantPrefix() + " " + finalText + "\n");
|
|
131
|
+
} else if (!hasToolCalls) {
|
|
132
|
+
process.stdout.write(assistantPrefix() + " " + c.dim("(empty response)") + "\n");
|
|
133
|
+
}
|
|
118
134
|
totalCredits += res.creditsCharged ?? 0;
|
|
119
135
|
totalIn += res.usage?.prompt_tokens ?? 0;
|
|
120
136
|
totalOut += res.usage?.completion_tokens ?? 0;
|
package/src/repl.js
CHANGED
|
@@ -16,7 +16,7 @@ import { runSetup } from "./setup.js";
|
|
|
16
16
|
import { listSessions, truncatePreview } from "./sessions.js";
|
|
17
17
|
import { c, errorLine, banner, statusLine } from "./render.js";
|
|
18
18
|
|
|
19
|
-
const VERSION = "0.6.
|
|
19
|
+
const VERSION = "0.6.2";
|
|
20
20
|
const MODEL_NAME = "Aether Core";
|
|
21
21
|
|
|
22
22
|
const SHORTCUTS = `
|