ucode-agent 1.45.0 → 1.47.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/README.md +6 -5
- package/package.json +4 -3
- package/src/core/history.js +6 -1
- package/src/core/loop.js +3005 -2885
- package/src/core/provider.js +931 -924
- package/src/core/relink.js +2 -1
- package/src/tools/blocks.js +2 -2
- package/src/tools/files.js +750 -743
- package/src/tools/rename.js +2 -2
- package/src/tools/scaffold.js +502 -502
- package/src/tools/shared.js +469 -389
- package/src/tools/shell.js +844 -818
- package/ucode.js +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# ucode
|
|
2
2
|
|
|
3
3
|
A coding agent that lives in your terminal. It reads your code, edits it, runs
|
|
4
|
-
your commands, and keeps every conversation on disk. It runs on NVIDIA
|
|
5
|
-
Cohere models, all of them free.
|
|
4
|
+
your commands, and keeps every conversation on disk. It runs on NVIDIA,
|
|
5
|
+
Cohere and Nex AGI models, all of them free.
|
|
6
6
|
|
|
7
7
|
It opens on a quiet screen — the name, the place to type, and the version in the
|
|
8
8
|
corner:
|
|
@@ -27,7 +27,7 @@ corner:
|
|
|
27
27
|
add a dark mode toggle that remembers the choice
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
v1.
|
|
30
|
+
v1.46.0
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
A light crosses the wordmark once as it opens, and the three lines under the box
|
|
@@ -87,8 +87,8 @@ Needs Node 22 or newer.
|
|
|
87
87
|
|
|
88
88
|
## The models
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
serve capable models free, and
|
|
90
|
+
Six, and no picker full of names nobody recognises. NVIDIA, Cohere and Nex AGI
|
|
91
|
+
all serve capable models free, and all handle tool calling
|
|
92
92
|
properly, which is the thing an agent actually depends on.
|
|
93
93
|
|
|
94
94
|
| Model | Context | For |
|
|
@@ -98,6 +98,7 @@ properly, which is the thing an agent actually depends on.
|
|
|
98
98
|
| Nemotron 3 Super | 262k | strong all-rounder, quick to start |
|
|
99
99
|
| Nemotron 3 Nano Omni | 256k | small, fast, reasoning tuned |
|
|
100
100
|
| **North Mini Code** ★ | 256k | the default — built for code and interface work, quick to answer |
|
|
101
|
+
| Nex N2.5 Pro | 262k | new agentic coder, on trial — can stall on big builds |
|
|
101
102
|
|
|
102
103
|
`/model` shows them and switches. `ucode -m cohere/north-mini-code:free`
|
|
103
104
|
starts on one.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ucode-agent",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "ucode - a terminal coding agent that reads, edits and runs your code, on NVIDIA and
|
|
3
|
+
"version": "1.47.0",
|
|
4
|
+
"description": "ucode - a terminal coding agent that reads, edits and runs your code, on NVIDIA, Cohere and Nex AGI models.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "ucode.js",
|
|
7
7
|
"bin": {
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"llm",
|
|
39
39
|
"nvidia",
|
|
40
40
|
"nemotron",
|
|
41
|
-
"cohere"
|
|
41
|
+
"cohere",
|
|
42
|
+
"nex-agi"
|
|
42
43
|
],
|
|
43
44
|
"author": "om dixit",
|
|
44
45
|
"license": "ISC",
|
package/src/core/history.js
CHANGED
|
@@ -100,7 +100,12 @@ export async function save(session, { home = HOME } = {}) {
|
|
|
100
100
|
const temp = `${target}.${process.pid}.tmp`;
|
|
101
101
|
|
|
102
102
|
try {
|
|
103
|
-
|
|
103
|
+
// Compact, not pretty. The whole file is rewritten after every tool
|
|
104
|
+
// result, and on a long build with file contents in it the indentation was
|
|
105
|
+
// roughly half of what got written each time — for a file read by programs,
|
|
106
|
+
// not by people. `node -e "console.log(require('./x.json').messages)"` or
|
|
107
|
+
// /resume reads it either way.
|
|
108
|
+
await fs.writeFile(temp, JSON.stringify(session), 'utf8');
|
|
104
109
|
await fs.rename(temp, target);
|
|
105
110
|
} catch (err) {
|
|
106
111
|
await fs.rm(temp, { force: true }).catch(() => {});
|